Helheim Engine

The tool that made Chrysalis possible

About us

Helheim Engine

Helheim Engine is a C++ custom engine based on OpenGL that has been used by Rolling Barrel Studio to develop the game Chrysalis. It has been developed during the 2023-2024 Master in Advanced Programming for AAA Video Games.

Our

Features

Algo de texto para rellenar o quiza no

Animations and state machines

Helheim Engine provides robust support for GLTF animated models , ensuring compatibility with one of the most widely-used 3D file formats for modern game development. This means developers can import models complete with complex animations, and skeletal structures seamlessly. To simplify animation control, the engine incorporates a graphical state machine system. This tool enables developers to visually manage animation states and transitions, allowing for intricate setups like idle, walking, running, and combat states. The systemalso supports blending between animations, ensuring smooth transitions that enhance gameplay realism.

VFX

The Helheim Engine’s VFX toolkit is designed to empower creators with versatile tools for enhancing visual fidelity. The engine includes particle emitters, capable of producing detailed effects like smoke, fire, rain, and magical bursts with customizable properties such as lifetime, velocity, and particle behavior. Developers can also utilize trail renderers to add dynamic trails to moving objects (e.g., weapon swings, projectiles) for added impact. Line components provide the ability to draw lines or laser effects in the game world, useful for rendering beams or special effect paths. Additionally, sprite sheet animations enable developers to create 2D animated effects from sprite atlases, ideal for explosion effects, spell animations, or other visual elements that rely on quick frame-by-frame transitions.

Sound (FMOD)

The Helheim Engine’s integration with FMOD, a powerful audio middleware solution, enhances the development experience by allowing audio engineers and developers to implement and test audio changes directly during live gameplay. The 3D audio capabilities of Helheim, paired with FMOD, enable highly immersive soundscapes where sound sources can be spatially positioned in the game world. This provides players with a sense of directionality and distance, enriching their auditory experience and making game environments feel more lifelike.

Scripting (C++)

For gameplay programmers, Helheim’s scripting system is rooted in C++, a language known for its performance and extensive control over low-level operations. The engine offers a robust API that supports the creation of complex gameplay mechanics, AI behaviors, physics interactions, and custom game logic. The combination of C++ scripting and Helheim’s modular design ensures developers have a powerful toolkit at their disposal for building everything from small indie projects to large-scale games with intricate systems.

Physics

Helheim Engine integrates physics simulation using the Bullet Physics Library, an open-source C++ library widely used for efficiently managing interactions between GameObjects. We use it as the foundation for handling collision computation between our lightweight Box Colliders in a precise and optimized way, with incremental AABB and OBB checks , allowing immersive interactions throughout the whole game without losing performance.

UI

Helheim Engine has a custom made UI system, allowing the use of buttons, sliders, images, text and video, for both Screen and World Space. Each of these components has an event system attached to detect and react to events such as hover, click, press and selection.

Navmesh

Laili¡olailolailolailolailolailolailoa

AI / enemies

(pathfinding, navigation, attacks)

Rendering

  • Batching

    Enhances rendering performance by reducing the number of draw calls, allowing for smoother gameplay in scenes with many objects.

  • Deferred shading

    Enhances the visual quality and performance, especially for scenes with multiple light sources, by dividing the rendering in two stages. The first one, the geometry pass , information about each pixel is rendered into multiple textures, often referred to as the G-buffer. This process is independent of lighting, so it requires only one pass to capture all scene geometry data. Then, in the second stage, the lighting pass , the lighting calculations are applied based on the data stored in the G-buffer. This separation allows the engine to calculate lighting only for visible pixels, significantly reducing the computational load, especially when many lights are present.

  • GPU Culling

    Supports complex lighting and shading by storing material properties, enabling advanced visual effects and detailed material representation.

  • IBL

    Provides realistic ambient lighting and reflections by using environment maps, adding depth and realism to scenes.

  • Shadows

    Creates realistic and dynamic shadows to enhance scene depth and atmosphere.

Post-processing

  • Bloom

    Adds a glow to bright areas, simulating light spill.

  • Volumetric Lights

    Creates light beams and god rays for atmospheric scenes.

  • Height Fog

    Introduces depth-based fog for more immersive environments.

  • Screen Space Ambient Occlusion

    Adds subtle shadowing in tight spaces to enhance depth and realism in scenes.

  • Decals

    The engine supports decals for adding dynamic details such as bullet holes, cracks, or splatter on surfaces. This feature allows developers to enhance environmental storytelling without altering base textures or meshes.