A simple FPS project (Wolfenstein 3D clone), made with Raylib and Odin programming language.
This project was originally a way for me to learn programming C, but it got rather tiresome to work with C.. So I moved the whole thing to Odin instead!
The Odin code is still somewhat messy since I basically "transpiled" all the C code to Odin. It will be cleaned over time. Hopefully.
Here's a blog post I wrote about the ordeal: https://akselmo.dev/posts/moving-from-c-to-odin/
I also hope that one day this game will be fun to play, and I want people to tinker with the source code, create mods, maps etc..
I also want this project to be a starting point for those who want to make their own simple FPS, or to be used as a learning tool.
Currently not looking for contributions for code, but any other creative assets such as art is welcome!
If you find glaring bugs or issues in the code, I welcome issues and critique so I can fix them!
First, get the dependencies that Raylib uses: https://github.com/raysan5/raylib/wiki/Working-on-GNU-Linux
The game should run on anywhere where Raylib compiles.
Since this project uses Odin, it's rather simple to build and run.
The Odin version I am using is usually latest git master, but when there's a stable versions in Fedora packages, I will likely stick with those.
# For building
odin build ./src -collection:src=src -debug -out:./build/ArtificialRage
# For building and running
odin run ./src -collection:src=src -debug -out:./build/ArtificialRage
# There's also corresponding ./build.sh and ./run.sh files for the above commands
Make sure to run the game in same folder where assets
folder is. These assets are needed for level textures and so on.
You can use LLDB to debug. I use LLDB DAP with Kate and it works really well for this, but any debugger (visual or CLI) that uses LLDB should work.
Check this project for TODO list: https://codeberg.org/akselmo/artificial-rage/projects/1358
The old C codebase can be found from this commit: e93149492545cbc93971c07cc9e7a976ca5ff35e.