As many young programmers I actually got into programming by writing games (or more precisely by trying to write games :) ).
In past years I've been constantly programming one game or another, not really finishing one, but often jumping to different project whenever new idea/technology came along.
Therefore I always liked the idea of 48 hours game programming competitions. You have to create a game according to some theme within one weekend. You have to create everything from scratch - the code, the graphics and the sounds. Although it might seem like a very short time and very limiting, it's quite the opposite. I've never found myself as concentrated, motivated and productive as within these weekends.
Due to Real Life™ I actually managed to finish a game just once out of my three tries. However I'm dedicated to finish a game in Ludum Dare 2008, which takes place this weekend.
But before I can start preparing for this years competition, I have to take a look at the past
Ludum Dare 2004
This was my first 48hrs competition and it was a blast. Also this is the only competition, I actually managed to finish a game.
The theme was Infection, the name of the game was "Awesome Adventures of Superhand" and I'm going to let one fellow competitor summarize my game:
philhassey: I liked the hand marching around kicking stuff :)
That was actually one of the nicest reviews I got and to this day, I'm extremely proud of it.
I'm fairly confident, that I had the smoothest walkcycle in the whole competition. I simply took my digital camera, recorded a short video of my hand walking around against a sheet of white paper and then processed it into a walkcycle. I had the animations for my character finished in about two hours.
Unfortunately I decided for resolution of 800x600, which is a lot of pixels to draw. So I spent quite a lot of time drawing background - sky, trees, road and trying to make them look as good as possible.
The game had tons of problems - it would crash on startup on some computers, wouldn't run without sound card (forgot to test for lack of it), the speed of the game was driven by framerate, the difficulty was too hard, etc. But all in all, I finished a game in two days and that's all that matters to me :).
An unexpected thing happened about two hours before deadline. The game was playable, the gameplay was reasonably fun and there weren't any bugs I was aware of - the game was finished. I felt an overwhelming sense of accomplishment. I felt I could do anything. In about twenty minutes I created a menu.
And in another ten I created an intro screen. I was on top of my productivity and I was certain, I will be able to add any feature I could think of.
But I didn't think of anymore features, I just played the game over and over and basked in the newfound sense of accomplishment and it was awesome.
TINS 2005 (TINS Is Not Speedhack)
A year later a TINS competition came by and I had no other option than to sign up. The competition archives are located here
- artistic genre: parody
- artistic rule: give the player something to Unlock
- artistic rule: trolls are cool, have a troll in your game
- technical rule: make clever use of sine waves
Although I'm no pixel artist, I was actually able to come up with some sprites within a reasonable time frame. The idea of the game was a troll working in big corporate company. It would have been a little adventure/platform shooter.
I fell ill before I could come up with a clever use of sine waves, but I figured, that the enemy would be simply shooting them or something. Not really clever, but hey, my main character is a troll :).
Some of troll's actions
and walkcycle and gruesome death of an enemy
Unfortunately I fell ill during this competition, so I couldn't finish.
But the good thing was that I started to work in 320x200 resolution - lot less pixels to cover and it has this cool retro look to it.
Ludum Dare 2006
The theme for this competition was "Swarms". This time I decided, that it's finally time to learn some OpenGL, so I started writing my game in 3D without any previous knowledge.
The idea was, that you will be a gravitation centre of a particle swarm and you will be travelling in a tube with a lot of obstacles. The center will be able to exert gravity on all the particles and pull them towards itself.
To my surprise I was actually able to pull the 3D off, what I didn't managed was Real Life™, awesomeness of gravity and 3D collisions. The collisions took so much time to fake right, that it would probably be faster to implement them for real.
When I implemented gravity, the "game" became so interesting, that I spend couple of hours just chasing particles on the screen. I would move the gravity there and back just to watch the particles speed up, get pulled in different direction, rotate, slow down etc.
This point is quite critical for all my game projects. As soon as my game is playable and provides the tiniest amount of challenge/fun, I get completely hooked and play it over and over.
I can imagine it happens to other programmers as well, because it's your own creation, that you are playing, but for the future successes in 48hr competitions I should avoid this habit :).
Learnings
So what did I learn from the past:
- Buy a lot of oranges, so that you don't fall ill
- DO NOT PLAY YOUR GAME
- Choose a low resolution
- Choose wisely between 2D and 3D
- 2D is hard
- 3D is harder
- sprites are a lot of work
- 3D models are easy to create, move, rotate and to scale
- Have a distribution channel in place, so that your friends can test your game without any effort from your side (script that automatically uploads your game somewhere, etc). This is tremendous help and if it's automated it's tremendous time saver.
0 comments:
Post a Comment