UI work always takes longer than you expect

I keep forgetting how much of a time-sink UI coding can be.

Lately, I’ve been working on the GUI for MMORPG Tycoon 2.  I still haven’t started on a visual pass for it;  instead, I’ve been working on its structure.  One big change I’ve made recently is to give the player a different action bar when on the grid than when he’s in the game world;  he gets terrain-shaping tools while on the grid, and game-world-effecting tools while in the game world.

Or to put that differently, if you want to make a mountain, you need to be on the grid.  If you want to build a tavern, you need to be in the game world.

I’ve stripped the “Road” button out of the general “Build” toolbar, and put it into its own “Roads” toolbar.  This is to make room for more types of roads (different sizes, bridges, and eventually maybe even tunnels).  I’ve also stripped the “QuestGiver” button out of the Build toolbar, and moved it into a new NPCs toolbar, where it will eventually be joined by a few other types of NPCs.

Speaking of which, actually providing a real model for characters in the MMORPG world is rapidly becoming more important.  But I’m going to try to put it off until after my first milestone.

I’ve also spent some time designing how the player will place these objects within the MMORPG world.  I like the simplicity of being able to place an object, and then having it be fixed in place;  moving it not being an option.  However, with the current interface, the player can’t really see precisely how the object is going to be situated within the world, so it feels a little unpredictable.  I might need to expose the “Move” interface again, to allow the player to tweak the position of his buildings.  I’d also like to allow him to rotate them..  that’s not an issue right now because I haven’t spent any time on actually building nice-looking structures, but once I’ve done that, it’s going to be really awkward if every building is always facing the same direction.

Next step is building a GUI for manually setting up quests.  I was going to do combat engine v2.0 first, but discovered that it’s really annoying to go test combat when the random quest generation can end up putting all the monsters an extremely awkward distance away from anywhere useful, so the GUI work is going to come first.  Once that’s done, I’ll start on the revised combat engine.