Instructions for Running the Project
The project binaries are located in the Binaries folder on the main branch of our Gitlab repository. To extract the build artifacts of the project, unzip both GameBackend.zip and GameFrontend.zip.
On Windows, run GameBackend/WebApi.exe to open the project backend in Command Prompt. Some text should appear, so press enter in the Command Prompt to initialize the game (Fig. 1). After completing this, run GameFrontend/Graphics.exe to run the project frontend. You should see a window pop up (Fig. 2), where you can create a randomized level by pressing the add button (Fig. 3). After choosing a level type, you will return to the original screen (Fig. 4), where you can then select the level you created (Fig. 5).
On Mac OS and Linux, you can follow the instructions on Windows, but run the EXE files with Mono.
Instructions for Controlling the Player via Keyboard
- W/A/S/D: Move Up, Left, Down, and Right
- I/J/K/L: Attack Up, Left, Down, and Right
- Q or Enter: Idle State
Instructions for Controlling the Player via Player AI
- Choose which language you want to create your AI in
- Python
- Download the Python API bindings:
- `craftai-1.0.0-py3-none-any.whl`
- Create and activate a Python virtual environment
- To create the environment, run `python3 -m venv venv`
- To activate the environment, run `./venv/Scripts/activate` (Windows) or `source ./venv/bin/activate` (Linux)
- Install the API bindings package using `pip install <path_to_whl_file>
- Download the Python API bindings:
- Rust
- Download and extract the Rust API bindings:
- `craftai_bindings.zip`
- Add to your `cargo.toml` under `[dependencies]`: `craftai_bindings = { path = "/path/to/api/bindings" }
- The path should be to the folder that contains the `cargo.toml` file of the extracted bindings
- Download and extract the Rust API bindings:
- Other
- Read the REST API documentations here to learn how to interact with the REST API
- Once you can interact with the REST API, develop you AI according to the level/challenge you want to solve.
- Run your program as you would run any program in the language you chose (e.g., `python3 ai.py`, `cargo run`)