After much consideration I have decided the best course of action is to create a domain specific language to represent conversations. The main reasoning behind this is I need control structures, and to do that in XML is too much of a kludge.
Choosing this path adds a whole new complexity to this project, so I want to choose as simple of a language as possible. It will be designed for use in this game, and thus may lack a lot of language features, as well as possibly not being Turing complete. In addition, it will have built in types conducive to creating dialogues and other game scripting features.
At this point my main contender is the infamous Lisp. While it may be unfamiliar to many, I believe it will help keep the complexity of the World Quest code base down. We shall see.
This will be my first time creating an interpreter for anything resembling a language, and my first time outside of school in parsing a language. That means this may take a long time, with many possible rewrites. To help keep this blog moving I plan to work on the combat/spell/effects system next.
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment