- Introduced `ATROPOS_INTEGRATION.md` for detailed instructions on using DynastAI with Atropos. - Added `INSTALL_AND_RUN.md` to guide users through installation and running the game. - Created `run_dynastai.py` for a simplified testing experience without full Atropos setup. - Implemented `setup.py` to manage dependencies and ensure compatibility. - Updated `requirements.txt` to include additional dependencies and version constraints. - Enhanced `README.md` with new sections on installation, running the game, and integration with Atropos. - Added installation verification script `verify_install.py` to check for required packages. - Updated game logic to support local card generation and improved API integration. - Enhanced web interface with new features for user interaction and game metrics display.
3 KiB
DynastAI - Installation and Running Guide
This guide provides step-by-step instructions to install and run the DynastAI game.
Prerequisites
- Python 3.8 or higher
- pip (Python package manager)
- Git (optional, for cloning the repository)
Installation
Step 1: Get the Code
If using git:
git clone https://github.com/torinvdb/atropos.git
cd atropos
Or download and unzip the project, then navigate to the project folder.
Step 2: Install Dependencies
Option 1 - Using the setup script (recommended):
cd environments/dynastai
python setup.py
Option 2 - Manual installation:
cd environments/dynastai
pip install --upgrade pip
pip install -r requirements.txt
This installs all required packages including:
- FastAPI and Uvicorn for the backend server
- Pydantic for data validation
- Requests for API calls
- Python-dotenv for environment variable management
Note: If you're using Python 3.13+, the setup script handles compatibility issues automatically.
Step 3 (Optional): Add OpenRouter API Key
For dynamic card generation using AI, create a .env file in the environments/dynastai directory:
echo "OPENROUTER_API_KEY=your_api_key_here" > .env
If you don't have an OpenRouter API key, the game will use pre-defined cards from the cards.json file.
Running the Game
Option 1: Web Interface (Simple)
This is the easiest way to play the game directly:
python run_dynastai.py
Your default browser will open automatically to http://localhost:3000, and you can begin playing.
Command options:
--no-browser: Don't open the browser automatically--api-port 9001: Use a different API port (default: 9001)--web-port 3000: Use a different web port (default: 3000)
Example:
python run_dynastai.py --api-port 8080 --web-port 8000
Option 2: Atropos Integration (Advanced)
For integration with the Atropos reinforcement learning framework:
# From the atropos root directory
python environments/dynastai_environment.py serve --web-ui
Troubleshooting
- "Missing cards.json" error: Run
python test_card_generation.pyto generate it - API connection error: Ensure the API server is running on the specified port
- Import errors: Verify that all dependencies are installed
- Web UI not loading: Check that both API and web servers are running correctly
- Python 3.13+ compatibility issues: Some packages may need manual installation:
pip install --force-reinstall --no-binary aiohttp aiohttp>=3.9.0
Playing the Game
- The game presents you with scenario cards that impact your kingdom
- Make choices (Yes/No) to affect your kingdom's metrics:
- Power: Royal authority and military strength
- Stability: Population happiness and civic order
- Piety: Religious influence and moral standing
- Wealth: Kingdom finances and economic prosperity
- Your reign ends when any metric reaches 0 or 100, or after 30 years
- Each decision affects the adaptive reward system that evolves gameplay based on your choices