Website powered by

BattleTrain - Environments

Part of my responsibilities on Battle Train was to take the game board's environment from a conceptual to finished state. As with many parts of the game development pipeline, this was an iterative process. We went through a bit of a trial and error phase where we'd parts of the environment we like, and other areas we wanted to keep exploring. Something we knew we wanted was that the environment should be re-usable to some capacity for the different biomes the player travels through. There's so much happening on the board in this game that the background should just help anchor the action, as opposed to trying and stand out on its own.

This process involved a mix of modeling, shader making, lighting, and some blueprint logic for the game board itself.

The playable part of the board has logic that denotes the state of a tile. Tiles that are "alive" or "dead" are the same BP, they simply have different materials and logic applied. We can calculate the bounds and make the border of the board easily.

The playable part of the board has logic that denotes the state of a tile. Tiles that are "alive" or "dead" are the same BP, they simply have different materials and logic applied. We can calculate the bounds and make the border of the board easily.

For the Tiles, I break out a mask that has a highlighting and darkening portion of the tile to help create a top down, stylized, gradient.

For the Tiles, I break out a mask that has a highlighting and darkening portion of the tile to help create a top down, stylized, gradient.

Using Absolute World Position, we can create variation and noise between the tiles so that each tile is slightly visually distinct from the other

With our masks setup, we can now layer the masks together in this common lerp setup.

With our masks setup, we can now layer the masks together in this common lerp setup.

We make use of Material Parameter Collections to control the looks of an environment.

We make use of Material Parameter Collections to control the looks of an environment.

MPCs are a great way of exposing all sorts of parameters we can fine tune at runtime based on the needs of the environment.

MPCs are a great way of exposing all sorts of parameters we can fine tune at runtime based on the needs of the environment.

With all of this setup, we can now blend it into the virtual texture setup to smoothly blend it with the base of the mountains, based on world position.

With all of this setup, we can now blend it into the virtual texture setup to smoothly blend it with the base of the mountains, based on world position.

We use virtual textures to create a transition from the board to the environment. This means with this one mountain asset, we can re-use it with all sorts of different angles and heights to blend them together and create a range of shapes.