Skip to content

[MIRROR] Scifi FPS made with RayLib. Check the link below for the development repo which has the releases and issuetracker.

License

Notifications You must be signed in to change notification settings

Akselmo/artificial-rage

Repository files navigation

aksdev-blog mastodon itchio ko-fi Liberapay patrons

Artificial Rage - a Scifi FPS

Screenshot of Artificial Rage

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.

Contributing

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!

How to compile for different platforms

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.

Using Odin to build

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.

Debugging

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.

TODO:

Check this project for TODO list: https://codeberg.org/akselmo/artificial-rage/projects/1358

Old C code

The old C codebase can be found from this commit: e93149492545cbc93971c07cc9e7a976ca5ff35e.

About

[MIRROR] Scifi FPS made with RayLib. Check the link below for the development repo which has the releases and issuetracker.

Topics

Resources

License

Stars

Watchers

Forks