Yet Another UI Iteration
Goblinson Crusoe rpg turn-based hex-based Urho3D
Today I did yet another iteration on the basic workings of the UI. This one I like. Enough, at any rate, that things are more functional and "official". Here is a video:
Building a game is a very organic process to me. I've never been very strong at all on up-front design, even way back in college when waterfall design was king and my GPA hinged on being able to turn in pages and pages of up-front design for any given project. I just can't see how the parts are going to fit together until I dip my hands in and start throwing around prototype code. I iterate, sometimes quite heavily. (For example, my basic entity framework has gone through probably five major iterations and countless tweaks.) There are always places where I sit back, scratching my head and thinking "Oh, that's not going to work." Similarly, there are always places where I say, "Wow, that worked better than I anticipated." But I just can't see those places during design.
For me, design IS code, which is why I like working in Lua so much. Iterating is so much quicker when you are not bound by static typing and compile times. My free time is pretty limited what with work and the kid, so watching a compile progress window is annoying. Outside of minor tweaks, I haven't had to re-compile my engine in a couple weeks, not since I crow-barred Urho3D into it. Since then, it's all been Lua code, and that makes it go pretty fast.
The drawback to the light-on-design, heavy-on-iteration methodology, of course, is the tendency to spaghettification. However, that can be mitigated by enforcing some guidelines and a little self-discipline. It gets tedious having to dip back into code to "officialize" it once a prototype proves itself, but it's what you have to do to keep your project under control. Dip back in, strip out magic numbers, codify and clarify and conciseify everything so that it fits your overall design scheme, or ten weeks (or months or years, in my case) down the road you will regret it.
Anyway, this iteration of the UI feels good to me. It feels right. The action buttons work (I need to do some more of that officializing, though) and the animations feel fluid and "bouncy". It needs the spellbook/crafting book in order to assign skills to the 4 quickbar slots, though, so that will be my project for tomorrow.