Creating Atmosphere: New Lighting Capabilities in GEM RTS 2
Lighting plays an important role in creating believable game environments. It defines atmosphere, highlights architectural details, and adds depth to buildings, interiors, and industrial structures.
In GEM RTS 2, we continue improving visual quality while balancing graphical fidelity, performance, and compatibility with the existing modding ecosystem.
In our previous article, What Comes Next with GEM RTS Game Engine, we shared a first look at GEM RTS 2. Sharp-eyed viewers may have noticed something new in the scene featuring a kerosene lamp on a table. That brief moment offered a glimpse of the lighting improvements we're taking a closer look at today.
One of the latest improvements is the integration of Forward+ Rendering, along with configurable dynamic shadows for local light sources. Together, these features give level designers more flexibility in creating realistic and atmospheric environments.
More Dynamic Lights in a Single Frame
With Forward+ Rendering and its advanced Clustered Light Culling technique, GEM RTS 2 can now handle up to 128 light sources in a single frame, allowing developers to create environments with numerous localized lights.
Clustered Light Culling optimizes lighting calculations by identifying which light sources affect different areas of the scene. Instead of evaluating every light for each area, the engine processes only the relevant light sources. This makes it more efficient to combine multiple light sources, particularly those illuminating relatively small areas.
Streetlights, industrial lamps, floodlights, and interior lighting can be used together to create detailed nighttime environments, military installations, factories, and underground facilities. For level designers, this means greater freedom to build complex lighting setups without unnecessarily increasing rendering costs.
Dynamic Shadows for Local Lights
Local light sources in GEM RTS 2 can also cast dynamic shadows, adding depth and visual detail to illuminated environments.
For example, a wall-mounted lamp can cast shadows from staircases, railings, and other structural elements, emphasizing their geometry and giving the scene a stronger sense of depth.

A kerosene lamp placed on a table can illuminate nearby objects while casting shadows across the tabletop and surrounding surfaces, creating a more intimate and atmospheric setting.

This allows level designers to combine general illumination with carefully selected shadow-casting lights, using light and shadow to emphasize specific objects, architectural features, or areas of a map.
Balancing Visual Quality and Performance
Dynamic shadows require additional GPU resources, so shadow casting is disabled by default for local light sources. It can be enabled individually for each light source, depending on the needs of the scene.
This is a deliberate design choice. Level designers can enable shadows where they make a meaningful visual difference while keeping other lights with shadow casting disabled to reduce rendering costs.
Light LOD settings provide additional control overshadow rendering at different viewing distances.

Together, these options make it possible to adjust lighting complexity to the needs of each environment, balancing visual quality and performance without imposing unnecessary hardware requirements.
Realistic Environments, Accessible Performance
Our approach to developing GEM RTS 2 is not about pursuing the most hardware-intensive graphics technologies. Instead, we focus on improvements that deliver meaningful visual results while preserving performance and compatibility with the extensive library of existing GEM content and modding resources.
We want developers to create visually convincing environments without making powerful modern graphics hardware a prerequisite. Forward+ Rendering and configurable shadows from local light sources are examples of this approach. They expand the creative possibilities available to level designers while keeping rendering performance and accessibility central to the engine’s development.