Post by chriscrawford on Aug 7, 2015 7:28:31 GMT -8
I have been struggling for days now trying to figure out how to convert the Storytron technology, which uses a client-server architecture, to the Dramagine architecture, which is single-machine. I am not having much success. I was able to make a small amount of progress with some simple substitution techniques, but the next step seems too steep. I need to convert the text-based menu structures into icon-based menu structures, collecting the new input as well. I don't see any clean way to do handle it.
I have been fighting this damned client-server architecture for months, and I have decided that I must contemplate the possibility of throwing it all away and starting afresh. The original architecture I designed was in fact clean and simple. There are just four points of interaction between the engine and the front end:
SendTriggerSentence: The Engine sends the output sentence to the front end, which serves to tell the player what has just happened.
GetPlayerSelection: The Engine prompts the player to select an item from the menu of available words.
GetPlayerDone: The Engine prompts the player to press the "done" button or backstep.
TheEnd: The Engine informs the player that the story has ended.
I could simply rip out all the client-server code and start anew using these four connection points, building a new front end. This is where I was last September. I abandoned this strategy then because it did not preserver LogLizard. However, I could replace Facundo's brilliant design for LogLizard (which rebuilt the contents on the fly using the engine) with a simple "store the whole damn thing" technology that stores all the LogLizard data explicitly. No clever rebuilding-on-the-fly, just masses of data. That's what computers are for, right?
The fact is, I have lost control of my own software. I don't understand any of the client-server stuff, or any of the LogLizard stuff, which puts me in thrall to it. I had hoped that I would find somebody who could fix it for me, but it appears that I am on my own. It looks as if I shall have to be self-reliant.
If I do this, it will set the project back by months.
I have been fighting this damned client-server architecture for months, and I have decided that I must contemplate the possibility of throwing it all away and starting afresh. The original architecture I designed was in fact clean and simple. There are just four points of interaction between the engine and the front end:
SendTriggerSentence: The Engine sends the output sentence to the front end, which serves to tell the player what has just happened.
GetPlayerSelection: The Engine prompts the player to select an item from the menu of available words.
GetPlayerDone: The Engine prompts the player to press the "done" button or backstep.
TheEnd: The Engine informs the player that the story has ended.
I could simply rip out all the client-server code and start anew using these four connection points, building a new front end. This is where I was last September. I abandoned this strategy then because it did not preserver LogLizard. However, I could replace Facundo's brilliant design for LogLizard (which rebuilt the contents on the fly using the engine) with a simple "store the whole damn thing" technology that stores all the LogLizard data explicitly. No clever rebuilding-on-the-fly, just masses of data. That's what computers are for, right?
The fact is, I have lost control of my own software. I don't understand any of the client-server stuff, or any of the LogLizard stuff, which puts me in thrall to it. I had hoped that I would find somebody who could fix it for me, but it appears that I am on my own. It looks as if I shall have to be self-reliant.
If I do this, it will set the project back by months.