Graphics production within Graveyard Keeper: Revealing the techniques behind its visuals
In the intriguing pixel art game, "Graveyard Keeper," developers employ a variety of techniques to create captivating visual and atmospheric effects. From dynamic ambient light to realistic shadows, the game's visuals are a testament to the ingenuity of its creators.
One such technique is the use of LUT (Look-Up Table) colour correction, a table of colour changes that adjusts the colour shades depending on the time of day or world zone. The game's artist has crafted 10 different LUTs for different times of day, ensuring a consistent and immersive visual experience.
The game's lead programmer, passionate about graphics, has implemented an easy-to-set-up and fast LUT colour correction system. This system allows for real-time colour adjustment tools, enabling dynamic changes in the game's colour palette.
Dynamic ambient light is another key feature of "Graveyard Keeper." Developers use layering and colour gradients to create a sense of depth and atmosphere, enhancing the perception of ambient light.
Dynamic light sources are simulated by adjusting the brightness and colour of sprites based on their distance from the light source. This technique, known as sprite lighting, helps create a more realistic lighting environment. Lighting maps are also used to define how light interacts with different parts of the environment.
Normal maps, while not traditionally used in pixel art games, are simulated in "Graveyard Keeper" by faking normal mapping through clever use of shading and texture manipulation. This creates the illusion of detailed surfaces without the need for actual normal maps. Texture animation is also used to mimic the effects of normal maps.
3D light simulation is achieved through the use of 2D techniques such as layering and parallax scrolling to create a sense of depth. Shadow mapping is another technique employed, dynamically adjusting the colour and opacity of shadows based on light sources.
Shadows are an essential aspect of "Graveyard Keeper's" visuals. They are made with sprites rotating around a point, rotated inside a vertex shader for quicker performance. About ten different universal sprites are used for shadows, with each shadow adjusted separately for each object.
Object altitude simulation is achieved through parallax scrolling and layering, creating the illusion of depth by moving background layers at different speeds and placing objects at different depths.
Fog is implemented in the game through the use of gradient overlays and noise functions, creating a more organic fog effect.
The wind in "Graveyard Keeper" is animated using a deforming shader, with particular leaves animated instead of the whole crown of a tree. This helps avoid static and lifeless images.
Particle effects are used to create dynamic wind simulations, such as blowing snow or dust. Sprite animation techniques are used to create fluid animations, while tweening techniques are employed to smoothly transition between different animation states.
While "Graveyard Keeper" is not primarily a pixel art game, these techniques can be applied to enhance its visual and atmospheric effects. For instance, the shader is used to create a swinging effect when a player goes through wheat or grass. Normal maps are drawn by an artist painting light on 4 sides with a brush.
Here's a simple example of pseudo-code for sprite lighting:
```plaintext function updateLighting(sprite, lightSource) { // Calculate light intensity based on distance var intensity = calculateIntensity(sprite.position, lightSource.position);
// Adjust sprite brightness based on intensity sprite.brightness = intensity * sprite.baseBrightness; }
function calculateIntensity(spritePos, lightPos) { // Simple distance-based intensity calculation var distance = distanceBetween(spritePos, lightPos); return 1 / (1 + distance * distance); } ```
This pseudo-code snippet demonstrates a basic approach to dynamic lighting by adjusting sprite brightness based on its distance from a light source. Actual implementation would depend on the specific game engine or programming environment used.
- To complement the visual and atmospheric effects in "Graveyard Keeper," the programmer incorporates technology such as LUT color correction for real-time color adjustment tools, just like they incorporate smartphone technology for the game's dynamic light adjustments.
- As an innovative approach to smartphone gaming, "Graveyard Keeper" also utilizes technology like gadgets to simulate 3D light simulation using 2D techniques such as layering and parallax scrolling for a more immersive gaming experience.