Skip to content

Repository files navigation

About Hyperion

Hyperion started as a passion project in 2016, and is still worked on daily.

Our aim with Hyperion is to offer a high fidelity gaming experience even on low-end hardware using our in-house baking system to prepare as much of the lighting and effects as possible ahead of time.

That, and the editor shouldn't suck.

Website: hyperionengine.dev


Hyperion Engine Screenshot - Baked lightmaps in Editor view

Some Features

  • Clustered deferred shading supporting a large number of dynamic lights while maintaining good frame times. Uses forward clustered shading for translucent materials.
  • Visual editor on Windows and macOS, built with Avalonia.
  • Offline lightmapper integrated into the editor. Bake lightmaps into the scene, reflection/irradiance probes for dynamic objects, fog volumes, and other static lighting data such as shadow maps.
  • Real time global illumination and reflections via Ray tracing and screen-space options for non-RT capable hardware.
  • Shader compiler system with built in permutations support, and live reload in editor to see changes as you make them.
  • Scripting via the Strata programming language - JIT compiled, live reload in editor, or AOT linking with shipping builds
  • Level streaming via grid-based streaming
  • Basic multiplayer setup, with a dedicated server, client-side prediction, replication, etc

Platforms

Currently, we are focusing our efforts on developing the engine for Windows, macOS, Android, iOS, and Steam Deck via Proton. Editor support is available on Windows and macOS.

Linux support is planned for the future but not in active development. Contributions welcome on that front if you are interested in that!

To get started, check out the Compiling the Engine guide to set up your development environment and compile the engine.

Contributions

If you want to contribute please feel free to submit a pull request! We are open to contributions of all kinds, from bug fixes and documentation improvements to new features and systems.

If you submit a PR please indicate where AI-generated code was used (if applicable)

Getting started

Definitions and Terminology provides definitions and explanations for various terms and concepts used within the engine. - This is slightly outdated and/or incomplete, but it is a good starting point.

Console commands and console variables (CVars)

Console Commands are commands that can be executed in the editor's console window to perform various actions or set global states that the engine can use to modify rendering, physics, gameplay, etc.

What about AI?

AI can a useful tool when used in moderation. But we plan on keeping this codebase mostly written by humans, by hand. Intention is important.

Where do we use AI? Primarily, we aim to keep the usage of AI directed towards:

  • some UI stuff
  • bug fixes hey, take a look at this callstack...
  • code review

About

A modern C++ game engine. Realtime ray tracing, clustered shading, visual editor, C# scripting and more

Topics

Resources

Stars

547 stars

Watchers

16 watching

Forks

Used by

Contributors

Languages