Finishing a game as a team of developers is already as hard as it is. Finishing a game as a solo developer is even harder. The mental challenges, the feeling of being overwhelmed by the sheer amount of things to do, can easily stop you in your tracks. Judging the amount of work one has to put into a game, and the possible reward that will be received from it, can be a deciding factor when deciding, if you should stop or not.
Since the day I started, that was the case for me. I created some features, some abilities, simulations, but I never got to a point of a playable demo... Until i decided it was time to finally finish something. Coincidentally, I found this Gamejam on Itch.io, which i took as a clear sign of what needed to be done. Finally Finish Something Gamejam (FFS for short, I'm not joking, that's how it was named).
While being aware of all the challenges of developing a game as a solo dev, I knew I had to start working on some creative solutions. From this point on, you can watch the 2 minute video, for a recap how I overcame certain challenges, or you can just keep reading for a detailed overview.
I have been working in unreal or a year and a half at that point. I had taught online, and had created some features on my other projects. One of the main factors of why I couldn't finish a game, or lacked the motivation to do that earlier, is my lack of knowledge in 3D modelling and animating. That's Challenge #1 - Models and Animations (two in one) that I had to overcome in some way - and here's what I did. As I had tried to learn blender earlier, and failed at it miserably, I decided that the 1 week span of the Gamejam was not the right time to start learning again. Instead I used *Drumroll* Paint 3D. I created simple, separate parts of the character in the super-simple (and super restricting) software that is Paint 3D.
The bracelet
The sword
Parts of the upper body
Eyes
Simple-Symmetrical Texture of the main Character
Were all created by me in Paint3D. After assembling my character in Unreal, I felt that it looked okay, so made the decision to move on and not waste anymore time (Time management 101).
Now that is only 1 part of the challenge. What about the Animations?
My character is supposed to be a cyborg, created to be very fast and efficient at everything it does. I decided to create this sense of speed by creating matching trace particle effects and two-frame animations (basically poses). Thus, instead of the animations being 'bad', they were now displaying a message, communicating the speed of the character.
With that, we move to Challenge #2 - The gameplay loop
I love sword combat, hack and slash type games, rouge-likes, and unrealistic-parkour.
I took that whole sentence, optimized it and put it all in my game.
I wanted to create a dynamic, where the actions don't get boring, but follow a certain chain. Instead of one room full of bad guys after another, I decided to switch it up a little.
The player moves from one room to another, by wall-running, platforming, and dashing mid-air. This way, I created an alternating loop that keeps the player entertained by the variety of things that are happening, while also not overwhelming them. Also, added the combo-counter (with comments) and the kill-counter, to give the player a small display of how well they are doing. Combined with the simple to understand UI and level design, and we have ourselves an enjoyable gameplay loop.
Challenge #3 - Wall-running (with a one dimensional blendspace.)
Blendspaces, are spaces, that blend animations. There are one-dimensional and two-dimensional blendspaces.
One dimensional blendspaces blend animations based on one parameter (mostly speed). While two-dimensional blendspaces blend animations based on two parameters (mostly speed and direction the character is facing).
I have already stated, that animating is a big No-No for me, at least for now. Also, having a two dimensional blendspace requires additional camera control, and animations based on rotation, so in this project, I went with a one-dimensional Idle - Run cycle.
With that out of the way, I will say why wall-running was the challenge. With two dimensional blendspaces, you could have your character move to the side, while keeping their body and camera rotation forward, which is the case when you have the character rotate towards movement.
Creating a wall-run functionality is hard for my character because of one thing. I need to set different animations based on which side the wall is from the character.
To explain the the process further:
The character needs to rotate towards a wall to start running on it.
Once the line trace from the character hits the wall, i need to find out, on which side the wall is from the player.
Considering the fact that the player is always facing the wall to wall-run, I needed to find another
method outside of just tracing from the character, because the wall is always in front of the character.
That is why, I though of this weird way of calculating the position of the wall.
(It's not stupid if it works)
I found the location where the trace hit the wall, then I got the world location of that point, then I converted it into screen space, and then I calculated on which side of the screen it was. Since the player is always in the center of the screen, this method will always work correctly! (unless the player decides to run forward while looking back, of which there is no incentive to do in the game, so we will forget that for now).
And that is how I solved that. Took me a couple hours, but after I finished that feature, I was really proud of myself.
Conclusion: While only having one week, and not having any paid or free assets (outside of the base model and a running animation), working on this game was challenging.
Overcoming some of these challenges, and coming up with solutions while the deadline is approaching, was exciting to say the least.
Finally finishing something, even creating a demo experience, was an incredible feeling for me.
It gave me the much needed boost of confidence, while also underlining how tough the work of a game developer really is.
I found more respect towards those in the industry, and towards those who are in a similar situation as I am.
I am genuinely happy, that I spent those 40 (Maybe even more) hours working on this game.
Tackled some features like a Tutorial, Animated Start Screen, Camera Sequences, Wall-running, that took me a while and I loved every second of the process of creation.
It easily became clear to me, once again, that this is what I want to do for a living.