Hey all! We've been working hard on the 3D conversion and while we're not yet ready to let you play with the new toys, we can give you a few peeks behind the developer curtain :D
Until now
- Levels were generated from a single source of information we called "Countryside". This allowed us to have a handmade feel despite the chaotic nature of procedural generation.
- We can control the day/night progress, which at Night, tints the graphics towards a cool/dark version of the vibrant green you normally see during the Day.
- The backdrop elements (buildings, bushes, trees, etc.) are chosen from a list and we show 1-3 types at random densities.
- Obstacles are generated depending on length and difficulty.
- There are many other small systems like this that all contribute to unique experiences.
The Problem
- The art our amazing Alex Nae does is done in 2D space, including any organic parts like hills, mountains, bodies of water, etc.
- This was fine and well in the beginning when we have to build the game from scratch, but now we have that quantity and need QUALITY.
- Tinting art that is meant for Daylight does not translate well to Nighttime in all cases. Specific fixes for specific levels take a lot of work and universal solutions look mediocre in all cases.
The Solution
- By converting to 3D, we are letting the engine handle lighting and tinting using similar-to-real world physics.
- By letting the terrain generator handle the shape of the level, we can let Alex focus on texture and aesthetics rather than put the time in rendering the terrain.
- As I hinted in the last update, by changing textures, colors, gradients, and the light sources, we can change the feel of a level while both letting the engine handle the brunt work AND letting Alex express his creative intentions.
- Not everything is generated made by the code. We still want the hand-made feel, so elements like the road's shape segments, landmarks in the terrain, and the terrain flavor itself remain at our manual control. Below is a look at the terrain generator and a short explanation of what things mean.
This describes Lava Land, a biome that is applicable for Racing Pins that satisfy a few of the conditions below:
Terrain
Tells the level loader if it can use this biome if the length is between 0-100% and difficulty is between 0-100% In this specific case, Lava Land can be loaded in any length and difficulty. Most biomes will be so.
Layers
Tells the biome what kind of textures are associated with this biome. As you can imagine, we have Ground, Lava, and Ash texture for this.
Terrain
Multipliers control how high hills and mountains are, as well as how deep water goes (shallow for puddles, very deep for an ocean view).
Day / Night
In the city, you can start races during the Day or Night. The equivalent here is Noon and Midnight. Twilight allows both. We named them so because the Sun's position and the shadows generated are best in these times of the day. Eclipses are for certain World Laws.
Water
This is just a layer of "liquid" that CAN exist in a level. If we tint it with orange and red colors, it looks like lava. Tint it by black and grey, and you get tar pits. This solution is super performant and optional.
Aurora Borealis & Other things
Also called the Northern Lights, these are rare but beautiful, nonetheless. They aren't implemented yet but it's delicious eyecandy. There are other options planned that will contribute to the richness of level generation, and next update, we will show you some more!
That's it for now, have a good weekend,
Alex & Alex!
