Log in

No account? Create an account

Previous Entry | Next Entry

I appear to have become a Flash developer

As longtime readers may remember, I'm rather a fan of Metroidvania style computer games. I've blogged about how much I like Iji, Untitled Story, Aquaria, and similar games. I regularly check the Metroidvania category on JayIsGames for new releases, and they come fairly frequently these days: about every month or so there's a new one, and I almost always enjoy them. (Some good ones I haven't mentioned before: Endeavor, Legend of Kalevala (the anthropologist wolf game), and You Have No Legs.)

I also like programming, and would say it's one of my principal hobbies. (I've been writing my own computer games since age 11, or perhaps earlier.) I do have a visual novel part-written, Mermaid Liaisons, and I am planning to return to that, but I haven't felt up to VN levels of prose composition for a little while.

Given all of which, it's frankly startling that until a week or two ago, it hadn't occurred to me to write my own Metroidvania game.

I decided that I wanted this game to be in Flash, for minimum barrier to entry and widespread accessibility. I've played many Flash Metroidvanias, my target audience is people like me, so it was natural. Now one of the fun things about being a hobby programmer in this day and age is the vast wealth of frameworks and libraries there are out there. When I started Multiverse I knew that I didn't know enough about web programming to write my own server, so it was natural to learn Ruby on Rails. For a Metroidvania game, I imagine I could start from scratch with Flash; but I thought there must be some good frameworks around that'd save me some of the boring bits.

I found the Flixel Flash game framework, and wow was I right. It makes it extremely easy to get started. Just working in my evenings, I was able to get Flixel installed on Saturday, and a toy platformer working the same day; my own (placeholder) sprites for player and weapon in by Sunday; two different kinds of weapon and three sprite animations (walking, spinning charge, explosion) drawn and added by Tuesday; and a level of 80x30 tiles including grassy hills and a military bunker to explore, using ~25 different foreground tiles and ~25 different background tiles, added and playable by Wednesday.

Hey, I did say they were placeholder graphics.

Just like during NaNoWriMo, it works well being only able to actually program in the evenings. That means I have my cycle rides to and from work, and coffee breaks during the day, to plan the mechanics and plot. I'd actually started wondering what kind of plot I'd give my game, if I were to write one, on Thursday and Friday last week; by Saturday I had an idea that I'm confident has enough mechanical depth to it to carry a small-to-medium-sized Metroidvania game. (I'm aiming at a playtime of between 1-2 hours, for a first time player who has some vague idea what they're doing.)

I was rather encouraged to discover that the author of Snailiad, a moderately fun recent Metroidvania of similar size to what I'm targeting, is active on the Flixel forums, and mentioned that his game took 7 weeks' dev time total to write the entire thing. He's probably a more experienced game developer than I am, but ActionScript/Flixel is very easy to pick up, and I've been reading all the advice and tutorials I can find; I've already been able to answer a couple of other users' questions on the forums to their satisfaction. So hopefully this project will neither peter out nor drag on interminably.

Certainly at the moment it's really exciting and satisfying how quickly I can make progress, although I'm sure there will come times of depressing slog or tearing my hair out. I've had a couple of frustrating bugs and framework oddnesses, but they've each been resolved within an hour. There was an amusing time when shortly before leaving for work Tuesday morning, I told Rachael my aim for the next evening's work. Then a thought struck me, I sat down at my computer, and ten minutes later I informed her with a grin that my target had been insufficiently ambitious: I'd just coded it over my breakfast. This is fun!


( 1 comment — Leave a comment )
Sep. 9th, 2011 10:23 am (UTC)
Oh, cool.
( 1 comment — Leave a comment )