https://github.com/andrewjc/wolf3d-golang
This project combines the power of reinforcement learning with a custom raycasting game engine written in Golang, reminiscent of the classic Wolf3D game.
https://github.com/andrewjc/wolf3d-golang
game go golang machine-learning ml python reinforcement-learning reinforcement-learning-agent reinforcement-learning-algorithms reinforcement-learning-environments stable-baselines wolf3d
Last synced: 4 months ago
JSON representation
This project combines the power of reinforcement learning with a custom raycasting game engine written in Golang, reminiscent of the classic Wolf3D game.
- Host: GitHub
- URL: https://github.com/andrewjc/wolf3d-golang
- Owner: andrewjc
- License: apache-2.0
- Created: 2022-12-28T22:45:52.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2023-01-31T07:45:37.000Z (over 3 years ago)
- Last Synced: 2025-08-17T08:52:09.961Z (10 months ago)
- Topics: game, go, golang, machine-learning, ml, python, reinforcement-learning, reinforcement-learning-agent, reinforcement-learning-algorithms, reinforcement-learning-environments, stable-baselines, wolf3d
- Language: Go
- Homepage:
- Size: 1.25 MB
- Stars: 8
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Navigating Raycasting Worlds using GoLang, Python and Reinforcement Learning
Welcome to the Navigating Raycasting Worlds project! This project aims to provide a custom raycasting game engine written in GoLang, reminiscent of the classic Wolf3D game, and to explore the use of reinforcement learning techniques to train artificial agents to navigate through randomly generated maps.

## Getting Started
To get started with the project, you will need to have the following dependencies installed:
- GoLang: You can download the latest version of GoLang from the [official website](https://golang.org/).
- Python: You will need to have Python installed to run the neural network trainer. You can download Python from the [official website](https://www.python.org/).
Once you have these dependencies installed, you can clone the project repository and build the GoLang code by running the following commands:
```
git clone https://github.com/andrewjc/wolf3d-golang.git
cd wolfenstein-3d-golang
make build-game
```
You can then run the game by running the following command:
```
./build/game
```
This will start the game env and open an IPC interface allowing the player and enemy character(s) to be controlled by the neural network trainer. You can then run the neural network trainer by running the following command:
```
make train
```