Releases: maxsu/IFProject
Releases · maxsu/IFProject
Release list
v0.0.1 Pre Release 3
What's Changed
Implemented Stories
-
Initialize Game Components
- The Game Loop initializes the Interpreter and View.
- The Pydispatch bus is set up to mediate events between components.
-
Manage Game Flow
- The Game Loop invokes the Interpreter to perform game steps.
- The Game Loop checks for
Exit_Gameevents after each step. - The Game Loop terminates the game if an
Exit_Gameevent is received.
-
Choices Flow
- The Interpreter sends
Put_Choiceevents with options. - The View receives
Put_Choiceevents and presents the options to the player. - The View captures user input when a
Put_Choiceevent is active. - The View sends a
Make_Choiceevent with the player's choice to the Interpreter. - The Interpreter receives the
Make_Choiceevent and processes the choice.
- The Interpreter sends
-
Exit Flow
- The View allows the player to trigger an exit command.
- The Interpreter processes the exit command and dispatches an
Exit_Gameevent. - The Game Loop receives the
Exit_Gameevent, performs cleanup, and shuts down the game.
-
CLI Entrypoint
- The CLI Supports manual testing of implemented stories
- The CLI runs from terminal via
IFEngineorpython -m engine.main
-
Logging Story
- Debug Log traces entry and decision points for
Interpereter,View, andGame - Log messages clearly indicate module of origin:
[View] User picked choice north" - Log is configured via
pyproject.toml
- Debug Log traces entry and decision points for
Full Changelog: 0.0.1.pre-2...0.0.1.pre-3
v0.0.1 Pre Release 2 (WIP)
Additions since last release:
-
Defined nodes for all yaml stories:
- Doc
- Blocks
- Block
- Content
- Text
- Null
- Goto
- GoSub
- Choice
- Error
- Return
-
All story tests are passing!
-
Added debug logging to parsing. Seen when used with: pytest -k simple_goto.yaml
-
Add story file names to story tests in vscode and command line
- enables selecting tests like: pytest -k hello_world.yaml
- eliminates need to debug tests to find out which yaml is tested
v0.0.1 Pre Release 1
Pre-release to test PyPi Publishing.