Pages

Sunday, June 8, 2014

All of the UI

It's been quite a while since I last made an update, but I've been steadily working on the game since then and I think it's about time I get around to making another update. So here it is!

Some of this is going to echo a bit of the last post. Probably the biggest changes since I've last written about the game were, once again, in UI. But there's a big reason for that! Sometime late last year I found out that the good folks over at RPG Maker Web finally figured out a way around RPG Maker's increasingly annoying resolution limit. Here's the thread, for future reference. I encourage everyone using RM to take a look at it.

It had a few fits and starts and required a lot of additional modifications as RM wasn't really made to support large resolutions. But once the initial hurdle of actually bumping the screen size up itself was overcome, everything else necessary to get it working correctly was easy by comparison, and there was no shortage of programmers interested in helping out - a lot of people have wanted to see a script like this come into being for a long time now.

After a few months and the work of several awesome people in the community, I'd say the script is mostly done. I've added in my own contribution to it, and I've been using the script for about two months now, and I can say that it definitely works.

The problem is, of course, once the actual resolution of the game is changed, the whole game has to change to suit it. Primarily, that means re-sizing all of the UI. The amount of work was further compounded by the fact that I took this chance to re-visit my choice of control scheme (previously console-style gamepad controls), and I decided that the game would play much better if it was more of a mouse-and-keyboard, PC-style game. So I essentially had to rewrite every piece of UI I had ever done for this game.

That took me a few months to do, but I did eventually finish it. It currently looks like this:


It's maybe not as artistically pretty as the previous UI (though I'm the middle of getting some help with that part of it too - more on that later), but it's certainly much easier to understand and navigate, and it allows me to display much more information in one screen without making it seem too cluttered.

It really matters to me that the game's (admittedly fairly complex) mechanics are approachable to people who have never heard of D&D before, so I'm trying to take as much advantage of the new control scheme as possible to improve on how the game conveys information. One of the first things I invested into doing once I had the player using a mouse is add tooltips.


I wrote them in a fairly generic way, specifically with the intention of being able to attach one to pretty much anything. So now, the vast majority of things in the game have the ability of displaying additional information when you mouse over them - from arbitrary regions in the menu, to enemies, items, NPCs and interact-able objects in the environment:




As you can tell from the last screenshot, the UI is not the only thing that's changed significantly. I've finally updated the game's graphics to a style that's much closer to what I originally intended to have.


The actual combat mechanics haven't changed too much, other than being cleaned up and polished a bit more. The biggest difference is in the presentation.

I did implement quite a few things that I had been holding out on before, however. One of them is Cleric domains:



I modified them a bit, compared to how they normally work in D&D. Usually they provide a handful of spells, and maybe some kind of special domain power. They're more of a small add-on to a Cleric, than anything else. I wanted to make them more meaningful, so I flipped things around a bit.

Now, Clerics have a fairly small initial spell list. To expand that list, you pick domains. In exchange for the much more restricted list of native spells, you get a lot more from domains than you usually would. Each domain adds exactly one spell to your spell list for each spell level, which effectively gives you 9 new spells. You also get more of them - two initially, then another one every 5 levels. 

Gone also are domain spell slots. Spells earned through domains behave just like any other spell you have, with no special restrictions or limitations. This should make building a Cleric a lot more interesting than before: which domains you pick will now dramatically change what your Cleric can actually do.

This ties into another area that's had a major change: spell-casting in general. So I mentioned that domain slots are gone - well, they're not the only ones. I've done away with the entire concept of spell slots. Honestly, I think the Vancian casting system has sort of outlived its purpose, and it seems many people agree.

I ran across this post on giantitp a while ago, which proposed the idea of replacing regular, slot-based D&D casting with a variant based on how Psionics works. It essentially turns it into a more standard RPG mana-based system, while still adapting things here and there to work with all of the other D&D rules. You can view a (very) detailed description of it here.

I already had completely implemented the standard D&D casting system at this point, so I went ahead and rewrote so it functions mostly like that variant system above. You probably already noticed this if you were looking at the screenshots above closely enough: the blue bar in the top of the status window is displaying the character's SP - or Spell Points.



I say it's mostly like that variant because I tweaked a bunch of things myself that I didn't quite like in the document above, like the exact amount of Spell Points each class gets at each level. In any case, I like the overall result: it's much easier to understand than traditional D&D casting (seriously, who really wants to spend 15 minutes preparing spells before heading out to a dungeon?), while also being easier to implement and balance.

 That's all for this update. I don't want to make it too long, and it's getting a bit late. I'll try to go back to making more frequent updates as the game gets closer to having a real demo out, and I'll definitely be talking about that here once it happens.

Until then!