This project was developed as part of my Diploma Thesis at the Department of Electrical and Computer Engineering at the University of Patras, Greece. The Thesis subject was the development of a Procedural Storytelling game exhibiting dynamic dialogs.
Procedural Generation is the technique of creating digital material algorithmically, in a way that guarantees the uniqueness and reproducibility of the generated objects, with minimal memory requirements. Procedural storytelling (also called narrative generation) is a type of procedural generation which implements the same principles in the creation of written stories. Both procedural and narrative generation are widely utilized in game development for constructing sceneries, objects, descriptions, dialogs, and other game assets.
This thesis was aimed at the creation of an interactive application which exhibits procedural generation of dynamic dialogs; that is, dialogs with responses which are not predetermined, but depend on the context and the state of the game at any given time. The application is in the form of a text-based game which was implemented using the programming language Python 3. For the needs of this project, some of the aspects of an Interactive Fiction programming language were also implemented using Python. Inspiration for some of these functions was drawn by the functionalities of the TADS 3 standard libraries for creating IF Games.
This repository contains both the code and assets of the game developed for the purposes of this Diploma Thesis, as well as an exhaustive report on project (written in Greek). There is also a demo video of the project, which you can find here.
If you wish to play the game yourself, you can clone the contents of this repository and download the necessary Python modules (which you will find in the project's requirements file). The project runs on Python 3.7 or higher.
The use of certain fonts and music for this project falls under fair use, as they are utilized for academic purposes. In the Assets Directory you can find the following:
Fonts:
Songs (Chiptune versions created from freely available MIDI files):
- Forum - Belaya Noch
- Alyans - Na Zare
- PPK - Resurrection
For any questions do not hesitate to contact me, either by [email protected] or on my LinkedIn.