Dash of Spirit - Christmas Jame Gam 2021 - Post Mortem


How did you hear about the competition?
I haven't participated in a Game Jam in since 2015 and I knew I had 2 weeks off at Christmas coming up and thought it would be a perfect time to partake in a Jam if I could find one and if I could come up with something for the theme. I have thrown games up on Itch over the past few years and knew about the calendar so I took a look at it (great idea by the way to have that). I found the Christmas Edition of the Jame Gam.

What made you want to participate after the theme of "Save Christmas" was announced?
The biggest worry for me going in before the theme was announced was whether I would come up with any ideas or not as I've been in a creative block the past several months. Thankfully once the theme was announced I came up with a few ideas and eventually settled on Dash of Spirit.

Tell us about your team?

Unfortunately the team consisted of only me this time. I had hoped and tried to find an artist to participate with as the art is always my main demotivating factor because I am terrible at it. Maybe next time I can find an artist.

What is "Dash of Spirit" about?

Dash of Spirit is about spreading joy of the season and turning the villagers frowns upside down (ie Mad -> Sad -> Happy). The game is really simple, you first fill up with supplies from the store then you go out distributing the items. Villagers can randomly reject items you give them and there are asshole villagers that just reject everything no matter what or how many times you give them something.

What are the core mechanics of the game?

The core mechanics are straightforward, generated random characters at random positions with random moods that patrol around the level, you have to try to cheer them all up. 


What went well during development?

I must admit, the whole process went pretty well and smoothly this time, there were just a few hiccups I hit with Unity. The whole process of using Unity is honestly a joke to make games, it is so easy. I regret not switching when I had first heard about Unity many many years ago. Also having CI/CD setup alleviates the whole concern or worry about build problems when you are under the gun to get the game out before the submission dead line.

I was worried for days about all of the custom character art that was required for this type of game as I didn't have the skill nor time to do it all. Thankfully at 4am one morning when I couldn't sleep I thought of a great idea. I would just create several variations of the various body parts then write a generator that would put it all together. This surprisingly was very easy to do, with the exception of one positioning hiccup (below).

What was the most difficult thing during development?

1. Believe it or not, the damn Continue button was probably the hardest thing during this competition. I must've "fixed" the damn thing 5 times. The code behind it and the level loading is actually extremely simple using User Preferences....but some how it kept breaking. At one point it was somehow reading the current level from another one of my games, even though this shouldn't be possible with the preferences. Other times it would seem to be working for hours of testing and then boom the tutorial would go right to the credits screen.

2. Motivation. It is very disheartening to me when I am building a game and the art is horrible. It is very difficult for me to move forward and continue to build out the game/attempt to do the art. Obviously the prototype is a bunch of squares, that is expected but once you start changing it into a game it is tough.

3. I had a few hiccups with Unity. Our character generator was working great but for some reason the sprite was not generating at 0,0 within it's parent even though the code was explicitly setting it. I couldn't figure it out or force it. Eventually I thought I'd try something crazy, I would create the parent at position 0,0 then build the graph of my character THEN move the parent to it's random position within the game. This small change instantly made it work properly. Why Unity ignores the position you tell it's children to be at while creating the graph is beyond me.

4. We also had a problem where I couldn't build the game locally to try stand alone builds. This usually would panic me but I had full CI/CD setup so if I couldn't figure it out I would still be able to make builds from the server. I eventually tracked this down to a bad plugin (2D rigging) I had imported into Unity that somehow broke my build(er??). Removing this plugin enabled me to do local builds again. I didn't spend much time on this because of CI/CD but when I had a few minutes I took a look and found that.

5. Lastly I found a game breaking bug where the characters would generate under the world it seemed. When testing the level directly and using just the built-in game restart mechanism this bug never showed up. Once I started going through the menu into the game, it intermittently started showing up. In the end, it ended up being the AI library sometimes would move the characters x rotation to 90 causing the sprites to not render. I was pouring over documentation trying to figure this out and it was saying just set the updateRotation and updateAxis fields to false and it won't do that.....wrong, it just randomly does it with these set instead of all the time. In the end this was a very simple fix once I found the issue, I just force the rotation to 0 in the Start method of the generated characters. There is still an issue in the AI library where the agents tend to drift towards the center of the map although they do generate positions at the edges of the map as well though.

What are some of the regrets you have about the version of the game that is your official competition submission?

The only regret I really have is the art. I was really hoping to at least build in a simple animation system for the generated characters but I couldn't find a good way to do this in the time we had. I was hoping to use the 2D skeletal system and then apply that to every character as the same shapes and proportions are used for each character. Alas, I couldn't find a way to build the skeleton without compiling the whole thing into a sprite first. I then thought about using a shader to make the feet and legs sway at least. Unfortunately because I made the shoes and pants separate, I wasn't able to do this either.

Final thoughts on the game?
I am actually very happy with the game aside from the art. I initially thought the game was way too ambitious but went for it anyway. I found the last 2 full days were fairly light, I had implemented everything I had wanted with the exception of multiple difficulties and had plenty of time to fix the bugs. Late on the 23rd I decided to implement the difficulty system though as the game's current balance was quite hard, so this became the Hard difficulty and I created a simpler Normal and Easy version.

The game took me just shy of 50 hours to make which is way less than I had thought, this is largely because of Unity. The last jam I participated in was in 2015 with my own engine and spent over 100 hours to achieve way less functionality.

I hope you enjoyed this post mortem as well as the daily dev logs while building the game. I also hope you check out the game and let me know your feedback.
You can play here.

Files

Dash-of-Spirit-StandaloneWindows64.zip 34 MB
Dec 24, 2021
Dash-of-Spirit-StandaloneOSX.zip 43 MB
Dec 24, 2021
Dash-of-Spirit-StandaloneLinux64.zip 50 MB
Dec 24, 2021

Get Dash of Spirit

Download NowName your own price

Leave a comment

Log in with itch.io to leave a comment.