Working hard on this! I’ve been doing a lot of new things in preparation for the game itself. Here are some of the highlights:
No Demo
I decided that I’m not going to release a demo.
My reason? A demo provides an artificial milestone for completion. Just get the demo working and you’re good! The problem is, the demo doesn’t contain or encompass all the game has to offer. So you’re not really finishing anything other than a demo if you aim that way.
This means I’m focused on ALL the content in the game, not just for a very small part of it. This helps me figure out how much space I’m really using for everything as well as what kind of changes I’ll need to make to the engine to accommodate specific plot points.
Content Generation
I’ve had the story of the CRPG in my head for a number of years now… some of it has undergone revisions in my head, but for the most part I knew how I wanted it to end. It was all the middle stuff I wasn’t sure of. 🙂
So I sat down and started plotting out the various quest threads and stories for each region, and writing up the dialogue that would be needed. This has been very useful because it’s helped me identify new requirements for the engine, and helped me to flesh out certain areas.
One thing I wanted to really accomplish was to create a world you can believe in. If you play either of the first two Ultima games, you really don’t feel like they’re real worlds. They generally feel more like an amusement park. It’s strange that later games (like Ultima IX) actually regressed to that state.
Ultima III was the first in the series to really try and make it more like a real place, and it partially succeeded. The main problem was that there were still many towns and places that felt like “throw-in” material just to give you another place to go and buy stuff at, or find the ONE NPC in town that had something useful to say. The fact that the manuals didn’t even define the regions of the map as distinct places just reinforced it; you could literally redo the entire map of the game and move everything around and it wouldn’t matter.
So as I’ve been creating places and towns, I’ve really tried to think about the history and inject some interesting content and material to make it feel more like a real fantasy world. I’ve even made sure that the names of towns feel “fitting” for the region.
Elevated Maps
I’ve added map elevation to the game, which should help give the map viewing some depth, literally. 🙂 The idea that you can see over a forest if you get to a high point is very appealing! I had a kilobyte of RAM to spare to store up to 4 elevation levels. I had to completely re-write my map editor to accommodate adding elevation, and I also added light mapping to it as well.
My only concern, and it’s one I haven’t had a chance to fully test yet, is how it will impact the map view generation. In truth, areas that are over/under your elevation are MUCH simpler to calculate, they are either fully visible or not visible at all. But adding that extra bit of calculation to do may slow things down too much, I’ll have to see.
Graphics Crunch
I’ve had multiple character sets in the game for quite some time. As I’ve been focused more on finishing the primary engine, they’ve remained largely the same for a couple years now. Eventually I ended up with eight separate sets:
- World
- Town
- Castle/Keep
- Cavern
- Building/Interiors
- Dungeons
- Stat Screen
- Special (Non-disclosure on this one for now…)
Not long ago, I was looking at my Castle set and realized that I was largely using it for cosmetic purposes. So I decided to eliminate it and use building interiors for anything of the sort.
Recently, I started to try and draw out some dungeon maps, using some of my characters. I had planned to use tiles to create a false 2D isometric perspective; walls would appear to have top edges and slant down to the ground. The problem though, was that this proved incredibly time-consuming on the maps to draw, plus the walls were at odds with pretty much every other tile in the game.
So I decided to “crunch” my wall tiles down, using only a single tile. It’s much more simple and reminds me more of a BASIC game, but it also means I can consolidate my graphics into tighter sets. The only walls I kept was cavern walls; caverns I wanted to have some smoother edging in places, so it has five tiles.
So my new sets are:
- World
- Town
- Building/interior
- Cavern/Dungeon
- Stat Screen
- Special
One advantage this also offers is that maps can be less homogeneous; caverns and dungeons can freely break into one another in a much cooler fashion, where before they were either all one or the other.
My biggest challenge right now is figuring out how to portray elevation in a believable way that isn’t too confusing. I need to use a separator graphic of some kind to indicate an elevation change but also block the player from just moving up freely. Still working on this…