Workin' on the editor
Progress is picking up again on my 2D RPG game. I never stopped working on the game's engine/editor, but progress was mostly non-visual and slow-moving progress.
The engine uses 'layers' (and 'floors'), and there are different types of layers. The biggest one ofcourse being the Tile layers (temporarily disabled due to a pending refactoring), and I've implemented Backdrop Layers and Decal Layers. There's several other important types of layers I need to implement, but most of them are simple enough I don't expect much complexity. Theres one or two layer types that'll require a decent amount of work, though.
Anyway, I got 'backdrops' implemented properly now, and there's alot of cool features in it.
- First, and most obviously, they can be used as backgrounds. And, since each Backdrop is a separate layer, you can layer multiple backgrounds together if desired - for example, if the upper layer was partially transparent.
- Second, they're optionally parallaxed, so you can move the Backdrops at different speeds when the player is walking around. This allows for potentially some interesting effects I intend to use to make the game more visually pleasing (light rays when outdoors is one I have in mind).
- Third, they optionally scroll (and at different speeds), so I can use Backdrops for slow-moving mist or clouds. And if I have different layers of mist moving at slightly different speeds, I think the effect would look rather nice. For the clouds, I was thinking subtle cloud shadows moving over the ground, but they'd need to be really subtle or it'd just be ugly.
- Fourth, they're animated - again beneficial for mist, but perhaps also for oceans or swamps.
(Pardon the big blue arrows - that's the texture I was using for testing, and not part of the editor interface)
You can also see the minimap working (top-right corner), and alot of other niceties are functioning like zooming in and out, and adding, deleting, and reordering layers. There's also alot of not-implemented functionality.
One big important roadblock that I recently overcame (hopefully for the last time ) was getting my textures and animations w/ metadata retrieved in a stable way. I don't have them all imported yet, and there'll be some manual labor organizing them, but the major roadblock was architectural design problems I was having. Over-engineering or over-simplifying, I was banging my head back and forth between those extremes.
I still have some work left to do when it comes to textures (packing them in archives), but that can wait until way later - even after map editing begins, since it doesn't affect the file formats in any way. If real-world performance is fine, it might not even need to be tackled at all until porting to tablets (post-release of PC/Mac/Linux).
It'll still be a ways off before I begin to actually use the editor to create the world, unfortunately. I make very little progress every day - a serious lack of butt-in-chair-productivity. But things are progressing!