How did I do it?
During this seventh Ludum Dare competition our theme was Connected Worlds. I started around 05:30 CEST on Saturday and submitted it around 03:00 on Monday. I worked thirty-six hours on the game, slept ten hours (2 + 8), used three hours for writing down a concept, drew sixteen hours, used around eight hours for creating the game’s logic and six hours for music. The other time was used for play testing, blogging, eating and quick breaks.
First things first, before you can start making your game, you need an idea and plan. Thus I started with brainstorming. Writing down related and interesting keywords around the theme “Connected worlds”. I figured most people would go for a space or island settings, which is attractive but I wanted to create something different, more unique. I made some small trips and played with ideas related to abstract, race and relation types of connected world and decided to settle down with something from my favorite theme: Cyber Punk, most notable worlds like Ghost in the Shell.
When I finished writing down a small synopsis of my brain twists I started to lay down simple visual world and adding the elements. When I got a small world I proceeded with testing and adjusting the concept bit by bit until I was satisfied.
Once I had the prototype of the actual gameplay I could start drawing the game world.
Game level and icons
This included a background, network node icons, guard icons, citizen icons and more. I spread this in several stages, every stage ending up more detailed. I swapped between drawing on the game level and icons and the prologue and epilogue scenes. Which allowed me to take a break on a drawing and look at it again after an half an hour with a “fresh look”.
Prologue & Epilogue
The prologue and epilogue were a bit different from the art I had to draw for the actual game. The prologue and epilogue are a timed story without interacting but with moving assets. This took the most time to draw. I planned six scenes with several large moving elements like humans, hands or walls.
Audio is one of my worst development skills. I don’t work with audio often or I have a composer making the actual audio. For the simple sounds like button pushes or other quick sounds I used simple tones, combined, altered just to give a small beep. For the actual music I decided I was going to use a combination of audio generators and Audacity. It took me a while before I had the desired sound which didn’t get annoying after the initial 30 seconds.
To make sure the game was submitted on time (before 03:00) I already submitted it around 02:30 on Monday. That was before I found out the submission deadline was till 04:00. The good thing about hosting it online you can post a link and update it. So around 02:55 I wrapped everything up and ended with a good stretch. I was a bit stiff from hanging above my drawing tablet ;)
Everything done and submitted, I’m happy about my schedule and work. I didn’t really have timing issues but some things did take longer than hoped. The concept seemed easier than it was. And of course the concept took some more fine tuning to make it actually challenging.
How did I Do it?
I started by brainstorming on a piece of paper and with a good breakfast (soup and bread). The brainstorming resulted in a large web of words and lines. Afterwards I started to scrape all unrelated words and lines until a small part was left. From the readable words I picked the best and started sketching. The concept ended up being:
The player is stranded in an unknown world (other dimension?) and needs to get away before he dies from starvation. While doing so he should try to contact others while being annoyed by robots/drones.
The sketching brings us to the game design. I started with a simple sketch and made it into a 3d design tool. The sketch ended up with showing a dessert with a crash landed space ship. The main objective got: Activate the beacon (middle of image). But the question remained, how did the player get there? To solve this, the player does't know either, she just wakes up. To give the game more feel about the strange place I created two separate environments. The player would wake up in her own bedroom and once she gets outside the room, there is no hallway but a dessert. So the level and setting where done, the only thing left was the robots and drones. Trying to keep it simple I choose a floating sphere like drone who float somewhere around. It was time to think about the technical design. I worked in C++ using the tool Irrlicht and Irrklang. So I opend Visio and started to place the objects I had: Drones, Level, Beacon, Player and the scene itself. It resulted in this: Ofcourse, much is changed during the game development, but note, this is a useful “work to” point. I ended up with:
- Player must survive (he always survives)
- Player must activate the beacon
- Player must keep the drones away by picking them up and throwing them away
- The beacon is activated by clicking on the launch button.
I started to develop the things I sketched and put them together into a simple game. The prototype was done before the 18 hour mark. The prototype seemed good but lacked a bit of humor and feeling. One of the results of the prototype showed that the game lacked humor and that one machine to activate was too easy to handle. The extra things I planned for the game itself became:
- The beacon can be activated after the power generator is activated, activate by clicking on the launch button.
- The power generator is activated by clicking on the launch button.
- The Drones make a noice when picked up
- The Drones receive damage after being thrown, after which they move slower and start to smoke
- Adding more subtitles and “ particles! “
A very important step! Think about how to test your game before you finish it! I used Visual studio so I was able to do variable manipulation, but, otherwise I would have added cheats. Make sure you can easily test your game on bugs. Watching a story over and over again is awful, settings states and recompiling is bad, real bad. So, make a plan, how do I test the start, middle and end? (without replaying the game every time). I just manipulated the games variables with the Visual studio debugger, changing enumerations and time variables.
On 22:00 CET I started with the game. The first things added where voices and sounds to the drones, a background music track and recorded some sounds for the power generator. How did I record the sound for the generator? Well, quite easy, taking my microphone and putting it behind my computers fans, lowered the pitch and lowered the speed and viola! Done. In the prototype, the bedroom and spaceship were left without detail, it was awful. The ship had to look broken, to do this I first modeled the ship and when that was finished I broke it. Cutting holes, lines and adding more panels. The advantage of doing so is that you have a good looking ship. Breaking it and adding debris is a much easier process. When the new models where done, I just replaced them in the prototype. The same detailing process is done for the drones, power generator, debris, terrain and the music track.
I kept track of 2 folders, one for debugging and one for the release and I setup special defines for the debug and release. Once a debug version was bug free I tried the Release version in the release folder. The source code was placed inside a separate folder. At the end, I was capable of just clicking the source and release folder for archiving them. On monday 02:40 CET ( 20 minutes before the deadline) I submitted my work. Barley before the site went down! Got lucky ;) Time used: 32 hours Sleep: 15 hours Tools:Autodesk 3dsmax, Adobe Illustrator, paintToolSai, Audicity, Anvil Studio, Visual Studio 2010, D3d MeshViewer, Irrlicht and Irrklang.
Tips and do's:
- Set up 2 folders, one for a clean release test, one quite clean for debugging.
- Write down the games basics and rules,
- Sketch the technical design
- Build a simple prototype on which you can later improve the games visuals.
- Take regular breaks! Work 60~90 minutes with a small break, like: running through your house, going outside for 10 minutes, they improves your motivation and precision!
- Always make sure to write it down, it makes it easier to decide if its possible
- Chat on the IRC channel with others, use your time and chat later, in small breaks or afterwards.
- Sleep less, when you have less sleep it will lower your creativity, bug tracking and other skills.
My game can be found here. Thank you for reading the “How Did I Do it”. Sketch the technical design