CRUX

About

GAME ENGINE

Built by Dinobytes Studio, Crux is a Linux-native, free and open-source game engine written in C that provides a suite of low-level APIs for developing lightweight, high-performance games in 3D environments.

Demo videos coming soon! For now, enjoy this music by DUSQK.

ROADMAP

We still have several milestones to hit before we can provide you with a "complete" 1.0 release. Read more below about the features you'll find in Crux 1.0!

  • Rendering: Use OpenGL to render Entities with models and shaders. [Completed]
  • Physics: Create a simple physics engine with boxes, spheres, planes, gravity, and elastic collisions. [Completed]
  • Game State: Create a centralized game state observer system. [Completed]
  • Audio: Create a user-friendly API built on top of OpenAL for music and spatial sound effects. [Completed]
  • UI: Display in-game popups, HUD elements, menus, and more with Clay's blazingly fast immediate-mode UI.
  • Multiplayer: Support for multiplayer networking.
  • Cross-Platform Support: Add support for Windows machines.
  • Documentation: Write robust documentation, ensure compliance with third-party licenses, and create a tutorial for building a simple game.
  • Licensing: Ensure compliance with third-party licenses
  • Tutorials: Create a tutorial for building a simple game.
  • Testing: Write a robust test suite.
  • Miscellaneous: Many other features, bug fixes, and refactors are likely to arise, as this is our first time building an engine.

BEYOND 1.0

We have a few ideas for continuing development after the 1.0 release:

  • Rendering: Features such as anti-aliasing and physically-based rendering, optimizations such as instancing, and bug fixes such as sorting transparent objects by depth for accurate blending of multiple transparent objects.
  • Physics: Enhance our physics engine with more sophisticated features, such as more bounding volumes, force generators, a constraint solver, and a stack for resolving collisions in realistic order.
  • Level Editor!