Sunday, August 19, 2012

Event Director and Script Builder/Processor Progress

This past weekend allowed me to dive back into the Event Director and work on the Script Interpreter that the director will interface with. The director is now fairly solid, with the ability to be called with simple events and be able to control and modify the screens and game state data. It's much better than what I had going last week.

The Script Interp system purpose is to interface with the Chat Mapper "scripts" that will be all in XML. The idea is that I will be able to write dialog and actions into the chat mapper interface and the game will interpret those into actual functions and perform work. The system is currently broken down into 3 parts, the Interpreter (receives xml), the writer (converts xml scripts into function code objects), and the processor (fires off functions). I've gotten much further along with this script system than I figured I would. Both the processor and the writer are in with room for adding additional functions. The interpreter's framework is in but is hooked up to some debug code that is made to resemble part of the output I expect from the chat mapper xmls.

I'm pretty happy with what I managed to do but I hit a pretty bad set back that I was gambling on. I found out the hard way that Action Script does not support multi-threading. It's kind of obvious from a programmer's point of view, but I deluded myself with the familiarity I have with C++ coding that it would somehow work in the end. Before I make it sound more like the game was murdered, I'll specify that system I was using for handling dialog and messaging will need to be redesigned. Essentially, I wanted a dialog to pop up, allow input, and be able to output it so that it can be immediately used. Apparently, without multi-threading, I cannot "wait" for the player's input without freezing the game. Now I have to do some crazy solution that will use several event calls and some specific dialog output storage and function callbacks or weird voodoo. I have no idea and I'll be spending the next few days puzzling this one out.

Just another bump along the road, so don't worry about it, I'm just venting.

On a final note, I was curious about dusting off the old, Live-Stream account and wanted to know if anyone is interested in watching for next weekend. It would be mostly just me coding but I could always combine a QA and what not. If there's enough interest I can set a time frame.

No comments:

Post a Comment