So, what is my secret? Or how did he do it? Well, Read on. This log tells about how I designed and created my 48 hour game and what choices I made.
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 doesn'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