A Stickman's Quest
A Stickman's Quest
A 2D choose-your-own-adventure game demonstrating an implementation of a reactive MVVM framework in Godot (a signals-based game engine).
This is a student project for CSE 340 at the University of Washington. The upload here is just so that it can be shared. Enjoy!
If the web player doesn't work, try the binaries! Windows is the easiest as the macOS binary is not notarized so YMMV.
Code overview (for CSE 340 graders)
We implemented a reactive MVVM framework by having a center "game view model" handle converting the react-like interface to the actual operations needed by Godot. This allowed us to abstract those parts away and use state changes to make things happen. Everything results in a scene switch which will reload the view and therefore update the UI with the new data reactively.
Files and folder
-
data
: storyjson
file. Like the "model" in MVVM. -
objects
: scene files for items in the game. These are pure "views". -
scenes
: scene files for scenes and UI. -
scripts
: all code, generally labeled as view models.
game_vm.gd
is our game view model which handles the reactive framework behavior. Everything else will change the state variables declared in game_vm
which trigger the getter/setter functions which will then perform the correct operation. Once the framework was in place, changing the story state or changing scenes was as easy as changing the state variables (as opposed to doing the work to load the new scene files or look through the story model graph).
Credits
Developed by Kenneth Yang, Liam Reynold, Sanjali Vuriti
Built with Godot 4.1.3
Status | Released |
Platforms | HTML5, Windows, macOS |
Author | Kenneth Yang |
Genre | Interactive Fiction, Adventure, Platformer |
Made with | Godot |
Tags | 2D, Singleplayer |
Leave a comment
Log in with itch.io to leave a comment.