About whitelynx


Ludum Dare 20

whitelynx's Trophies

whitelynx's Archive

Post Mortem: Descentsitized

Posted by
Sunday, May 29th, 2011 7:27 pm

So, I’m throwing in my hat for this MiniLD. I had a pretty awesome mockup (I thought) and was happy with my ideas for the game, but it really hasn’t worked out as smoothly as I’d hoped. However, this MiniLD was definitely a net positive for me, for several reasons.

What I learned

Music Creation

I finally found a music program I enjoy using that’s both stable and makes it easy for me to compose: SunVox. I’ve probably spent a total of  10 or more hours on music this time around, most of which was split between getting used to the software and getting used to composing again. I’m going to keep working with this program, and see if I can’t get faster before the next MiniLD rolls around… maybe I’ll have a chance at finishing then.

What I need to work on

Collision Response

The single largest roadblock to me finishing wasn’t actually the music; that was more of a symptom. I probably would have spent about an hour or two on music if I hadn’t hit a brick wall in my code. The biggest thing that tripped me up was collision response. Having worked with Pygame before for my LD20 entry (LD20X6: Initialisms), I was already familiar with its collision detection system, so I went in pretty confident on that front. However, knowing that a collision has happened and knowing what to do about it are two entirely different things – and I’m still a bit fuzzy on how to actually implement collision response in a 2D platformer. I’ll probably figure it out in the next few days, but it’s a bit weird coming into this from a mostly 3D background, and having to adjust to a pure 2D system, especially since most 3D frameworks already have a built-in way of dealing with collision response… here, I need to either implement it myself, or find another library to add to the stack.

Coordinate Systems

One other big issue I’ve been having with my entry is the fact that when you’re just moving a Rect (in Pygame) you can’t really move slower than 1 pixel per frame, since all Rects store integers instead of floats. This necessitates some sort of scaling in order to track things correctly. The easiest way to do this is to treat everything as having a coordinate system that is 10 units per px or something like that so that you can move slower if needed. However, I didn’t realize this until I had already implemented most of the Actor class and its two subclasses, Character and Zombie. So… so much for all that code. I started rewriting Actor, but got distracted by the music about halfway through, because I found it increasingly difficult to wrap my head around what I was doing, so I basically ended up spending the rest of Saturday on music alone.

Next Time!

Hopefully I’ll be a bit better prepared next time around; in the meantime, I’m going to work on implementing collision response in a 10 unit per pixel coordinate system, and see if I can get that working reliably. (basically, continuing this MiniLD game) Also, I’m going to try making more music in Sunvox so I can get a little faster at that, and hopefully not waste as much time feeling my way around the system next time.

So with that, I bid good luck to all my fellow contestants, and look forward to seeing your finished games!

Descentsitized – night 1

Posted by
Saturday, May 28th, 2011 1:25 am

We have ZOMBIES!

I think there's a Thriller joke in here somewhere...

Yes, there are zombies in that image. You may have to turn your monitor brightness up to see them, or view the full image and look for their beady red eyes. Also, they roam back and forth across the screen, while our hero runs in between them screaming and apparently coming out unscathed. This will change.
For now, I should get some sleep. Considering I only started on this at about 23:30 and it’s 03:30 now, I’d say I’m doing decently.

MiniLD 26: Descentsitized

Posted by
Friday, May 27th, 2011 11:58 pm

Name: Descentsitized

Description: Based on the themes “Descend”, “Dig”, “Drill”, and “Destroy”, this is a standard zombie horror dungeon-crawling shmup platformer… Or not.


A shotgun, a jackhammer, and a flashlight.

A shotgun, a headlamp, and zombies... Great.

Definition of Done: dramatic lighting, 2 levels, zombies, shotgun, ladders, 1 music track, basic sfx


The game assets will mostly be created using Inkscape, the GIMP, and bfxr, and the code will be written in Python, using Pygame. (maybe next time I’ll try using SFML instead)

LD20X6: Still not finished.

Posted by
Monday, May 2nd, 2011 6:59 pm

Well, this is disappointing… I suppose I should have guessed that I really wouldn’t get very far with the extra day. Even though I originally was going to submit this game for the compo, almost nothing visible has changed with it in the last day; it’s been mostly code cleanup, a few new features (not readily visible), and a bit of story. Oh, and I now have install instructions that should work on Windows and Mac OS X as well, since I had a couple of other people try it out, and spent some time fixing the issues they were having. Other than that, most of the day was spent at work (you know, actual work I get paid for) so I sadly haven’t had much time to devote to the game.

Well, what I currently have is going to be my Jam entry. Congratulations to all compo contestants for getting your games in on time, and cheers to my fellow Jam participants… I look forward to playing all the games! Now, I only wish these things were held more often. 😛

I’ll be posting my game on the site in a few minutes.

LD20X6: To the Jam, I suppose.

Posted by
Sunday, May 1st, 2011 7:51 pm

Wow… I thought I’d be able to finish this faster. Of course, it doesn’t help that I’m falling asleep at the keyboard… had I known that LD was running this weekend before Friday night, I would have made an effort to not get ridiculously exhausted this past week.

All in all, even if I don’t get anything submitted, I’d say this LD went pretty well… this is the first one I’ve ever participated in, this is the first game I’ve ever written using PyGame (aside from a tiny bit of joystick work in my main project a couple of years ago) and I just taught myself how to work with PyGame on Friday night, and this is the first 2D game I’ve worked on since high school. Not to mention that I wrote my own parallax-capable system for the game using PyGame’s sprite support – the first time I’ve ever even messed with code that does something like that.half hour,

Still, even though there’s no way I’ll be able to submit anything in in the next 10 minutes I’ll still try and submit this for the jam… it’s already a pretty cool game, just missing some important pieces, so it feels pretty incomplete at the moment. I’d probably be able to finish it all in like 6 hours if I slept first… but if I had slept earlier today, I would have slept through the deadline, easily.

LD20X6: Explosions! (well, not yet)

Posted by
Sunday, May 1st, 2011 9:33 am

Wow… 11 hours without a post. Well, in a way that’s good… I haven’t really lost steam working on the actual game yet, so I’m still devoting energy to that. I didn’t sleep last night. The plan is to stay up until LD compo is over, and then crash until work Monday morning. (and of course, as I started to write this post, I fell asleep in my chair)

In the meantime I’ve gotten enemies implemented, and you can shoot at each other and make each other disappear… there’s explosion noises (all sfx are created with sfxr) but no explosion animation yet. (I’ll probably end up using one of the explosion generators i found, if i can get one of them working :P)

Obligatory screenshot! Now with most stuff except explosions and bugfixes.

If anyone wants to try it out, all you should need is PyGame and Python, (which means theoretically it should work on Linux, Windows, and Mac as-is) and you can grab the source using Bazaar:

bzr branch http://dev.skewedaspect.com/bzr/whitelynx/ld20x6/trunk/

The code is released under the MIT license, and the content is under the Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License.

LD20X6: Now with weapons and shields!

Posted by
Saturday, April 30th, 2011 9:07 pm

Finally, something that actually feels like it could be a game! Now to give it an actual point.

Or, you know, an invalid.

In-game screenshot with weapons and shields!

LD20X6: Screenshots

Posted by
Saturday, April 30th, 2011 4:07 pm

Oh, yeah… screenshots.

LD20X6: Protecting You From Danger!

Posted by
Saturday, April 30th, 2011 3:57 pm

Sleeping takes way too much time. I think I lost like 6 hours there!

My idea for this LD was pretty simple: Since it’s dangerous to go alone, bring weapons! Absurd weapons! LOTS of absurd weapons!

Basically, the concept is that you have a friend (call him Q, Lucius Fox, Isaak, whatever) who likes making weapons. Every time you go on a mission, he gives you something new, shiny, and destructive. And you always come back thanking him.

So… now that I have a full parallax-based sprite engine (hooray for PyGame!) I’m starting on actual game mechanics. I’ve had 3 slightly different concepts for how to execute this concept:

  • side-scrolling space shooter (similar to Raptor)
  • vertically-scrolling space shooter (similar to Tyrian, Galaxians, etc.)
  • top-down, free movement hover shooter (similar to Zone 66)

I’m still not entirely sure which to choose, though I’m leaning toward the Zone 66 style, only with better controls.

[cache: storing page]