My original content schedule had me slated to show off progress so far on my project. Well, as you’ve probably seen, things haven’t gone exactly according to plan so far. That’s not to say I haven’t done anything, there just isn’t the pretty demo I had hoped for.
The time I *have* been able to spend on my prototype has sometimes felt like two steps forward and one step back. The two main pillars for this project will need to be strong AI and a flexible storytelling engine. My first effort was to tackle AI, attempting to define a set of NPC relationships and be able to simulate how gossiping/eavesdropping would change opinions of each other over time. As with a lot of prototypes, progress was initially very fast followed by smacking straight into an invisible wall.
The challenge here was not to over-do it (which of course is easy/fun to do with AI simulations and so exactly what I did). The system was supposed to emulate all the drama that can come from the various personality traits that you would see in a typical drama. Unfortunately, attempting to map or accommodate every kind of personality trait, action, and combination of actors in a scene and was just getting to complicated. While I learned a lot about how I might like to structure the code for an AI personality, the actual method for communicating and listening/reacting to events in the world pretty much needed to be scrapped.
After that challenge, I decided to step back and take a crack at the storytelling engine. The simplest way to describe this challenge is designing a quantum “choose-your-own-adventure” machine. (ok, maybe that’s a bit much) Essentially we need to be able to handle a wide range of AI driven interactions in a story and allow non-player actions to affect the outcome of the story, all without requiring that a writer create thousands of completely unique scenarios. (we are on a budget, after all)
Since we’re working in Unity, I started by trying out the Adventure Creator plugin for Unity (available on the Asset Store). It is pretty much exactly what you would expect – a pretty comprehensive adventure game creator. It allows you to create very traditional point and click adventures with classic object puzzles, conversation trees, and a pretty intuitive cut scene creator. This seemed like an excellent leg up for my story engine.
After going through the tutorials and diving into the underlying engine a bit, I started to hit a wall again. Adventure Creator is perfect for what it was designed to do – completely script out a game. But I wanted to have a lot of flexibility and procedurally determined content (both branching story and individual conversations). This is where I ended up spending several days fighting the intended structure and making little to no progress. I was trying to fit a square peg in a round hole.
So where does that leave me? I feel like I have learned a lot and am at a better understanding of some of the technical challenges ahead of me for both the AI and storytelling engines. I sincerely wish I had more content to show off but I have to be patient and hold on to the fact that this was merely two steps forward and one step back (not the reverse). Any progress is good progress and hopefully next time I’ll have something a little more exciting to show off.