It’s been a while since the last post, longer than I’ve ever gone without an update, but I’m so proud to say that the prototype is now finished!
At least, the first version of the prototype is finished. There are a lot of things left to polish before I release the playable demo, but as it stands this is the milestone I’ve been working towards for the last 20 months. Over a year and a half, full time, to get to this point! It feels so great to say!
So what’s been added since the last update? Here’s the shortlist:
- Ledges – You can grab onto ledges and do all sorts of stuff from them. I’m very happy with how they feel, especially since they’re such an integral part of the platform-fighter experience. Without them, recovering back onto the stage was much, much more difficult.
- Parrying – While blocking, if you press neutral special you’ll go into a parry animation. If you get hit during the first few frames, you and your opponent will go into hitlag and you can cancel the animation afterwards. If you miss your parry, you have to watch your character finish the animation helplessly. High risk, high reward.
- Special Attacks – These took a ton of effort to get working correctly. Each one felt like the culmination of all my learning on how to program in UE4, but they now all work as I imagined they would when I made their animations. What was especially tricky about them was that each one had to be coded individually of one another since each one behaves so differently. The only thing they all have in common is that you press the same button to start each of them.
- Death and Respawn – Similar to in Smash Bros., the way you die in my game is by falling out of bounds. That’s now working properly and there’s a life system in place to round it out. The game is now winnable.
- Stages – Not only did I create two stages, but I can also create many more very easily. I’d say it takes less than an hour to create a new stage from start to finish, so expect several playable stages in the final demo. I have some really cool ideas I can’t wait to try out!
- Menus – Now when you start the game, you don’t just launch immediately into the action. You can choose what stage you want to play on, you can quit out, etc. They’re not the most beautiful menus ever made, but I mainly just wanted them to work. The polish can come later once everything else is working (e.g. now). I have to say, I never really gave much thought to menus before this other than recognizing when a menu feels really good or bad, but after making my own I now realize there is a LOT that goes into a good menu. So many small details, and all of them are meticulously added in. It really makes me appreciate menus I see in other games and websites now, because even my hastily-made options took a lot of effort.
- Bug fixes and other optimizations – One bug in particular had been a thorn in my side for months, maybe even a year. Occasionally when you got hit by an attack, you would not move at all. You’d be frozen in space, but the game would also think you hit a wall and the ground at the same time. Once triggered, it could not be undone and the game had to be reset. It was really bizarre and game breaking, and it ended up being the very last thing I did before calling the prototype “finished.”
- Exporting the game – This might sound obvious or trivial, but I also exported the game as a stand-alone executable file for the first time. This actually took some work to get running properly! It’s a whopping 800MB somehow, but for my first try I’m mainly just happy to see it working at all. Polish and optimization can come later!
And that’s what it took to get from where I was 7 weeks ago to being “finished” with prototype v0.1. I’ll talk a bit more on next steps in an upcoming blog post, but for now I think this is already a lot of information.
Huge thanks to everyone who has supported me up to this point or just followed along. It took so much work to get to this point and there will be much more to come before all’s said and done. Still, thank you everyone!