As part of my Low Level Programming module in my second year at UWE we were tasked with porting a text adventure game made in BASIC to a C++ game using the ASGE game framework created by our professor, James Huxtable. The game we needed to port is the one created in Write Your Own Adventure: Programs for Your Microcomputer. The game is a haunted house text adventure where the player collects items.

After creating and submitting the game port, I wasn’t happy with the way I implemented the actions and events. So, I went back to improve the game and created a text adventure framework where the rooms, items and all events are read in through JSON files, allowing flexibility and the creation of many different text adventures, as well as a better overall code structure.

The Text Adventure Framework loads rooms, items and events from JSON files allow flexibility of rules such as commands the user can enter and the story of the game. This allows for multiple stories to be created and added, so I implemented a menu where the player can choose which story they want to play.

The structure of the JSON files and how the events are managed can be found in the devlog linked above.