So, like a lot of people in the US (and world), I’m currently in a self-isolation situation. I’ve always wanted to try working from home for an extended period of time, but last week wasn’t quite what I expected. The main reason being that when working from home in normal circumstances, I can leave whenever I want to go to the store, get lunch, coffee, jog, etc., without fear of contracting a highly contagious and deadly virus. For now, I’ll be in my home office working at my day job as well as my indie endeavors.
With the extra time at home, I’m hoping to get more work done on some of my indie endeavors. Admittedly, due to a lot of anxiety from the situation, I wasn’t as motivated as I usually am, but I’m hoping now that things have settled a bit, I’ll be able to focus more. That being said, here is the current state of my projects.
MerFight Version 0.8.0
I’m making decent progress on MerFight. I have 8 of the 12 characters playable. The latest characters are Naeco who uses poisonous claws to infect enemies, and Enjellique, who can control different a magical jellements. The game is playable in open alpha through itch.io and Game Jolt. I’m always looking for feedback, especially on the gameplay, so feel free to try it out.
My Patreon is still active. I’ve been trying to upload new builds of prototypes there. I’ve yet to, but I also want to post tutorials, particularly focusing in the rollback netcode implementation I’m using for Unity.
That being said, I’m having second thoughts about it. Though I really appreciate my patreons motivating support, I don’t have many, so sometimes I want to show a prototype off or have more people try it, but I also feel that isn’t fair to my Patreons. Additionally, given the current situation, I feel like the money going towards my Patreon could be used for more important things.
So, I’m on the fence. One idea is to pause it. Another idea is to cancel it entirely. A third idea is to make it free temporarily. I’m not sure. Regardless, I’m still thinking on it and planning what to do when April arrives.
Besides my Patreon, I’m working on a few other projects.
I started doing some research for a 2.5D fighting game involving swapping parts as well as fighting on a cylinder. It’s inspired by a 90’s toy called Socket Poppers. I even bought some off Ebay to study them — though admittedly the study wasn’t super fruitful.
I also a prototype, one that I want to be part of the rollback tutorial I started. It’s a game where you try and enter various fighting game inputs as quickly as possible.
But going back to what I said about my Patreon, a part of me does want to finish and release it, maybe even for free just to get more eyes on it, but again, that wouldn’t really be fair to my Patreons.
For the rest of March and April, I have some things to think over. Of course, staying in and trying to be healthy and not catch or spread COVID-19 is my current, top priority. Stay safe and well and inside (if you can), everyone.
So, it’s 2020. Unfortunately, this year is off to a semi-rough start for me. It started with anxiety and sickness, and now, I’m having some dental woes. Just 2 cavities, but I’ve had cavities turn into a lot more; I’ll be fine regardless, but it’s never fun. That being said, I wanted to write about what I plan on doing in 2020.
2019 was pretty much the year of MerFight. I really hit a stride with the game, creating every character model, implementing 5 characters, and showing the game off in public. I still have a long way to go though.
Despite my progress, I did, however, experience some burnout in 2019. For 2020, I made a schedule I want to try and keep up with to get decent work on the game done every week but also use as a reminder to take breaks and limit how much I work to prevent a similar setback.
Anyway, here is a rather lofty list of things I’d like to accomplish or start in 2020. I will NOT get all of these done; heck, I may not even touch some, but I like having a lofty list.
There are 7 characters left to finish for MerFight. Plus a ton of other features, and polish, so the chances of finishing it in 2020 are near impossible, even if I worked intensely on it everyday. Showing the game off at a convention like Combobreaker would be cool; however, I think in trying to do so, I would burn myself out, so I’m going to, instead, focus on trying to get it in a good state for 2021.
New Game Prototypes
I have some new games I’d like to start prototyping and get to stable enough states that I can pause them. Most are fighting games — shocker. I started doing an interactive roadmap, but that began feeling cumbersome to update and share, but here is a current list:
Swapping Limb, Uh Cylinder Fighter
A fighting game that takes place on a cylinder or a round arena. Goal is to create a 2D fighting game without corners. I also want to allow players to create unique characters by swapping limbs, inspired by a line of toys I had growing up in the 90’s called Socket Poppers.
I feel there have been fighting games with RPG mechanics, but not one like I’m looking for yet. I experimented with this last year during a jam week, and this may be my fallback game if I find my rollback netcode results are abysmal.
CupKick is a 3D fighter I’ve been wanting to do for a long time. It has 3 unique aspects. It only has two buttons (punch and kick), it has no visible UI (clothing destruction is used to display damage), and all characters are based on different desserts. Unfortunately, the more I’ve explored the design of this, the more I find that doing all 3 things might be difficult. I’ll continue to explore and contemplate this idea though. Maybe it’ll end up being two different games.
Battle High 2 A+ Update
I’d love to do a Battle High 2 update. There is still one unfinished character, but I’d also love to see if I can integrate my rollback netcode to the game. I think I need to release or get more comfortable with said netcode in Merfight or another release first though.
This is lofty, and I don’t even see myself starting this till 2021, but I wanted to do a game where it starts as a 3D fighter, but you can switch to a 2D fighter. So imagine Bloody Roar, but when in animal form, the gameplay changes entirely for both players. Could it be a disaster? Sure, but I’d like to at least prototype it.
Though many are game development related, there are some other goals I have for 2020.
Rollback Netcode Tutorial
I’m currently working on this, but I’d like to make a tutorial for my rollback netcode approach in Unity and share it. I may start this with just my patrons though, but we’ll see.
I want to start a Mattrified Games discord. I’m hesitant because I know I won’t be able to be on it all the time, and I know there are some issues with hosting a server, but it’s something I’d like to try and have a hub for people who like my work to interact with me and each other.
In 2019, I did a few gigs using my biped constraint script in 3ds max. I’d like to continue some work with this. I’ve contemplating cleaning and releasing the script or maybe making it a fiverr gig. I’m not 100% sure, but having a way to make a few extra bucks with the script from time to time would be nice.
Attend Combobreaker (or some other gaming con)
I’ve been to EVO and Magfest, and both were fun to a degree. I felt a bit out of place at EVO, and I was showing a game off at Magfest so I didn’t really get to enjoy it entirely. That being said, I hear good things about Combobreaker and would like to attend this year, but NOT while showing a game. Though showing MerFight at Combobreaker would be cool — if accepted — trying to get something done by May would be a hassle and probably cause burnout. I’d rather attend the convention first, see how it is, and then think about showing the game off there.
This is a lot of stuff. Additionally, I also have the usual resolutions like being kinder and healthier. But from this list, I’d be happy if I could accomplish just a few items. So, though 2020 is off to a rough, uncertain start, I’m hoping the schedule I developed can help make it more productive and positive than 2019.
Decided since it’s the 11th month of the year to write a dev log about the progress of my current games and projects.
MerFight: A Show, UVs, and More
MerFight has been making steady progress. I’m trying to update builds regularly on itch.io and GameJolt. In late October, I took the game to a local indie game showcase presented by Bit Bridge in Pittsburgh. I think it went well. Players seemed to enjoy the game and understand the input system relatively quickly. There were a lot of “Wait, how did I do that?” questions, which is understandable. Demoing at any shows can be difficult, especially a fighting game, and even more so if the show is not fighting-game-centric. Regardless, people seemed to enjoy it. Here are some things I learned for the next update:
Making Marketing Materials Is Hard
For the show, I wanted to make a brochure for the game to go over the different features of the game and whatnot. Unfortunately, I decided very soon before the show to do this. So it didn’t quite come out as I would have liked it. Even worse, I forgot to include a link to the game’s itch.io page for downloading. Fortunately, I only got 25 printed from Staples; amusingly, the person who gave me my order even seemed interested in the game, which at the time, really caught me off guard.
Additionally, I made a poster to put on the monitor displaying the game. I was able to get it working with some “duct-tapery,” but it did not look very clean. Regardless, the lesson is to start marketing materials much earlier and test things out beforehand.
The only real crash in my game occurred when someone tried to use the online mode. I didn’t bother connecting to the Internet, so the game just threw an error. So I was happy I didn’t come from the show with a huge list of blocker bugs to fix — though I’m sure there will still be a ton. That being said, I did notice one major gameplay flaw, that being that most of MerFight’s attacks don’t have enough pushback. I watched one match where the player just light and heavy kicked to win. Even when blocked, the distance between the players was so small, that the winning player easily was able to just walk up and continue spamming these attacks. I also think lack of pushback is a complaint for Battle High 2 A+, so this will be something I will be addressing in the next MerFight build.
I started working on new characters for MerFight. There’s Octonia, an octupus-inspired wrestler, and Naeco, a clawed fighter dealing with barnacles. (And yes, I know Naeco is just ocean backwards. It was either that or Aes.)
I’m at a crossroads now that I’ve made these two. Should I continue modeling the rest of the game’s cast or should I move onto animating them? I have this bad tendency to do one task — create a character — then move onto the next part — animate and implement the character. When it comes time to repeat the original task for a new character though, I forget a ton that I learned, even if I document, it’s not as fresh and sometimes I miss nuance in said documentation.
For example, I’ve greatly improved the texture maps for the characters. For comparison, Strike textures include:
Body, Arms, Legs, and Head
Meanwhile, Octonia only has
Body, Arms, Legs, Head, and Nails
Teeth, Eyes, and Tongue
Tentacles and Hair
Essentially, I almost cut the number of meshes and textures in half. Had I moved onto animating her and not creating Naeco, I wouldn’t have found a way to simplify it further. I found a way to put the eyelashes onto the new texture, which is nice because I know longer have to deal with a sub-material setup in 3ds max or Unity. They aren’t hard to setup, but can be annoying.
By default, Character Creator 3 characters have their arms, legs, head, body, nails, and eyelashes all split into submeshes, which require one texture and material for each. This isn’t the most efficient, so I now have a way to combine my meshes and materials and require fewer meshes. In the UV above, there are some large gaps, but this is where Naeco had mesh removed to prevent intersections with his clothing. The current UV setup is done so that it can work with any character from CC3 regardless of how much of the original mesh is intact.
I’ll be writing more on this process in the next couple of days, probably posting here, with some additional info on my Patreon.
So what’s next for Merfight? Well, again, I’m unsure if I should model the remaining 5 characters or begin implementing Octonia and Naeco. I’m leaning towards more modeling, especially because, in reality, I’m going to have to remodel or at least make fixes to the remaining characters, so I could, in theory, do a first pass on the rest of the characters. Additionally, I may find some more ways to improve my pipeline and process.
Regardless, I’d love to get one new playable character before 2020, but if I decide to model the remaining characters, this may become rather difficult.
In addition to creating characters for MerFight, I’ve been working on some prototypes.
The idea behind this prototype is that a lot of fighting games seem to focus on getting your opponent in the corner. Though I know there are some 2D fighting games without corners, I wanted to make one that definitely doesn’t have any. Plus, I think the circular concept could create an interesting perspective or, for example, have projectiles that travel the entire circle or something instead of just disappearing off screen. I also want the surface to not be flat either. This is probably about 5% done, but close to have an early build for people to test, see if the online works, etc. I’m not sure of the theming yet, but this is still something I’m interested in pursuing.
2D -> 3D Fighter
A few months ago, I wrote a tutorial on creating a 3D fighting game camera using Cinemachine. This began because I was experimenting with a game that used both a 2D and 3D camera and switched between them. In my head, I feel it could be interesting to have a game that plays like a 3D fighter and then a 2D fighter. This is even barely in development though, and probably something I won’t touch for some time.
Despite having prototypes in the works, MerFight is my main focus as I’d like to finish it before 2022 (hopefully earlier). Just, as a solo dev, this stuff takes a long time. Fortunately, having shown off MerFight in October, definitely did help with my motivation.
Golem Jox 3 (GJ3) is a prototype demo I developed during Schell Game’s Jam Week. Here’s quick preview:
Essentially, once a year the studio “closes” and allows its employees to work on whatever they want – within reason. Usually I work on something fighting game related by myself. Last year, for example, I worked on developing something that utilized my own rollback netcode solution in Unity. This year I decided to experiment with what I was calling a “Single Player Fighter” or “Fighting Game RPG.” Someone suggested a fighting adventure game; someone else, a turn-based fighter. I’m still not 100% sure what to call it, or if it’s even that unique as apparently there are a few games that have attempted similar approaches. The game flow is rather simple.
Player explores rather simple environments
Player encounters an enemy
Short dialog introduction
The player’s turn begins where they attack the enemy, trying to perform the most damage in an allotted amount of time
The enemy takes their turn
Repeat 4 to 5 until someone wins
If the player wins, return to 1; otherwise, end the game
I find one of the primary goals behind prototypes is to answer questions. Here are some of the questions I was trying to answer a lot of questions with GJ3’s prototype:
How should the player explore the environment?
I decided to just have the player explore the environment like they would if they were in a 2D fighting game. I feel if I – especially within the 4 day jam period – tried to implement a top-down RPG exploration map or 4-way movement system, I wouldn’t have gotten to answer a lot of the other questions I was trying to answer. This also allows players to practice various moves, and I can “teach” how to perform different attacks in the environment.
Do character move sets evolve overtime? If so, how?
The Golem Jox theme sort of comes in for this. Golem Jox is a silly IP that I used for Jam Weeks in the past in which players control a “golem” or just an entity made of random things. You start off as “Juhnk,” a golem made of white cubes. As you progress, you swap and equip different “limbs.” Some of the limbs are more powerful than what you previously had, either granting new moves, having more attack power, or granting other changes such as increased max health. I sort of “force” limb switching by locking off sections without wearing different limbs. Most people during playthroughs didn’t switch back after going through a “door” and then realized the new limb or move set was better.
For this prototype the idea was:
Your base or body, torso and head, determined things like your walk speed, jump weight, max health, etc. Unfortunately, I didn’t get very far with these.
Left arm was for weak or light punch
Right arm was for strong or heavy punch
Left leg was for weak or light kick
Right leg was for strong or heavy kick
Players were then supposed to have a forward and/or back special move for each non-torso limb and a super attack, but this sadly didn’t happen due to time. In the prototype, they got unique limbs and some had unique special moves, but supers were never implemented.
How do you prevent players from sticking to one set?
Sadly this question is still unanswered. What I wanted to do is that the player does not level up based on how many matches they win, but by how often they use a limb. So, for example, if I’m level 1, and I use my left arm 5 times in one fight, and it levels up to level 2, then I level up to level 2 as well. However, if the same limb is level 4 and maxed out, then I will no longer gain EXP for using it. As a player, I’d have to make the choice, “Do I keep using a limb I’m really good with or do I equip a newer, maybe weaker one, so I can continue to level up overall.”
Again, unfortunately, due to time, I didn’t get this far, but is probably the first question I would try to answer next if I were to continue to polish this prototype.
I think the other, final question, that I’m not 100% sure is answered, is will a player enjoy this gameplay loop. That’s difficult to tell without more work, but based on the playtest I had, I think, with a lot of polish to the combat itself, I think they could.
Learning New Tools: Playables
Learning is an important part of Jam Week. Besides learning the answers to prototyping questions, I often decide to try something new. This Jam Week in particular, I decided to work with Unity’s Playable System. One challenge with this game is that characters would need to be able to choose from a wide variety of animations; however, having all of these animations loaded at runtime would probably not be very efficient.
Take remedy this, I utilized the Playable System. Unlike a Unity’s runtime animator controller, you can dynamic build a Playable System at runtime. So, for example, if a character is equipped with a cubic right leg, I can utilize an animation, let’s call it, “cubic right kick.” If I then equip a spherical right leg though, I can replace it with “spherical right kick.” All I have to do is rebuild the playable graph and apply it. There is still a lot of finesse needed, such as how to make the animations blend cleanly, but the playable’s system ability to load animations dynamically definitely make them seem like a great. The system also has some strict rules such as you MUST destroy a playable graph once you’re done with it.
Getting something playable — not pun intended — felt nice, but there is still a lot that can be done.
This is just a prototype, but also something I’d like to continue at a future time in some capacity. I think the following are things I would like to answer in the future:
Should there be guard functionality? If so, what does that look like?
Can this work with an original IP that does NOT involve swapping limbs?
Would swapping “styles” like in Final Fantasy Tactics work better?
How many moves does a character need to make them feel “complete?”
Can you have multiple characters on a team?
If you have multiple enemies on a team, can you change position and try to line up a “shot”?
And this is just a few questions. Overall, there is a lot that would need to be done to make this a full game; however, I think Jam Week gave me a good head start to understand the idea a lot better. For now though, I’m most likely going to continue with MerFight and give this a break for a few weeks before returning to it with fresh eyes. I’d like to eventually release this prototype to the public to try, but I think it needs a bit more polish before that.
It’s officially 2018! With a new year comes new hopes and dreams and ambitions — 5% of which will probably get accomplished or worked towards. Despite this, I think it’s still important to establish these goals. Anyway, this post will go over how 2017’s game development went and things I’d like to shoot for in this new calendar year.
Battle High 2 A+
I started 2017 by showing Battle High 2 A+ at MagFest. It was an exciting trip, although a little stressful. I really enjoyed showing the game off to potential new players; in fact, I did again at the Pittsburgh Retro Gaming Convention in March followed by a small tournament at ReplayFX in the summer.
Besides showing the game off, I also wanted to try and get a new character in the game; however, I got distracted by TrueSync, which I’ve mentioned in previous posts and will discuss later in this one. The big issue is that adding new character isn’t cheap, especially this one as all of the sprites aren’t finished. I could try and release the character as paid DLC to make up for some of the cost; however, that involves extra work — integration, VO, new music, etc. I’m not going to say that the new character won’t come in 2018; however, it’s definitely lower on my list of priorities.
In 2017, however, Stream Greenlight was replaced by Steam Direct, allowing indies to publish their game onto Steam for a small fee, so I spent a small part of November and December releasing the game on Steam, so though I didn’t get a new character into the game, I did get it released on a new platform to hopefully expose the game to more players.
I’m not sure what my goals for Battle High 2 A+ will be in 2018. I’d love to get the new character done, update the 3D backgrounds, or get netplay working; however, these are all currently low priority to me. I’m super grateful for the fans of the game, and I know I could do a lot more to make the community grow; however, I want to move onto new ideas, a lot of why the TrueSync stuff was such a distraction though a very good one. I’m not going to say the game is dead and that I’m never going to work on it, but I’m not going to promise tons of new content or changes either. I think the most I will do is work to make sure all versions — itch.io, Game Jolt, Steam, and Xbox One and all consistent and up to date.
Project MerFight was a rough part of 2017. For awhile, I wanted to work on a tactics RPG with fighting game elements. I learned a lot about art, pathfinding, and more; however, as I worked on the project, I just felt overwhelmed, that it was too big for me to take on by myself, that I was focusing on areas that just don’t really interest me that much.
With that, I made the difficult decisions, despite months of work, to put the game on hold indefinitely. I think what this helped me realize is that I should really only focus on games and aspects of them I’m really passionate about, until I’m able to — if ever — build a team to help me in these others areas. As much as I enjoyed Namco X Capcom, which was serving as a lot of my inspiration, there were features I just wasn’t excited to implement or felt overwhelmed trying to.
Though it feels like a failure, I think what I learned will ultimately help me and future ideas improve. This if, of course, if the information is well documented, something I also want to improve in 2018.
In a previous post, I mentioned TrueSync, a online rollback framework for Unity3D by Exit Games, the company behind Photon. Although not perfect — it’s still in beta — I think it has great potential to democratize deterministic online gameplay for a lot of developers that, like myself, find it rather difficult to approach or are unsure where to start.
I spent a lot of time working and experimenting with it. I made a prototype fighting game using it called ProtoFighter; however, I also want to learn and improve my art and animation skills instead of a majority of my assets being from the asset store. I’d really love to get my own fighting game framework fleshed out so that I can create new games using TrueSync more quickly. This will take some time; for example, I refactored a lot of ProtoFighter so I could make it more extensible with other types of games, and there is still a lot of refactoring work to do.
So 2017 doesn’t sound too exciting. I focused on showing off Battle High 2 A+ and learning TrueSync and chose to “pause” a game idea; however, I did a lot of other things too, but they are all small prototypes, difficult to organize in any meaningful way. Battle High, Project Merfight, and TrueSync are probably the most important when it came to my independent game development.
Anyway, here are some goals I’d like to aim for (not necessarily hit) for 2018:
Develop my fighting game framework and create a prototype with TrueSync
Show off a new game, prototype, or Battle High at another show, maybe one not based in Pittsburgh
Submit a new game idea (not a finished game) to Xbox One for the ID@Xbox program
Better self-care — sleep & exercise more, eat healthier, etc. (really, these are life goals but a new year always reminds me that I should be doing them as I get older)
Better my visual art skills — shaders, Substance, animation, etc.
Write more posts and/or tutorials as well as try dev streams.
Submit a talk to a conference — and do it NOT on the last day for submissions
This isn’t the most exciting list, and I know I won’t hit all of these. Every new year, however, reminds me to step back and really observe and update and pivot on what I’m focusing on. Since one of my goals is to write more posts here, hopefully I’ll write about my progress soon!
So I decided to “start over” with my blog. Blogger or Blogspot or whatever was becoming irritating to use and felt dated. The biggest issue is that writing code samples like this —
public class MyClass
Debug.Log("Hello wor-, I mean planet.");
— was a real pain.
Anyway, since this is the first blog that’ll appear on the official Mattrified Games website, I decided to do a quick retrospective of 2017 thus far.
MAGFest & Battle High 2 A+
In January, I went to my first MAGFest. I went to show off Battle High 2 A+ as part of their independent games areas. It was a great learning and motivating — to a degree — experience. It was fun seeing people play the game and enjoying it. There was even a Battle High 2 A+ tournament, which was awesome as well! I could have definitely done a few things better; for example, not having an attract screen was probably not the best idea. Also, I was at the booth so much, that it was hard to enjoy the festival itself; fortunately, it was 24 hour, so it wasn’t like it was impossible, but fatigue did set in a bit.
I did start a mailing list for Battle High 2 A+ and took it to another smaller and local Retro Games Festival. There was also another tournament at ReplayFX. Like I said, however, showing the game off was only motivating to a degree. As much as I love the Battle High series, I’ve been working on it for a long time. I’m not going to stop working on it entirely, but at this time, I’m pursuing different games and ideas. There is still at least one Battle High 2 A+ character I would like to release, and there is still plenty of time to release said character before 2018, but I’m not going to promise it at this time.
The Aquatic Tactics Fighter
One game I’ve been developing off and on for awhile is a merfolk-themed tactics fighting game. After MAGFest, I took a break from Battle High to work on this idea. I really enjoy developing fighting games, but I wanted to develop something with more emphasis on story and single-player interactions. So, for a bit, I was working on this a game that combined elements of a tactics RPG with those of a fighting game. The problem, however, was that frakensteining the two genres together made me come to a few revelations. One, it’s WAY too monumental of a task for a solo developer such as myself to take on. Though hard, I don’t believe solo development is impossible, but for this game, trying to combine two large genres into one solid idea was intimidating. At the same time, I was discovering that there are parts of tactics games I just don’t enjoy trying to develop or at least don’t feel inspired by. So, due to these two issues, I decided to pause the idea indefinitely.
A New and True Fighting Game
I think one of my biggest regrets with Battle High is that I never took the time to try and develop a online multiplayer solution. I felt very conflicted about the idea, ultimately deciding that the amount of time it would take to implement would be too much. I’d probably would have never released. So around the time I began losing passion for the Tactics Fighter, I discovered TrueSync by Exit Games. This rollback netcode solution was made for Unity and though it’s still in beta, it’s giving me rather promising results.
Now, I’ve yet to really develop anything solid with it, but I’m confident that I can get something sooner than the Tactics Fighter. In fact, I even signed up to give a talk at Unite 2017. I really feel that TrueSync does a great job democratizing one of the more challenging aspects of online multiplayer for action games in a clear, easy-to-understand approach.
Anyway, my year so far started with Battle High, continued with the Tactics Fighter, and will probably end with a TrueSync fighter. I’m hoping to release an alpha of some kind before 2018, before the fall actually. I also plan to write more blogs here in the future; again, I hadn’t been keeping up to date with it because writing code samples, managing images, headings, and more was just a pain. Hopefully in this new format, keeping my game work in one official place will be more manageable — again, hopefully.