E2: The Engine for a New Era

By admin-n3v, March 13 2014

For the past thirteen years, Trainz has been powered by Auran's "Jet" engine. Jet was developed for computers of the early 2000s, and while it was both flexible and future-looking, ten years is a long time in technology industries. In order to power us into the new era, we needed something more advanced. As with Jet, we're not aiming at the computers of now but rather setting a framework for future developments. Unlike Jet however, E2 is built solely around the requirements of the Trainz simulator, with no compromises or generic solutions.

This is a basic test scene from the new engine, taken during early development. It may be nothing special to look at from an art perspective, but our engine team have been working on the underlying architecture over the last two years. Pretty much everything you see here was hard-coded to test a specific subsystem, and we imported existing Trainz "IndexedMesh" files for testing purposes.

The screenshot is of the test program running on an AMD Phenom II X6 CPU with a NVidia 9800GT graphics card. The scene contains two locos, 22500 spheres, one fixed parallel light, two moving point lights, one stationary spot light and two moving spot lights. There are also a few other test objects for testing other systems.

The text and graphs at the top are some of our new E2 internal testing and performance analysis tools. These ones are showing us thread times and renderer thread interactions. We are also displaying four of our offscreen render targets at the top-right (the fourth one is black.)