

Having been a research programmer, I believe a long-term software project is most likely to succeed if one can make progress on it even if only able to return to it at intermittent intervals. Thus, I tried to include quality-of-life features for players of games made with this library, including a help menu listing commands and their synonyms parser special cases to allow more freedom in typing Commands and prompting the player with choices of direct object if they failed to provide one for a targetable Command, rather than rejecting their command outright. It seemed to me that, if I were a game designer thinking about using this game library, the most important thing would be an assurance that my players would be well-served out of the box. I wanted the user to be able to open this library, read the thirty or forty lines of code that specify "Bread Master", play that game, and be ready to write his own little game. I defined "complete" to mean I could hand the library to another programmer and expect them to be able to make a game, ideally after no more introduction than reading and playing the sample game, "Bread Master."ĭo right by both the user and the user's user, the game player. Having developed interactive fiction but never made my own tool for such, I set out to build a small but complete text-adventure engine. TA gave me free reign to submit any code sample I chose.

The rest of this page reproduces some introductory sections from the library's README, as of. My library and its documentation are available on my public GitLab account. Though the library is a mere prototype, I was able to use it to implement a sample game called "Bread Master." If you want to make a real interactive-fiction game, I recommend Inform 7, a phenomenal piece of software accessible even to those with no programming experience. As a work sample for a job application, I spent some time writing a Python library which lets a game designer create basic text adventures.
