FireBurst

From february to june 2009, I worked as an intern at ExDream GmBh on their multiplatform, Unreal 3 engined game “Fireburst”. It’s an arcade racer, comparable to FlatOut and Motorstorm. I was mainly an environment artist but also performed some technical tasks. below is a structured rundown of some of the work I did during this period.

Bridge

One of the biggest assets I made, is a modular set of pieces that form a bridge similar to the Golden Gate. I created about 7 modular pieces, totalling about 8000 tri’s of unique geometry and approximately 2048×2048 in combined texture sets. Special care was put into reusing texturespace and geometry, to keep the memory footprint down.

Ingame

Ingame screenshots show the bridge. Other objects, vehicles and characters not my work.

Ship

Another modular set of assets I created, are used as cargoship assets in the game. I focused on efficient creation, while still allowing dynamic variations between ships. A typical ship has about 20.000 tri’s and uses up to 6 1024×1024 texturesheets. All geometry and textures are shared between ship variations.

Textures

The textures for the hull are interesting, because they allow for the geometry to be used in a very large number of combinations. The red lines show where textures are physically split (there are 3 1024’s for the hull). All textures tile with each other, and the center part tiles with itself and other parts, in every direction, even if you mirror or rotate the ship sections.  That means there are almost 100 diferent tiling situations for the textures.

Ingame

Once ingame, I created Prefabs to represent several ship types. Using a shader I created with the material editor, I created several colorvariations for the ship hull (an RGB parameter determines the color). Decals were used for shipping company names on the side of the ships.

Car Nr 15

I completely remade one of the existing cars for the game, to better fit quality standards. This fictional car was designed and created from scratch by myself. It’s supposed to be a believable offroader that does not bear too much resemblance to existing car models.


The car was also rigged and skinned by me. I put great care in making sure the suspension was mechanically possible and believable, so that it would work and look interesting once rigged. Afterwards, I imported the car and set up the AnimTree, sockets and PhysicsAsset for the car.

PhoenixShader

When a car respawns ingame, I was told it should look “like a phoenix, materializing from fire”. I set upon creating this effect with the Unreal 3 material editor.

I used an object-space blend on the X-axis of the object as a base. This blend is improved with a 3D noise effect (no texture seams), which was a custom node, created by the programmers at Exdream. This blendmask is then used for the opacity and emissive color of the object. Once my test case proved fully functional, the effect was integrated into the game.

Click the image to see the effect in motion. Ingame the effect would be combined with flame particles.

ContainerStacks

One of the most simple objects I created at Exdream, a container which is a simple 12 tri box, turned out to be one of the most interesting and versatile subjects.

I faced the problem of having to create dozens of random, unique stacks, using up to 4 different containers. Manually randomizing things quickly turned out to be extremely tedious, so I turned to maxscript as a solution. I wrote a script which is essentially an extended Array tool with randomizing options, as well as automatic optimization of models.

You add objects to the script, which measures the dimensions of one of the objects and uses this as grid size. You have control over density, the minimal number of full and whether floating containers, or holes are allowed. Once the randomized array is built, you can generate a model from it, or reshuffle things to get the same shape, but with different containers. The script will attach all generated containers, delete the faces on the inside and bottom, weld vertices and even create an automatic flattened UV on channel 2 for lightmap purposes.

In short, this script reduced 20-30 minutes of work per random stack to about 5 seconds.

These are two examples of randomized stacks generated from the script. They turned out to be some of the most widely used assets in the entire game.