The following is a tentative roadmap for the project to reach version 1.0.
Sprint game mode is supportedItems in cells can be parsed by the game state- API for vector state representations is complete
- Finish monster vector in monster.py get_monster_vector.py
- Next step - return monster details like health, ac, ev, etc.
- Obtain item properties, see list in state/itemproperty.py
- Finish monster vector in monster.py get_monster_vector.py
- API for PDDL state representations is complete
- Update
models/fastdownward_simple.pddl
to be consistent with PDDL state representation API - Create simple RL agent that uses vector-based API
- Create simple planning agent that uses PDDL-based API
New agent class that acts as a passthrough for a human player to play the game
- Simple planning agent working on tutorials
- Simple reinforcement learning agent working on tutorials
- Add support for autobahn for terminal version of the game
- Refactor game connection code to be less redundant between browser and terminal versions of the game
- Ensure all game modes are supported in the terminal version running on linux
- Add metrics for measuring API performance (speed of actions being sent to game, etc.)
- Add metrics for measuring agent performance (number of tiles visited, experience level, number of monsters killed, etc.)
- Add player skills into the gamestate data
- Add actions to change experience point allocation for skills
- Enable agent to receive spectator commands through spectator chat, including 'pause' and 'resume'
Refactor code into a pip installable library
- Code refactoring to adhere to better design principles
- Replace most print statements with logging statements
- Log files separated into agent logs and network logs
- Documentation of all functions
- Documentation hosted on pypi packages page