Archive for April, 2009
Postmortem…
Outline of 48hrs as I recall it…
Day before compo…
Stayed up too late on Chatroom, just getting hyped about the competition – Should have slept more.
Got up at 4am to check theme – found that it was AWOD couldn’t think of anything and went to bed.
Got up again jotted down game concept in notebook (see below)
Went to work knocking together basic sprite object – I know I should have grabbed a pre-developed set of objects but at least I can refine and reuse these now!
Went for a very free form map, no tiles just objects relying completely on BlitzMax’s in built pixel perfrect collision detection.
In the first day I managed to get the basic game mechanics working block growing, turrets firing, player deploying turrets - it was now almost a game.
Went to sleep thinking about adding towns, people, animals, plants running from the AWOD… Dream on!
Day two
Added screen, levels, win/lose states, basic sound effects
Afternoon – time was running down fast added …
Powerups – providing a limited upgrade to turrets
Base something for the player to defend and powerups to appear next too
Last minute play testing
Quickly zipping and posting it near the deadline - Phew Final post
What went right…
I managed to create a game in 48 hours!
I avoided getting tied into the complexity of a tile based system, thankfully BlitzMax’s collision detection works well!
I kept the ‘artwork’ to the bare basic minimum – inspired by the BUPA adverts (Coloured circles as people)
I kept the design very simple as well.
My Keep It Simple Stupid – KISS approach worked!
What went wrong…
Wrote too much code to start with I need a basic prototyping framework for at least sprites, collision detection, screens, menu ect.
Then I could have spent more time designing filling out the game design further but staying flexible, this might have prevented the last minute addition of powerups and base leaving next to no time for game testing balancing.
Motivation wandered during day two, it was a playable prototype and therefore in theory a game, thankfully I managed to get moving again and ‘polish’ it up a bit, again a framework will make this a none issue.
I quickly realised that there was a performance issue with the block count, once you get over the 1000 mark the framerate really drops so I had to limit that.
I wanted a wrap around world where you can’t run away from the wall of doom, althought this should have been an easy thing to add I did not get around to adding it, possibly resting on my laurels a bit!
In Summary
I really enjoyed this although I wish I had setup a time laps screen capture, probably not a webcam feed ;o).
Well I must judge some more of the other amazing entries, Looking forward to the next competition already!
Regards
Merx
Mind Wall – It pisses people off
Fan (?) made youtube video showing why you must play (or avoid?) my LD entry Mind Wall before time runs out!
Heart postmortem, release
Sort of a postmortem for my game, Heart. I don’t know, I just wrote about the process and a few later thoughts. You can read it in my blog.
Also, the game is finally finished. Play the release version.
Why I didn’t rate your game
It sucks to have very few ratings and comments on your game, so here are a few pointers for next time.
Platform
The most rated games are the ones you can play in your browser. Try making your entry in java or in flash and embedding it in a webpage for maximum exposure. If you don’t want to have to suffer the horror that is (Java|AS|Flash) at least make a binary release for Windows since most people seem to have access to that platform (I don’t so please also make an OS X version
). If you’re making your game in Python (or its pale imitator ruby
, or any other interpreted language for that matter) you might think you don’t need binaries but you’re wrong, people aren’t going to install a different environment for every single game. Same for Löve games.
Dependencies
If you do only release as source, or if you only release for one platform, or dynamically link libraries, keep dependencies to a minimum. If all I have to do to build the game is type “make” there’s a better chance I’ll try it than if I have to install 13 libraries which each in turn depend on half a dozen others.
Screenshot
I try to play all games regardless of the screenshot (in part because my own drawing skills are easily surpassed by those of a drunk monkey with a pen) but if the entry requires more than clicking on a shiny icon to run, I’ll definitely spend more time trying to get an entry with a cool screenshot working.
Rate other games (and leave comments!)
While I am determined to try as many games as I can, I prioritize rating the games from the people who left comments on my games first.
Of course these “rules” aren’t set in stone. You can make a game for the Atari 2600 and still have plenty of ratings. You can also make a game with an uninspiring screenshot and win best overall.
Of course you could also cheat by making a ton of games under different names to rate your own games
.
My ‘timelapse’ and journal part 1
Behind The Dumb Episode 6 is out at last! It’s the first half of my timelapse and journal for LD14! Check it out. You don’t need to rate it, because while I did FILM it all during the weekend, I certainly didn’t have it all edited and ready by then. And the second half won’t be out until voting is over anyway. Still, it should be amusing to some.
Gray Screen Bug in FWOD
Unfortunalty I wrote the drawing code wrong* (outside of the gui thread) and this is the reason some people are getting the gray screen bug.
It doesn’t depend on your color depthor anything like that AFAIK, I will need to fix it in the code.
The good news is that I know more or less what to fix and just have to find the time to work on it again
[*] I’m a Java2D noob
Keeping up
Also joining the “give at least as many votes as you get” crowd.
Additionally, I generated a randomized list of the entries to play and rate for unbiased selection
The Final Solution – Postmortem
If you did not play my game “The Final Solution”, you can get its win32 binaries and source code from my previous post.
This is my first LD.
I recently attended Global Game Jam [1], which was another 48-hour game competition held in 53 places around the world. We were 48 developers in Ankara divided into 13 teams/individuals, working like bees in our cubicles. My two friends joined separate groups and I started to make a game myself.
Having people around to test your game really changes the development process, as in the case of Itchy! in GGJ [2]. However, as LD is a solo competition, and I wanted to allocate my full attention to it, I did not see anyone during LD, and did not go outside except for getting food.
To mention a few lessons learned in LD;
[Wall Girl] New version available, now with Easy mode
In response to many comments, I spent a few hours to improve Wall Girl and have released the results.
http://haitaka.googlepages.com/Wall_Girl_PR1.zip
Edit: If you have yet to rate Wall Girl, the older version is available at:
http://www.ludumdare.com/compo/2009/04/19/wall-girl-final/
If you intend to rate the game, please do so before playing the new PR1 version.
Changes:
- Most of my respondents observed that the game was too hard for them. In response, this new version comes with an Easy mode. Press X at the title screen to start Easy mode.
- The Normal mode has seen several balance changes. On the whole, the game is easier, but a couple of parts have actually been made more difficult.
- There is now music! Still no sound effects, though. I was really bummed that I couldn’t finish the music in time for the entry, but here it is. Not great, but it’s my first shot (in a very long while) at composing something from scratch.
- Several cosmetic enhancements have been made to the boss fight.
- This version has a readme!
It’s actually more like a full-on manual…
I think this is really very close to how I envisioned the game when I first started work on it, apart from the lack of a tutorial mode. If you have a bit of time to spare, reviews and/or comments would be appreciated.
Linux and OSX versions, etc.
This past week has been pretty busy for me, so I’ve only just managed to get these up, but here are the Linux and OSX versions of Die, you Stupid Hurdlers!:
Linux (build from source – includes configure script, and MSVC and XCode projects)
Also a slightly updated Windows version that defaults to more sensible graphic options on startup.
“Sky Upon Us!” – Postmortem and Stick Figures
I came up with the idea of making a shooter based on drawing arrows after seeing a concept sketch for another arrow game by fellow LD participant Sparky. In the week before the contest, I entertained the idea and tried to think of ways to make it “themeable”. I came up with what I thought was a great idea for “Rain” – falling stars, that you would use as ammunition. When I saw the theme “Advancing Wall of Doom”, I decided to keep the mechanics from “Rain” and just work the actual theme into that. In retrospect, this might have been a mistake. Read why after the break.
Standard Waiver postmortem
Standard Waiver, a short atmospheric first-person exploration game, was my first Ludum Dare entry. Here’s what went into it.

The foreground obelisk obscures the background one. It’s a mystery!
Time lapse video
Here is my time lapse video, the first version had better audio synchronization, but then VirtualDub crashed and I had to start all over again.
Density Issues
This update addresses places some limits on density and unit counts, to address problems with the density getting out of hand in longer games. Two of the levels in the campaign have also been altered- one to make it more varied and reduce travel times, and another to keep the difficulty level more consistent.
Play Here
Update: Newer Build


Wall of Corpses expanded edition
I was glad to have finished an entry in my first LD, but I had two main regrets: not having music, and not getting the multiple waves of enemies that I had planned on. I had written most of the code and planned for the waves of enemies, but 45 minutes before the close of the competition, I felt I didn’t quite have enough time to pull it off and make it feel polished.
I have taken an extra 2 hours to work on my game after the competition, and with it I have made several waves of enemies, rock upgrades, wall upgrades, and corpse cleaning. The gameplay is significantly extended, so give it a try!
I didn’t have much time to balance the new waves, so it might be a bit difficult.
So, games
I wrote a post in my blog about what constitutes a game, due to the reception that my entry to the competition, Heart, got. I hope to bring a differing point of view into the Ludum Dare dissection table for everyone to discuss, and for all to come out more inspired to make games.
By the way, I’ll finish the game properly and then I’ll write a post-mortem. It’s not too far from finished, actually.
dd06
dare ludic society, your positive and helpful comments “behind the curtains” really motivated me to spend more time with the game, after the compo. thank you all! …epic blueworm award? wow!! thx
the game is not fully done yet, but i think it’s more streamlined now, probably still a bit too “sparse”, but hopefully not as frustrating as before to play (although the platforms are still randomized).
Porst motem: UUWD
So, I decided to try LD out. I actually found it while looking for “more cowbell” pictures to put in a slideshow at school, and found a screenie of jovoc’s Cowbell Hero. I noticed: Hey, it’s going to start soon! So I decided to join.
Introduction
So, I think I did fairly well. I picked an easy way out, in my opinion: I was actually thinking Rain would win the theme (although I didn’t particuarly want it), so I came up with an idea of acid rain falling from the sky, and using moving platforms to keep the rain from hitting you. But instead, Advancing Wall of Doom won. So I came up with a quick idea: You run across randomly generated terrain (2D) to avoid some wall of sorts. I wrote some code for the laser of doom (the wall), and created a little black ball with 3 frames of animation: one with ‘J’ written on the ball, one with K, and one with L. The idea was to press them in that sequence to move the ball foward. I ran into a problem: I couldn’t get the ball to act correctly to the terrain. So, I scratched the random terrain idea and went for something much simpler: a platformer game. I got the JKL movement idea from a game called “Dick Chaney’s Sky Patrol” whereas one level you were in a wheelchair, and you used IOP to move foward. So, I made the character a wheelchair. I’m a horrid spriter, so I didn’t put a person in it. Thus, Uber Unmanned Wheelchair Delxue was born.
The creation proccess
I was currently making another game to pass the time while waiting for Ludum Dare to start. It had autotiling. So I made some quick autotiling for the walls, getting the idea from the Dream Sector in Jumper2. I also made some other colored walls.
Then, I made sprited movement. You might not be able to see it in-game, but the wheel actually “spins” when you’re moving, but it stops when you stop moving. Genius!
Then, I programmed a quick platformer engine. Nothing special, although I did everything in the “step” event instead of keyboard events, because keyboard events like to conflict with one another. Which means that you would stop for a short amount of time when you jumped. Kinda inconvenient, considering how chaotic this game is.
Next, I began level design. I made a quick introductory level, featuring 0 moving parts. A lot of people had problems with this level. Failure, because you have to beat it to play the rest of the game (non-linear level path: level designer’s worst nightmare). As a result, people didn’t like it. I thought it was rather easy, although having played the game untold amounts of times, and having 3 years of platformer-game experience, that probably wasn’t a very good judgement difficulty-wise. I also made a wall tileset so platforms wouldnt’ just float there (although they do in later levels
).
The next level introduced a gimmick used throughout the entire game: spinning sawblades! Whee! I tried to “time” the sawblades so you came up to them when they were out of the way, although this proved to be a difficult task because I could only start them at 90 degree intervals. Also, so that the sawblades wouldn’t spin off of an imaginary pivot point, I made a tileset that allowed me to make pipes. Snazzy!
The third level was an attempt to introduce the third wall color (by the way, the wall colors don’t mean anything), and the concept of waiting. Waiting. Yep, while a giant randomly-generated laser is steamrolling toward you, you have to wait. As a result, there are a few close calls. Also, the last part is kinda hard to jump over. :/
Fourth level: Giant wall of sawblades! Whee!
The fifth level introduces the pause item, which will slow down the steamrolling laser to a mere tenth of it’s original speed.
Then, the ‘game completed’ screen comes up. Party! You made it this far.
Hopefully, you didn’t quit there.
The humor proccess
At this point in making the game, I was feeling pretty worn out and silly, wanting to crank out some random gimmick, causing humor. So, I took some inspiration from Karoshi 2. If you have never played that game, go Google it. Anyways, if you have played that game, you know its random style of throwing in little injokes, or continuing the game when you try to quit. So, if you check the password box, you may notice: “Hey, I don’t remember that password being for any of the levels! So you click OK. And it goes to level six.
Level six is an abusage of pause signs. You have to go uber-fast on this level, because if you aren’t fast enough, you have to wait for the sawblade to get out of the way, and so the laser blocks off the exit. Level failed.
Then, it tells you that it’s really done now.
But it isn’t. Go check the passbox, and it’s a new password!
I had a lot of fun with this level. The original level didn’t have a pause item, yet it was still beatable. Barely. This was one of those moments when I decided to actually give the player a break.
Lookie, a new password!
This level was based off of the idea of having to backtrack a bit to make a jump, and backtracking again to win. Most levels are RUSH RUSH RUSH RUSH RUSH RUSH OMG THE LASER IS CATCHING UP OMG OMG WOAH I MADE IT HOLY CRAP, but I decided to put in a little variety.
Now, it tells you there is no new password. Don’t beleive it? Go check the password box. See? same password. You must be done now. So quit.
Yeah, I felt like being a jerk.
So, this next level is based off of waiting. The jump is kinda hard to make.
Now, for the final level. This one took a while to make/beat, especially with the sawblade at the beginning. Then, I had a lot of fun with the next part. Not only is the laser on your butt, but the sawblades are nigh-impossible to navigate. A fitting last level.
Then, it thanks you for playing and says you’re done. Trust me this time, you’re done.
What I did right
I made a game.
I made it within the time limit.
It had a main menu.
I personally think it turned out really well, for a 7-hour game.
What I did wrong
Too hard!
Not enough stuff
Inconvenient menu
Lame idea (in my opinion)
Conclusion
I think I did well for a first time, especially considering the small amount of time I had to work on the game.






