{"id":44216443,"url":"https://github.com/andrewjc/wolf3d-golang","last_synced_at":"2026-02-10T02:11:10.305Z","repository":{"id":65280969,"uuid":"583145287","full_name":"andrewjc/wolf3d-golang","owner":"andrewjc","description":"This project combines the power of reinforcement learning with a custom raycasting game engine written in Golang, reminiscent of the classic Wolf3D game. ","archived":false,"fork":false,"pushed_at":"2023-01-31T07:45:37.000Z","size":1313,"stargazers_count":8,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-08-17T08:52:09.961Z","etag":null,"topics":["game","go","golang","machine-learning","ml","python","reinforcement-learning","reinforcement-learning-agent","reinforcement-learning-algorithms","reinforcement-learning-environments","stable-baselines","wolf3d"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/andrewjc.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2022-12-28T22:45:52.000Z","updated_at":"2025-06-24T13:00:24.000Z","dependencies_parsed_at":"2023-02-10T14:01:19.752Z","dependency_job_id":null,"html_url":"https://github.com/andrewjc/wolf3d-golang","commit_stats":{"total_commits":38,"total_committers":2,"mean_commits":19.0,"dds":0.1578947368421053,"last_synced_commit":"1d699db0e693ee6797ef0f6f59af8ded8ade0d6c"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/andrewjc/wolf3d-golang","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andrewjc%2Fwolf3d-golang","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andrewjc%2Fwolf3d-golang/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andrewjc%2Fwolf3d-golang/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andrewjc%2Fwolf3d-golang/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/andrewjc","download_url":"https://codeload.github.com/andrewjc/wolf3d-golang/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andrewjc%2Fwolf3d-golang/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29288984,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-09T21:57:15.303Z","status":"online","status_checked_at":"2026-02-10T02:00:07.935Z","response_time":65,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["game","go","golang","machine-learning","ml","python","reinforcement-learning","reinforcement-learning-agent","reinforcement-learning-algorithms","reinforcement-learning-environments","stable-baselines","wolf3d"],"created_at":"2026-02-10T02:11:09.075Z","updated_at":"2026-02-10T02:11:10.300Z","avatar_url":"https://github.com/andrewjc.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Navigating Raycasting Worlds using GoLang, Python and Reinforcement Learning\n\nWelcome 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.\n\n![Screenshot](assets/screenshot.png?raw=true \"Game Screenshot\")\n\n## Getting Started\n\nTo get started with the project, you will need to have the following dependencies installed:\n\n- GoLang: You can download the latest version of GoLang from the [official website](https://golang.org/).\n\n- 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/).\n\nOnce you have these dependencies installed, you can clone the project repository and build the GoLang code by running the following commands:\n\n```\ngit clone https://github.com/andrewjc/wolf3d-golang.git\ncd wolfenstein-3d-golang\nmake build-game\n```\n\nYou can then run the game by running the following command:\n\n```\n./build/game\n```\n\nThis 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:\n\n```\nmake train\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandrewjc%2Fwolf3d-golang","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fandrewjc%2Fwolf3d-golang","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandrewjc%2Fwolf3d-golang/lists"}