Hello once again! Wow, it's been a month and a half since the last edition of WeekendWhut. Time really flies when you're (not) having fun - I haven't really worked on the game at all during this time.
But that all changed this weekend. One of the major mechanics of the game is/will be the dialogue system. It is also one aspect of the game that I've been putting aside to wait for that one beautiful day sometime in the future when I feel like working on it. That day finally arrived this weekend and I started progressing the system. A part of this newfound inspiration has to do with the fact that I would really like to get the essential mechanics in place as soon as possible, so that I can get the game in a somewhat playable state. Right now all you can do is run around, move between a couple of different areas, pick up items and fight a few monsters.
I'd finally like to include discussing with NPC's and progressing quests in that list, thus, work on the dialogue system had to be started.
Previously, I only had a very crude system in place that I called "static dialogue". This gave me a possibility to have a non-branching, linear dialogue. The player would press a single button to progress the discussion until the whole dialogue line was exhausted. I was going to take that system and build on it to introduce a "dynamic dialogue" system that would have branching conversation choices etc.
Well, I did just that, except that I scrapped the old system totally. I had made that like a year ago, and quite frankly it was awful. So I decided to start building the new system from scratch.
The new system supports loading the dialogues in from XML files into a non-balanced, non-binary tree like data structure. This tree is then used to determine the course of the discussion. The end of each branch in a discussion can have "end actions" defined which are essentially functions in the code that will be called at the end of that discussion branch if something special needs to happen. Quests can also be marked as progressed by a given branch and that in turn can be used to hand out rewards to the player. I will improve the system to support these functionalities at any point during the conversation, currently they are only supported when the conversation line ends.
While this system is miles beyond what I used to have, it's by no means perfect. While I can easily write different multi branching dialogues as XML files now, I have to do it manually using a text editor. A visual tree editing tool would be just dandy to lay out how the conversation lines branch out, but I most likely won't use any time on building one. Instead, I'll work on this system as long as it's good enough, then move on to other things until I reach that first milestone: a fully playable, if short and crude, test build of the game. Then I will move on to polishing the different mechanics, adding content, etc. This part might see developing some helper tools to make the process smoother, but that remains to be seen.
In other news, I still don't have a set platform for the game. It is marked as a WiiU game, because that's what I'm trying to target. However, I haven't heard anything back from Nintendo, so I have no idea whether the game will even see WiiU or not. I would also be interested in PS4, but haven't approached Sony yet.
If everything else fails, Windows/OSX/Linux on Steam is always a possibility via Greenlight, too. The only problem with that is that I've been building the game with console like controls etc in mind from the ground up. We'll see.
Until next time!