Thursday, June 16, 2011

Phil, Henry, I believe I owe each of you a beer

Beer #1: FlashDevelop


First of all, to Phil, for tipping me off about FlashDevelop. After using CS4's IDE for a few generations, FD is a serious breath of fresh air. Code completion, context tool-tips, actual real-time debugging and watching of variables...it's like AS3 grew out of it's awkward high school living arrangement in CS IDE's basement, got a job, and moved into a swanky flat. I haven't even cracked some of the auxiliary features such as tasks/todo, refactoring, and source-control. It's just flat-out awesome, and I think my development is going to kick into high gear as a result. Thanks Phil!

Beer #2: flixel

And to Henry, a beer for recommending flixel. Right off the bat, flixel showed itself to be so much of what a new game needs to get off the ground quickly. Built-in libraries for sprite blitting, tilemaps, game objects, game states, on-screen text, button handling, physics, audio, you name it. It's a fantastic package to work with, and I've used a lot of game libraries, from Allegro back in the day, to Torque, Axiom, XNA, and Ogre.

The real question was, would it work as NEO Scavenger's top-down, hex-map-based engine? I was dubious for the first two days. Trying to make the map myself, using FlxGroups and FlxSprites, produced performance below that of vanilla Flash. However, yesterday, I think I achieved a breakthrough. After subclassing FlxTilemap and family to support hex-based maps, performance improved drastically. I still have some work to do, before it completely replicates the map functionality I had before, but it's looking promising.

Regardless of how that turns out, flixel will at least be extremely valuable in some future games I've jotted down in my backlog, so thanks Henry!

In Other News
Indie life in the mountains continues to go well. I've been chugging away with my aforementioned two new favorite tools. I get the occasional rainstorm, bird calls, or coyote howl to add to my audio library. I've started some work on a new style of hex art I want to try. And I even got some hands-on time with my PC's guts, replacing a dying exhaust fan. Good times!

2 comments:

  1. Hey, you're welcome! Flixel has its limitations but it's great for prototyping. I'm surprised you had performance problems, I found Flixel *faster* than basic Flash for most things I've tried.
    Something else I've found useful is Tiled (http://www.mapeditor.org/). It's a general-purpose map editor with various export options. I thought it also had support for hex maps but now I can't find it...

    - Henry

    ReplyDelete
  2. I think the performance problems were down to me misusing the libraries. My hexmap was pretty big, so making each hex a layered sprite was a huge waste compared to the optimized approach he used in the FlxTilemap class.

    I'll have to check out Tiled when I revisit map generation. For now, I've been using a dynamically generated perlin bitmap in Flash and converting that. But eventually, I'll need more data per tile, and more control, so a map editor might be just the thing.

    ReplyDelete