Starting today, Train Fever is also present on Facebook. Don’t miss to push the Like button! 😉
This is especially good news for those of you who like to read our updates in German (the second most important language within our fan community), since the Facebook page will be in German and English.
All information posted on Facebook will also be available on this website. This website remains the central place of information.
Update: On that occasion, we would also like to point out to Train Fever community websites. They do a great job and we would like say thanks for their commitment. Two important community websites already online are:
This said, let us continue with a new update. We give some development insights and explain how a typical steam locomotive, the Class 75.4 Baden VI C, is modelled, textured and animated.
First, we create a 3d model of the locomotive by using classical 3d modeling software (we use Autodesk Softimage). Based on front, side and top view plans, a triangle mesh is created. For locomotives, the triangle mesh consists of about 10’000 to 20’000 triangles.
In a second step, we create two additional models, the so-called level of detail models. These models consist of significantly less triangles. Our game engine renders these simplified models when the camera is located far away. This way, it is possible to render hundreds of trains at the same time.
Next, the 3d models is unwrapped, that means each triangle is placed in an optimal way on a 2d-plane. Then we can paint the model by creating (2d-) texture images. These textures are based on photographs (if available) and are created in Adobe Photoshop.
However, we not only paint the model. Instead, there are multiple texture images which define material properties like diffuse color, reflection, surface normals and specular coefficients. All these maps together allow for realistic lighting and rendering.
Next, we speak about animation. Especially for steam locomotives, the arrangement of axles, bogies and rods can be very complex, sometimes it’s even difficult to understand how it works! Explaining this in detail goes beyond the scope of this update. Therefore we just give a short summary here.
In order to animate the rods, the model is first separated in multiple parts and then multiple key frames are created. The key frames are then interpolated dependent on speed.
A separate (and even more difficult) challenge is the placement of the locomotive on the tracks. If there is curvature, axles, bogies and the locomotive body must be correctly transformed. Also, axles must be rotated dependent on speed.
In order to achieve this, a model hierarchy is created. On the first level there are axles, on the second level there are bogies (usually), and on the third level there is the locomotive body (usually). In order to compute the final model transformations, we first place the axles onto the current track. Then we compute the transformation of the bogies and so on.
Finally let us show the result. The first image is a rendering (done with our rendering engine) and the second image shows the locomotive in-game.