Exploration Prototype 1.2
December 8, 2011 Leave a Comment
Good day today! As I finished off the latest milestone of the Vita Essentia prototype. Actually, to be perfectly honest that’s a teensie bit of a lie. What happened was, Chris and I were working on the battle system together, but he was away at lectures and doing coursework all day. So I thought “Hey, I’ve wanted to get a proper dialogue system in there, so let’s see how far I get”. So, before I went to bed last night I bashed out a quick design for a dialogue system, and by end of play today I had finished it! (By today I mean the 7th of December, it’s almost 2AM now and I just haven’t gone to sleep yet).
OK, that was a teensie lie as well, it isn’t finished per se. But mostly! All the core functionality is in there. I’m pretty pleased with it, as it allows easy dialogue creation in the Unreal Editor. My previous solution used a huge Kismet function and a flash movie which, apart from being incredibly time-consuming to create every conversation, was memory intensive and caused lag whenever the movie closed. The new solution is 100% script based and uses the Canvas system built into UDK, which has functions like “DrawBox(width,height)” and “DrawText”. So using this and what I learned when I created my itemtrigger class, I created a new placeable trigger to use within the Unreal Editor. The properties of this trigger contains an array of DialogueField classes, which can each now (at last, after some massive issues!) be edited individually. Here are some of the cool things you can edit on each field:
- Speaker Name (determines the text that goes at the top of the dialogue box)
- Text (Main body of the dialogue box)
- Width/Height (Governs size of box and text wrapping)
- Timer (not implemented yet. A value here will overwrite the need to press Use to advance to the next entry, and instead close the current entry on a timer)
- Position (Possibly the coolest one. A drop down menu with 9 different positions on the screen for the text box to go. So you could alternate between TOP_Left and TOP_Right for example to simulate a conversation. And all in one trigger!)
There are a couple of other bits and pieces, but that’s the important stuff. The time this is going to save when it comes to the full game will be measured in weeks or months. The other big changes since the last update revolves around the inventory system. Since Chris has gotten seriously involved now he and I basically overhauled the whole thing. I learned loads about classes, and although when you see it on the video it works exactly as it did before, the underlying code is much more efficient.
- Luke