Christian: Don’t fear the Reaper

The holiday season was a great one, but now it’s time to finally catch up with all that we’ve been doing. What we’ve been doing the most of (from my perspective anyway) is cutting down the game into a more manageable scope. This is undoubtedly a good thing, as it means that what we have in the final product will be more focused and polished. So! lets take a look at what’s changed. 
First, the dialog system has been modified to deal with more than two branches at a time. Originally, we wanted the player to be able to “interrupt” the conversation, almost like someone with a megaphone telling the conversation participants what to do. However, we’ve since moved to a more subtle dialog method. Our new method allows for more branching paths, and integrates items into the dialog system. With our new system, the player uses words that they’ve learned to respond to npcs. Sometimes these words are in fact representing items, so for example, the player could give a yam to an npc that asked for one. This gives us a lot more flexibility with our conversations.
The next thing that is substantially different is the AI. As stated before, the AI system was quite clunky to work with. However, the behavior tree system that we picked up also had a problem, in that it seemed to be incompatible with certain situations that cropped up quite often in our game. Namely, if an NPC wasn’t in the scene when it was loaded, but instantiated afterwards, the behavior tree would freak out. This left us with a conundrum. We could either give up this really nice system, or find a work around that worked with the package. Well, I’ve been experimenting with a workaround that seems to deliver more than it takes away. The workaround requires changing the way we’ve been setting up our levels, but in making the change, we can cut out large parts of the level manager, AI manager, and navigation code. It’s kind of painful to look at cutting out code that we spent lots of time on, but the reduced complexity is really quite worth it. Going forwards, things should run much more smoothly with the workaround in place.