Spacegas development
We sat down a few hours before the start of LDJAM 45 (our first official game jam) with @Osel13 and @Hartvichio to go through the remaining themes that were published. We had some good ideas, but mostly we talked about how we didn't like some of the themes.
When the final theme was announced, we almost immediately had 8 ideas about what game were we going to make. So we started to cut half of the themes, then another half and after a while we had 1 theme left, which was Space farting. Since it was 1 AM in our timezone, we decided to hit the hay. :sleeping:
The next day we expanded on the idea and started to make some basic structures for our game. I liked how we cooperated in the team, when one person needed help, we helped. @Osel13 started to make some models for the main character, @Hartvichio sketched out the intro comic and I fiddled around with physics in Unity to make our guy float in space.
I implemented some movement, finishing condition, death condition and collision with ease in the first few hours and felt like we are on a good track. :sweat_smile:
@Osel13 made some good models and started making music, @Hartvichio created the rough comic version and designed some of the first few levels and some other stuff I can't remember. All together we were paced very well. The end of day was approaching slowly, so we went to sleep.
First problem arose when we started implementing stars and beans, measures of score. Star was a pickup in the level and bean is a par count - maximum number of moves you can make. Implementation of this mechanic wasn't difficult, but it had to be available in every level and in the main menu, because the levels unlock based on score. If you have total of 5 beans + stars, then you unlock the first set of levels, pretty easy to understand. But I wanted this to be edited in one object and not in every level, because that would slow down the development. When this system started to work, I pushed the changes to the team. Easy work so far, right?
And then it broke. :tired_face:
https://www.youtube.com/watch?v=8BbApV2skB4
A lot of people say that premature optimization is the root of all evil. In this case, they would be right. I didn't like the idea of counting stars in every level each time I needed to check if the level user is requesting is unlocked or not. So I tried the concept of a global score updated every time a player reached the exit. But the problem was that the same set of variables that would indicate finishing the level were present if the player exited the level forcefully, either by quitting the level or closing the game program. So after a small panic attack, half a liter of energy drinks, loud music in headphones and dedication I fixed it.
Another morning. Still with great energy we made memes and started our LD routine. @Hartvichio finalized his level collection, @Osel13 was fine tuning the music and I was bug hunting and bug fixing. I implemented proper unlocking to the levels and we were pretty much ready to publish the game. So we spent some time playing it and messing with the parameters. Unfortunately, we all had to leave the "office" (@Hartvichio 's house) because we had to go to school and work the next day. We planned that we needed to create sounds for the game, @Hartvichio said that he could make all of them. We split and slept until another day.
Last day we didn't progress as much on the game work compared to the days before, but we were still really happy we did this. @Hartvichio made the sounds, I put them in the game's code and we were ready to ship it, so we tested some more. We eliminated the remaining bugs we found and published the game.
After first review we noticed that there isn't any controls description, so people might have not known how to play our game. We added this information into the ludum dare description page and that is pretty much end of the story. Porting the whole project to HTML5 was done in matter of 20 minutes and now I'm writing a blog post.
Main takeaways from this jam was that we need a list of things that each game needs and put it somewhere for all the team members to see. Also, make prefabs from scene before your designer starts to make levels. Reworking one detail can be painful afterwards.
Have you played our game yet? Did you enjoy it? Please let us know in the comments what you think about it. We will be participating in the next jam (probably), so we would appreciate the feedback.
Good luck in the jam! :slight_smile: