I'm Mark Sachs and this is my devblog, where I post updates of games I'm working on at home and occasional links or musings on game design and development. How about that, huh? My main project at the moment is Neon Galaxy, a retro-styled 2D game for the Macintosh inspired by Descent and Spelunky.
Other projects include Wing, an experiment with procedural planets and painterly space environments, A. CYBORG, a tribute to the old Sega Super Scaler games such as Space Harrier and After Burner, Run Don't Walk, an action-puzzle game based on cellular automata, and Air, an excuse to mess around with landscape generation, horizon mapping, and ambient occlusion. Having so many balls in the air is a great way to never finish any of them, as it turns out, but at least you always feel like you're making progress!
Hey, now that I’m actually exercising my level XML stuff a bit I’m discovering it can produce some pretty cool results.
Though this level in particular is a little shaky — it’s pretty trivial to find the exit and the reactor, though providentially the bonus room spawned in this one as well and you’d have to explore the entire maze to find it. I have an idea in mind for avoiding trivial maps by validating the produced map against a minimum requested player room traversal number, or maybe just making the code which decides where to put the reactor/exit not give up so easily on putting them at the desired distances from each other.
One suggestion that was also made during the last round of playtesting was to somehow arrange for the “goodie” installations to appear in rooms that would otherwise be dead ends — since room populations are randomly generated, it’s quite common for dead ends in the game’s maps to be useless wastes of time. This is a pretty good idea, and I think I can do it by adding the concept of “potential” populations to rooms. These are objects which would only be instantiated in dead ends, that is to say rooms with just a single exit. I suppose if I really wanted to, I could also count how many rooms you traverse before reaching an intersection, and use that to call out even more dead-endy rooms that should have even better stuff. It should add some interest to exploration that is currently still missing.
Getting out of crunch at work for a week or two, so I should have time to work on Neon Galaxy — and indeed I have been doing so today, wrapping up the joypad remapping and ensuring that the default controls match the Xbox 360 controller nearly everyone seems to use. I want to actually add some new map layouts before releasing a new build, so I’m going to cautiously say next Sunday will be the big day. Hopefully the graphics options and controller fixes will make it easier to get up and running and playtest the game itself.
Control remapping is in at last. Unromantic but it needed doing. I’ve also (hopefully) fixed all the little oversights where various interfaces couldn’t be used properly in the keyboard/mouse control scheme.
As a service note, I’m gonna be crunching at work for a little while so not sure how much I’ll get done on this over the next week or two. We’ll see.
So of course I did the feature I wanted most first: there’s a music player in the options menu. Music is unlocked as you reach the point in the game where it is used, or at least it will be when I implement that bit.
So just to let y’alls know, I’ve finished that move I was talking about and gotten started with my new job. I should have time to get back to my indie stuff once I’m settled in a bit more. Further bulletins as events warrant!
Fixed fullscreen not working on OSX. I just needed to buck up and update SDL, which I’d been trying to avoid for fear of bringing in any new bugs. But so far it’s fine. Amusingly I was already using the fixed version on Win32 anyway.
Speaking of which, built Win32 again for the first time in a while. Everything’s cool except for a little bug where I was reading the system clock incorrectly and running the game at 1/1000 speed. Ahahaha… ehh. Other than that it’s all good once again.
And fixed a rather obvious and embarrassing memory leak.
The alpha is definitely not going to be perfect. There’s at least one crash bug I haven’t tracked down yet, and the sound, I dunno, it’s a bit of a jumble. But I’d still rather get the alpha out to testers before things get totally crazy-go-nuts over here. I’ll include a list of things to watch out for when I send the alpha.