Friday, May 1, 2015

Playfield editor and Green Toady

Today was an Atari Anguna day.

First, I was working on some new room layouts, and got a little frustrated with the room editor I had been using (Kirk Israel has an incredible 2600 Sprite Editor on his website but his playfield editor leaves a bit to be desired. (mainly, that I couldn't drag to paint, instead had to click each cell, also that I couldn't paste my code into the tool to modify already-existing rooms).

So I decided to rewrite it. The end result isn't perfect, but seemed worth the time. (about an hour and a half). It fixes those issues and a few other minor niggles from Kirk's editor. It's posted at http://www.tolberts.net/pf.html and the code is fully contained in that one page, (other than pulling in dependencies from google) in case anyone wants to take it and improve upon it.

I also started on the next enemy, the Green Toady (the first difficult enemy from the first dungeon in GBA Anguna). I've got him working, but now realized that I don't have a mechanism for enemies sprites to flip horizontally depending on their direction. It didn't look too strange for the slimes, but it looks dumb for this guy to always face the same direction.

The 2600 has a register to flip sprites horizontally, but because I'm reusing the player-2 sprite for all the enemies on the screen, I have to update that register in the display kernel. In other words, it has to be fast, and fit somewhere in the kernel where I have unused cycles. So that's the next challenge waiting for me....

Those are supposed to be pillars, but I've been told it looks more like "The Illini Room"

Looking at that screenshot, I really need to go back and rework the top header bar. It's a mess of brokenness right now.

2 comments:

Tim Dudek said...

So is that guy the alligator from the first dungeon?? :)

Nathan Tolbert said...

No, he's the Green Toady, the guy from this screenshot: http://www.tolberts.net/anguna/screenshots/angunaLevel2.png

Optimization and C

Starting this next game in C, I've known there will be places where C isn't fast enough, and I'd have to drop to assembly to ...