The day finally arrives: Ludum Dare begins! Excitement, nervousness… and a few drinks.
See, on Friday night I got a text from a friend asking me to come out for a few drinks and I naturally obliged! So off we went for the famous ‘few drinks’. It was around 12:45AM that I realised I probably wasn’t going to start work on the project, when I pissedly checked the Ludum Dare website to find out that the theme was to be Connected Worlds. Two hours later, I was happily tucking into a kebab, thinking blurry thoughts about what I could actually do. Eventually, sleep took over and my mind rested.
And then I woke up.
Have you ever tried being creative on a hangover? It’s shit. Seriously. I wasted about 7 hours trying to get my brain to actually do something beyond request tea and nicotine, but that didn’t quite work out as I would have liked. Eventually, something happened, and my brain churned into action — or at least something similar to action — I managed to come up with a general theme idea for the game and started work hashing out rough ideas.
Here’s how 14 hours of my first day in Ludum Dare went:
Initial (unproductive) 7 hours
You want food, right? I want food. Maybe tea. This tea tastes like nothing. Cigarette. This cigarette was sad and unsatisfying. Shower? Huh, that helped a little. Wait, we still have kebab left?
Latter (productive) 7 hours
I had a few ideas in my head of what to build, many of them became unnecessarily complex and abstract and were duly committed to the depths of hell (which is actually somewhat ironic given my thematic choice), others were put on the backburner. About halfway through my brainstorming session, my girlfriend gave me a fantastic mechanic idea for a game concept I’ve been struggling with for a while; that got added to my wiki (for posterity) and I hope to start work on that after resting a few days post-Ludum Dare.
There were a few other ideas I entertained but didn’t think through (such as a first person puzzler) but decided against for time constraints and, ultimately, in favour of keeping the whole thing simple.
The theme of LD30 is “Connected Worlds” and as such I thought of a few things that may have proved to be interesting but would be difficult to implement in the time frame. One such idea was something similar to Dys4ia, where you play the part of somebody undergoing gender reassignment. I quickly vetoed that as it’s a touchy subject and I haven’t the first idea of what goes on in people’s minds during that difficult process, so rather than risk offending people, the idea was thrown onto the fire.
The thematic concept came when my partner and I were discussing novels becoming games. I recalled wanting to make a game like Dante’s Inferno, in which the player would descend through the nine levels of hell. The idea may be somewhat of a cliche these days, but in 2004 it was an interesting concept if nothing else. Within a few minutes I had decided this was to be the plot of the game – simple to implement, easy enough to explain in a sentence. This works!
Now for the actual game…
An endless falling game; like Jumper only, well, with falling instead of jumping. See, I really enjoy the mechanics of falling perfectly through a maze and that was something I felt I could work on. Sadly, this didn’t quite come to fruition due to an issue with Unity where the input was unhappy with doing anything (see: Prototype 2). This idea was back on when gravity worked it’s magic.
The exact opposite of Prototype 1. Like, literally, the exact opposite. Rather than falling, you would wall jump around obstacles going directly up. I fell in love with this idea pretty early on, but it was scuppered when Unity decided it didn’t like it’s own input scheme. For the life of me I could not get Unity to recognise the jump function. I tried just about everything but it was having none of it. Oh well, such is life.
The least favoured of the three prototypes. This was to be a third/fourth generation platformer meets Thomas Was Alone. I didn’t put a whole lot of thought into this beyond “I *guess* I could do this and meet the theme requirements…”.
Eventually, I settled on the endless falling game as it seemed like the most straight forward. While falling I wanted to generate random walls in order to make it more interesting and increase replayability. So far I haven’t had much of a chance to get that working but it’s coming together, and that’s all that matters!
Will I be finished in a day or so? Probably not. Will I have learned from this? Absolutely. It’s already been a fantastic experience, and I always knew that this was going to be tough. It’s my first game project and I’m taking part in one of the best game jams in the dev world. No complaints!
And now to rest.
- Have the player object fall but maintain the ability to move left and right.
- Create a boundary to constrain the game world to a 16:9 aspect ratio. (see bug list)
- Make Main Camera to follow player object.
- Constrain the Main Camera X axis.
- Randomly instantiate blocks to provide a level of difficulty.
- If this can’t be done, manually insert blocks.
- Implement a scoring system.
- Add win/lose scenarios.
- Save last position so that death doesn’t require starting from the beginning.
- Alternatively, restart at the beginning of the level upon death.
- Insert start and game over screens
- Insert a GUI for scoring
- Implement a level tracking system
- Implement sound effects and music
- Implement a leaderboard
- Add a state machine!
- X axis boundary limitation prevents player object from falling on the Y axis.
- Solved by adding a downward force to the Rigidbody of the player object.
- Walls do not randomly generate correctly; appearing on a skew and at a fraction of their actual size.