Building the map

Ezha Framework

A screenshot of the template game title screen

For Undead Debt, I'm starting off with my 'Ezha' framework that I had written previously, and spent time making a template project for. This means I don't have to write as much code getting started up. As you can see from the screenshot, a basic main menu is already implemented, and it also has common features like a control panel and config file with sound and volume controls, Tiled map loading, managers for assets, and support for language translation. I also intend to add accessibility features in the Ezha framework itself and in the starter template so there's no reason to not have commonly needed options (e.g., remappable keys)

You can check out the Ezha source code here:

2D Tileset

A screenshot of the template game running, with a simple "rpg style" tileset loaded and a small character sprite in the center

At first my U.S. Tiled map wasn't working in Ezha, and then I saw a "TODO: Implement support for 2D tilesets". Oops. I've done this before, but I guess earlier I only implemented the bare minimum in the free time I had. All I had to do was calculate the coordinates of the tile in the tileset like this:

tileX = ( int( tile ) - 1 ) % self.tilesetDimensionsTile[0]
tileY = ( int( tile ) - 1 ) / self.tilesetDimensionsTile[0]

I have to subtract it by 1 because the Flare file format stores a tile's # with 1 starting at the first item in the set, not 0.

Building the map

This game will basically just be one big map, and you will run around the U.S. to deliver billing statements. I made an example map yesterday, but it wasn't as big as I had wanted it; I want to have some amount of feeling of exploring the wilderness, and not have all the towns close together. Today I doubled the map size and drew a new map. Currently, Canada and Mexico are in gray, but once I have more tileset drawn they will look normal.

I've done my 30 minutes for the day. 

Now I have to write a lecture for my Discrete Math class because I work ~all day~ tomorrow. *sigh*


Leave a comment

Log in with to leave a comment.