Technical Aspects


There is a large amount of content in this program, with several branching narratives. The largest technical challenge then was to create an engine which would allow us to easily create these narratives. All of the dialog and decision boxes in the program are generated dynamically using Lingo scripts which parse lists describing who says what, in what order, and what decisions are available for each decision box. The bulk of the early work on this program was devoted to coding and debugging this engine. Once the engine was developed fully enough that it could control a single scenario from start to finish, the other scenarios were added to the framework. An additional feature of this engine is it's ability to choose randomly from a list of consequences for a given decision.

An additional benefit of this engine is that upgrading the program (as new drugs emerge, or new information is discovered about the drugs already included) should be relatively easy. Since we chose to include the lists in external casts, anyone with Director should be able to make simple changes to the dialog quite easily by editing the lists that contain the dialog. Any major changes would involve editing the score (with respect to placement of scripts, characters, etc.), and would be more difficult, but doable. We plan to provide the source Director file with the projector to allow educators (or future CS92 students) to modify the program.

Parallel to the development of the scenario engine was the development of the drug reference engine. Again, the design goal was to create an engine that would easily allow us to insert and change content. All of the scripts and content for the DrugRef are contained in an external cast, and each page of the DrugRef 2000 is a separate text cast member, and these cast members are all connected by hyperlinks. It is very simple for anyone with Director to change the DrugRef without affecting the flow of the program at all.

Back