Since the start of my “gamedev career” I’ve always looked up to these magicians who were able to create whole games in just a few hours or days. I watched postmortems of jam games on YouTube and wondered if I was experienced enough to participate in a game jam. So a few weeks ago, I finally decided to jump in and join my first Ludum Dare, and (spoiler alert) it was a blast.
Preparation
Since it was my first time, I was a bit nervous and didn’t know what to expect. So I wanted to plan ahead and be as prepared as possible.
I started my preparation by cleaning out my desk. Turns out that was a really good idea, since it was not only crammed with useless stuff, but also a bit dusty. It felt great to start off with a clean working environment.
Next I went shopping. My plan was to waste as less time as possible on cooking and eating, so I stocked up on food that was quick to prepare, but still relatively nutritious. I also got some more or less healthy snacks, enough coffee to last me through the weekend and four cans of energy drink.
The jam started at 3 am local time for me, so I had to decide whether to stay up longer or go to bed early. I went to bed at 10 pm the evening before, set my alarm to 6 am, got 8 hours of sleep and only “wasted” 3 hours of the competition.
The first hour: Concept
When i woke up at 6 am, I immediately checked the theme on my phone. And I was happy, “Keep it alive” had been one of my favorites. So i got up, made some coffee, and booted up my pc.
First I took out pen and paper and wrote down anything that came to my mind. I relatively quickly settled on the idea of a gardening/farming game. Next I started to look up stuff about agriculture, different crops, farming techniques, and associated risks and tried to make game mechanics out of them. I also looked at other farming games and thought about how they might work behind the curtains. After about an hour I had a concept, some mechanics, and an idea how to implement it.
Day One: Implementation
The first functionality I implemented was the time based growth system. My plants would have 5 growth stages, ranging from seed to fully grown, harvestable crop. I decided to base the growth rate on ticks, each tick lasting a few seconds in real time. Crops would have a predefined amount of ticks it would take them to grow to the next stage. With each tick, every plant would check if enough ticks had passed, and would then proceed to grow. The plants would also lose water every tick. When it reached half water capacity, they would dry out and stop growing, and if it reached zero, it would die.
Afterwards I built a really simple top down character controller that could walk when pressing WASD. Next I started to work on tools. I implemented a hoe, a seed bag and a watering can. I also added a “use tool” method to the character controller, activated by pressing space. Targeting a plot was simply solved with a trigger collider on each plot, and the player controller remembering the last plot that triggered a collision.
Another cool little idea I had was the weather affecting the plants. I decided to add rain that automatically watered the plants and was triggered randomly, lasting for four ticks.
Later I also added pests and pesticide, because the game felt a little too simple. Each tick, the plants had a chance to get infested. If the player didn’t save them fast enough by using the pesticide, the plant would die.
Last but not least I built some UI elements for the clock, the calendar, and the amount of seeds the player has, a quick dialogue text box and some tutorial text.
When I finally looked at the clock, it was 2 am. I had worked for almost 20 hours, only taking small breaks to cook, eat, make coffee and go to the bathroom. I was exhausted and went to bed.
Day Two: Polish
On day two I woke up at 10 am and started to work on polishing the game. I improved all the sprites, added little mechanical improvements here and there, playtested the game, tweaked some numbers and fixed all the bugs I could find.
I made some background music, added sound effects, some animations and background decoration. I also used my new drawing tablet to make some start and end screens for the game.
When all that was done, I took some screenshots, built the Windows, Mac, Linux and WebGL versions of the game and uploaded everything to my website and the LD page.
After 11 hours of work I was done polishing. I had completed a game in less than 48 hours, and I was happy with it.
Rating Phase
When the first ratings and feedback came in, I was really proud of myself. The commenters seemed to like my game, the humor and the polish. There were some negative points, but it was good constructive criticism, so I took note and was happy regardless.
I also played a lot of other games and I was really impressed by the variety of creative ideas sprouting from the theme.
What went well
In retrospect, I feel like my overall planning and scope was pretty good. The split between one day for the concept and the implementation and one day of polishing had really payed off. The scope of the game was small enough to be finished in 48 hours and still had enough complexity in it to make a fun end result.
I also learned about tools like BFXR and a lot of cool new features in Unity I wanted to try out for a long time, like the new Tilemap and the Pixel Perfect package. It was also my first time to go through the release process of a game, which was a cool experience and a big motivational boost.
What didn’t go well
What I didn’t like was the total amount of time I had put in the game. Over the weekend I had worked for a total of 31 hours with only a few small breaks here and there. I was really exhausted and felt like my head was spinning after I was done and had submitted my entry.
I also noticed that while I’m pretty experienced on the coding side of things, my art and music skills are still lacking. The sprites and the start/end screens don’t have a coherent style, the color choices are all over the place and the background music feels a bit out of place too.
Conclusion and Outlook
I will definitely join the next LD as well, as I had a lot of fun that weekend. I want to improve my art and music skills for the next time, as I feel they are not on par. I will try to take more breaks next time as well, so I don’t overwork myself.
One of the biggest impacts the jam had on me was the big inspirational push. For the last years I was stuck with my current project and I kept losing motivation day by day. Last week I opened the Unity project of my jam game again and started ripping out stuff I didn’t like. I also started to implement new things I wanted to experiment with, like the new 2D lighting, narrative writing and event based systems. I don’t wanna abandon my old project, but it feels good to at least take a break and learn some new stuff in the meantime.
If your read this far, thank you for joining me on this journey 🙂
Special thanks goes out to my coffee machine – I don’t know what I would have done without you. Also to my brother for playtesting the Windows and Mac versions.