A while back I started drawing some static sprites for many of the races that will inhabit the game world. I took these and began coding in the shells of what will eventually compose each individual race as an NPC type within the game. Technically, all I've done so far is add the ability to choose a specific race type in the game's editor and place their starting position on any arbitrary map. There isn't much else other than being able to draw themselves in non game mode. While it's nothing incredible, at least it's a start. I have a few more races to go (I haven't even drawn generic sprites for them yet), so it may be a while before I have shells for all of them. The main purpose for this is to make it a little easier when it comes time to making each race unique. Most of what I've done so far was simply a bunch of grunt work that was, for the most part, time consuming.
On the other side of development, I've been implementing a useful and nifty feature into the game engine: a map system. More specifically, I'm putting together a mini-map system where the player will be able to see their position in the overall world map, as well as track where they have and have not visited. This is absolutely critical for a game of this style where exploration and, potentially, backtracking will be required. At first I was unsure of how I was going to approach the whole minimapping issue, but after some suggestions from fellow developers and a bit of thinking I came up with a solution that works for me. Each "screen-sized" portion of an in-game map corresponds to a single "tile" in the mini-map. Using this method, it's easy to correspond in-game maps to one another simply by telling the mini-mapping system which "start tile" an area given in-game map represents. In simpler terms, while editing a map I can simply tell it: the screen you're looking at right now corresponds to this specific tile on the minimap. Now that you know this, you can track the player's movement throughout the entirety of this in-game map and the mini-map will be able to update accordingly. So, the only burden this places on level creation is that each map must be made to correspond to some specific area in the minimap -- a small price to pay for a relatively automatic system.
It's still pretty generic at this point. So far all you get is a pink filled square for every area you have visited -- nothing exciting. I hope to replace this with the filling in of what looks like an actual map and some neat graphical representations of the places you have visited so far. Only after doing a mockup will I be able to tell if it will actually be worth it. The first thing in line isn't that, though. Now that I know what the minimap might look like in its entirety on the screen I am going to attempt to carve out an initial version of the game world to fit within a screen's dimensions in the minimap. The last thing I want to do is to have to create some sort of scrolling or zoomable minimap. It's annoying enough to have to keep toggling a minimap so you can see where you are, much less having to actually navigate around on it.
