On 8/8/8 @ 8pm Ludum Dare 12 began, and the world would never be the same. The theme was ‘The Tower’, once again the theme ‘evolution’ was downed through natural selection. I didn’t find the theme very inspiring, but I was also brain drained from taking two finals earlier this day. I aced the classes though, so I was feeling good. One class was calculus, which probably influenced my choice of game.
I wasn’t having any particularly awesome ideas friday night, I wrote the basic “Hello, Tower” code. By the way here’s what I used:
Slow old laptop, which I’ve done all my coding on for about the past year. I like to write comfy code on the couch. Windows XP.
My IDE is Microsoft Visual C++ Express 2008, library is Allegro, graphics in Gimp.
Anyway I went to sleep without a decision at my usual 11pm, too tired to think. The possibilities I had come up with at this point:
- Grow towering corn stalks by watering, but watering off center will cause corn to grow at an angle and eventually fall.
- DeSprawler, pluck people from suburban houses and drop them in big city apartment towers.
- A tetris game where you cleared equations instead of lines.
I woke up at my usual 8am, still not enthused about any idea. After lunch, about 1, I had decided on and started to code tetris. Now, I’m glad I finished it and I’m happy with it, but I could have come up with something more original, but so much time had already passed, I figured this would be simple to do in the time I had.
Also, funnily, I almost did a tetris clone for a previous LD. In LD6 (Light and Darkness) I started a game which involved working at a solar panel assembly plant. Solar panel parts would come on a conveyor belt, in tetris-like shapes (but I was going to have many more shapes) and you would pick them up with the mouse and drop them into a grid. The object was to fill as many grid cells as possible, but to make things trickier, the lights were slowly dimming, but completing a panel would raise the light level depending how much of the panel grid was filled. I didn’t finish that game in time, but now that I have a tetris engine, it would be pretty easy to finish it up to some extent. I put this into consideration when deciding on my LD12 game, which is actually not a good basis for the choice.
So, Saturday was making tetris for about 10 hours, rotation is the tricky part, I drew out all the pieces in all the positions on graph paper and typed in about 300 lines for this data. It’s all modularized so I could easily add more pieces and positions (I was thinking, tetris with 8 direction rotation, bricks on diagonal lines). I tested and got the numbers and symbols in the bricks and tried forming equations. They weren’t coming out too well, always the wrong symbols, I was thinking of giving up now because the game seemed overly frustrating. At this point there was not the tower of equations in the start. The game hardly had to do with the tower theme.
I played Notch’s entry: Breaking the Tower for at least an hour on Saturday night, too much fun, I had a few tabs of the game open and would leave them alone to just gather up resources while I coded. Note to self: there will be time to play other people’s games when they’re good and done after the compo ;] These web browser games are great, such easy distribution! This is exactly why I learned Java earlier this year, to distract people so I could win at LD ;]
Saturday night I went to sleep at about 1am, pretty much given up, woke up at 9am, lollygagged, at about 11am I decided I would go ahead and finish it. Sometime after this I came up with the tower idea, put that in, and now I was making equations! I got into it, making the equation checker, and I was doing pretty good on time. The game was a grid on a black screen with green text until about 4pm, 4 hours from the end, when I started making graphics. Making the background with help, code for level starting and sequencing, and tile graphics came pretty quick.
About an hour from the end, I remembered that in LD10.5, the game I submitted didn’t run for some people because I didn’t include any runtime libraries. So I researched that, found some libraries I hoped would work, but I didn’t actually get to test them on a virgin computer until after the end. This was because when I built the game in release mode, I got a screen full of tiles! One hour from finish and here’s the showstopper. Only happens in release, so I couldn’t debug easily, I was stumped. I narrowed it to some problem accessing the grid data, and switched _setstr to strcpy, and it was fixed! Whew, 15 minutes from the end and I almost didn’t have a game. Built my zip, wrote my post, uploaded and that’s a wrap. gg.
I’ve posted pictures of some of my meals, workspaces, kitties, and screenshots as the game was being made at a picasa album here: http://picasaweb.google.com/greencow/LudumDare12