Jay in Love Garden – Ludum Dare #34

Not my first compo but first LD entry. This Ludum Dare had two themes because of vote tie. This Post Mortem was originally posted on Ludum Dare website.

Play My Game on the Website!

Go play here -> http://ludumdare.com/compo/ludum-dare-34/?action=preview&uid=62744 or (mirror) here http://Namek.github.io/jay-in-love-garden/

Idea

My first LD entry. So, basically I started with empty head. I disliked the Two Button Controls theme because it’s too wide about stories so I put my efforts into the second one – Growing. I asked myself for a lots of features but I started with actually no framework at all so I ended up with only the core mechanic and “story”.

Story

My game is about Jay who just got a new job. His task is to collect fruits – but those are special fruits! Money grow on trees. Business man allows to take Jay the extra cash.

Title

The little meaning of title reveals in the New Game +. I planned to do more about it but… read the rest of post mortem.

Mechanics

I was sure that instruction picture will be not easy to understand but didn’t put much time into it. Rules are simple:

  1. you have to stomp (SPACE key) close to tree and you’l get big green leafs
  2. stomping by small green leafs makes them yellow
  3. yellow goes fast to red which is LOST MONEY

And: you run out of time and have to collect enough money leafs to win the level – but I suppose this fact is pretty easy to guess.

Difficulty Balance

Overall, there are 4 levels. Some say that first level is very hard it actually teaches you what you’re waiting for in the game mechanics (tip: you’re waiting for well grown leafs to collect them). What I probably did wrong was to make player go to first level every time he loses. In the other hand, it’s challenging what was more important to me in the time of making the game.

Assets

Programmer art done in Paint.NET. Didn’t have enough power to make any (even silly) sounds, had to wake up next day to my job (Europe here).

Code

I was coding in Java + libgdx + artemis-odb (Entity Component Systems). I had to code some (really) basic renderer [0], collision detection or camera system so most of components (11 of all 16) [1] were tech stuff rather than game mechanics. Took some time to partly make a system for dialogs [2] which actually ended less sophisticated than planned but supports multiline text! Few hours before deadline I actually tried to put some test build on the LD page and noticed that I could embed my game but it’s resolution has to be maximum 900×600 – took me another very tiring 2 hours to fix the game so I could have map scrolling and overall camera system at all.

Last two hours I’ve spent fighting GWT (to build Java -> JavaScript) and a little of JS + CSS because couldn’t properly embed the game to LD website. But I managed to hack some browser events and little css for basic gdx html template and it all worked – you can play on the website with no quirks like a jumping web page on space key.

In the end I was afraid about rebalancing [5] the game so I made it little easier (!) than it was before.

It all was simple but took time anyway so I finished with less features in the end.

New Game +

That was really one of the latest things I did before final uploading. If you don’t want spoilers then just play the game. Otherwise you can take a look at dialog [6], “thanks” picture [7] and the code for it [8].

Code Resources

[0] general renderer + backgroundgeneral renderer part 2 and leaf rendering system
[1] components
[2] dialogs
[3] dialog renderer
[4] my setup for embedding libgdx game to LD iframe
[5] levels balance
[
6] “congrats” dialog
[7] textures
[8] code for New Game +