Crossfire

Contribute

Make it better

Crossfire is open source and early. A clear bug report is worth as much as a pull request. Here's how to help.

!

Report a bug

Something broke, crashed or did the wrong thing. Tell us what you did and what happened.

+

Suggest a feature

Missing something your game needs? Describe the problem it would solve.

Fix the docs

Every docs page has an "Edit page" link. Typos and unclear steps are welcome fixes.

</>

Send code

Pick an issue, or something you want. The engine and editor are plain Odin.

Reporting bugs

Bugs go to the issues of crossfire-editor, the engine's too (the editor is where you'd see them). Search first: someone may have reported it already, and a thumbs-up or an extra detail helps. A good report has:

Security problems: please don't open a public issue; email the maintainer (the address on the GitHub profile) instead.

Suggesting features

Open a feature request and start with the problem: what you're making and what gets in the way. "A way to make enemies follow a path around walls" leads to a better design than "add A*". Look at the manual first: the engine may do it already.

Improving the docs

Code examples on this site are type-checked against the engine on every build, so a broken example fails the build instead of reaching you.

Contributing code

The engine and the editor are separate repositories, checked out side by side:

mkdir crossfire && cd crossfire
git clone https://github.com/bcrowe306/crossfire-engine odin_sdl_engine
git clone https://github.com/bcrowe306/crossfire-editor odin_sdl_editor
cd odin_sdl_editor
task setup    # submodules, STB, Box2D (once)
task run      # build and run the editor
task verify   # type-check and unit tests

You need Odin (the version CI uses: dev-2026-10), Task, git, and CMake for the static SDL. The full steps per system are in building from source.

Before you open a pull request

By contributing you agree your contribution is licensed under the project's MIT license.

Be kind

Assume good intent, keep criticism about the code, help newcomers. Harassment of any kind isn't welcome in issues, pull requests or anywhere else the project lives.