The project was inspired by the BASIC computer game "C.I.A. Adventure", written by Hugh Lampert in 1980, and by a tiny four-room adventure world used in a reinforcement learning project by MIT's summer 2019 6.86x machine learning course.
This project is intended to implement:
- An engine for driving text-based adventure games
- A full-fidelity python version of the entire C.I.A. adventure game, which uses the engine
- The simple four-room house game, which uses the engine
- A reinforcement learning framework for solving these games
- A modified original game that reads in a command script, allows further commands to be entered, and writes out a new command script and a text log of all game interactions
For quality control, the Python game can be driven by the log file generated by the modified original game. It reports any discrepancies between the log file and the current game's output.
- The python implementation of the CIA game is complete, with very high fidelity to the original game
- The reinforcement learning framework is rewritten to be more modular and to allow differnt DQN topologies
- The modified original BASIC game is fully functional
- Redactions: Parts of solve/solver.py and solve/DecoupledPredictor.py are redacted because they are part student responses in the 6.86x course. The solver won't work without those pieces but the games are otherwise fully playable.
To run: cia/cia_game.py Play the CIA game cia/cia_solver.py Solve the CIA game home/home_game.py Play the Home game home/home_solver.py Solve the Home game