Editing quests

Starting on an interface for editing quests today.  As you can see, it’s still really early;  not very much there yet.

Also today, massive changes and bugfixes to lots of things under the hood.  Notably, fixes to rendering of text-edit-buttons, fixes to text entry (you can enter punctuation, now!  And more than 32 characters!), added functionality to the vsBox2D and vsFont, and a couple other minor bits and bobs that will eventually find their way back into the trunk VectorStorm library.

But the fun stuff is that I made it so that the action bars can be placed either vertically or horizontally;  I’m thinking about using them instead of the old-style build toolbars that you’ll remember from earlier screenshots and versions of MMORPG Tycoon.  In this screenshot, I’ve selected a quest giver, which has opened up a quest editing action bar on the left, where I can select any of his five current quests.  Right now, I’m looking at the one labelled “Q4”, which is a fetch quest.  So far, the player can edit the quest name and description, and add quests to the QuestGiver’s list (by clicking the little ‘+’ button).  All of these new functions are being performed via the (relatively) new scripting system;  each button in the actionbars just sends a text command into the scripting system, which takes whatever action is required.  This approach really is an awful lot nicer to to write and maintain than the “every button is a different class which holds its own game logic” approach which I was using in previous versions!

But I’ve derailed myself;  I was talking about quest editing.  Right now, the actual tasks which must be performed to complete each quest are still being procedurally generated, rather than actually being settable by the player.  But I’ll get to that tomorrow.  :)

Also on the radar: I’ve been thinking about getting rid of the “context matrix” in the top right corner of the screen, which shows actions you can take on a selected object.  It just uses up too much screen space, and I think it would work every bit as well (and without intruding into the screen nearly as much!) as a simple action bar.