Giter Site home page Giter Site logo

frankkie / thesis-project-if-game Goto Github PK

View Code? Open in Web Editor NEW
2.0 1.0 0.0 80.2 MB

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.

License: MIT License

Python 100.00%
interactive-fiction python3 procedural-generation procedural-storytelling dynamic-dialogs text-based-game game-development thesis

thesis-project-if-game's Introduction

Diploma Thesis - Development of a Procedural Storytelling game with Dynamic Dialogs

Purpose

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.

Abstract

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.

Repository Contents

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.

Getting Started

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.

Fonts and Music

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

Contact

For any questions do not hesitate to contact me, either by [email protected] or on my LinkedIn.

thesis-project-if-game's People

Contributors

frankkie avatar

Stargazers

 avatar  avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.