This will be my first post mortem… post… so anyways, here goes!
edit: This is for Hamlet btw…
The Good
- Sprites! Always a fun part of game dev for me. Got a few basic techniques down that I tend to stick to. This tends to make the pixel art portion of these go pretty quick for me. I’m also pretty much in love with ASEprite. I seem to get a lot of great comments about my pixel art. I hardly consider myself an “artist”… I’m just usually pretty good at emulating other work. If I can recommend anything to a fledgling pixel artist… LESS shades of color. I try to use around 3 in most cases. Dithering those colors generally makes for a nicer “pixel” look.
-

Seriously. Piece of cake.
- Juicing. I am first and foremost a programmer. Did I draw my sprites to look the way they do because I just love Fisher Price? No. I did it because abs(sin()) makes it REALLY easy to animate their movement. Cover with lerp() and heat to 350… and voila! A deliciously animated scene, with about 3 real frames of “animation” (the two states of the mouth being open, and the blinking eyes)
- Storyline. Ok, it was a pretty shameless rip-off, but the “storyline” ultimately was more about you playing the role OF Hamlet in a play. Regardless… it definitely cut out a lot of the “what do I do next?” Despite it all, I had way too much fun with the other stuff and only really made it to the end of a VERY summarized Act 1.
- Scripting. If this was intended as a pun, it’s probably more of a reality than a play on words. Here you can see the script that executes to begin Act1Scene1 (which was actually just a timeline in GameMaker). I had objects created for each of the characters… all parented to a “proto_actor” object. Basically, for each one of them, all I did was override the index of their sprite, and maybe adjust their speed and mouth/arm height slightly. I wrapped a lot of my common commands into their own scripts. The result was something that looked less like a “GameMaker script” and more like a script for a play:
[stextbox id=”alert”]
enter_left(Barnardo);
with(Barnardo) {
goto_stage(64,12);
holdprop(instance_create(x,y,Pike));
}
enter_left(Francisco);
with(Francisco) {
goto_stage(108,12);
holdprop(instance_create(x,y,Pike));
}
ninja_a = enter_left(StageNinja);
instance_create(ninja_a.x + 60,room_height-40,Elsinore);
with(ninja_a) {
grab_setpiece(Elsinore);
goto_stage(16,4);
}
ninja_b = enter_right(StageNinja);
with(ninja_b) {
holdprop(instance_create(x,y,MoonPole));
goto_stage(300,8);
}
ninja_c = enter_right(StageNinja);
with(ninja_c) {
holdprop(instance_create(x,y,StarPole));
goto_stage(280,8);
}
enter_right(HamletGhost);
showtitle(“Act 1 Scene 1”);
[/stextbox]
The Bad
- Dangly Stars and Moon. If any of you have actually completed it to the end, you may see one of the “Stage Ninjas” complaining about the moon-on-a-stick not actually dangling off the stick. I tried to use the physics system to handle this, but it ended up not really being worth the trouble.
- Sounds. I did actually make a quick little sound in BFXR for the sound of the actors hopping across the stage. I don’t know if it was my math for judging when to play the sound or what, but it ended up with an awful grinding noise. This was quickly abandoned. Probably better in the end considering I’d have a lot more sounds to make and get added in that I really didn’t have time for anyways. Music? Forget about it.
- Balancing difficulty. This is something I rarely end up spending the time to tune like I want to. I guess it’s probably pretty common for an LD48 format, but pretty much all my entries are easily beaten once you “figure out the trick”. As I was play testing this I had a really hard time balancing punishment for not doing what you’re supposed to with still allowing you to get away with enough antics to still make it fun. The end result still really isn’t there, but then again, I had a lot more planned as far as just HOW bad things were going to get on stage.
- That damn spotlight. One of the features I wanted to add the most, just to emphasize the silly little laments… and I can’t seem to do modulative blending right in GameMaker. Sigh. To add injury to insult, it breaks the gameplay pretty bad on some systems that show it as fully opaque.
The Ugly
- 9:40 PM EST – Totally amped up and ready to go for LD28… from outside, a crash. Our horse has accidentally put her hoof through the wall of our barn while rolling in her stall. Just my luck. I guess it WAS Friday 13th. Wasn’t till around 10:30 that I actually sat down and got started with even thinking about what to do. Horse is better now at least, and ultimately, it wasn’t that much time wasted in the grand scheme of things.
- Work. These past few weeks have been absolute hell with the amount of stuff I’ve had on my plate at work. At least I enjoy what I do and work with really nice people. I really needed this compo. You wouldn’t think that 48 hours of stressful work would be such a relief from… other stressful work, but it definitely was

Honestly… the comments I’ve gotten so far inspired me to actually do a post mortem for once. A big thank you to everyone who played it, whether or not you got anywhere with it. I’m considering the possibility of actually finishing it, probably with the help of NeonLare if I do. He’s a fantastic composer and artist.
Anyways, I think that’s a wrap… got a lot more games to try out, I probably should get to that. Good luck to everyone else out there! Seeing a lot of cool stuff as usual, see you all again in April!

Ham-let… get it? sigh… good night folks…