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.
Class 75.4 Baden VI C steam locomotive
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.
Class 75.4 Baden VI C with old compartment carriages
It’s great to see this update and explanation of the 3D engine, However will there be some information of the game development or testing?
Thank you very much for this update! I think it will be very interesting for all modders.
And congrats with the Facebook page! 🙂 Btw, russian community also has Train Fever page on the vk.com – russian social network.
And translating on our site, of course. 🙂
Can I play now?
How much? and when?
Dang, that’s a lotta work for one engine. Can’t wait to see what’s next!
Nice post on how to model a train. 🙂
I’m curious what kind of moddeling tool you use? I’m a blender 3d user myself.
The result of the different texture maps is very good, well done.
oh, the answer is autodesk, shame on me. the answer is right in front of me.
Blender should be possible as well. To import the models we use .obj files for vehicles. The vehicle animations are made in the config files.
Oh, it seems, we will be able to convert models from CiM – we use .obj also.
Can you tell us a little more about config files for animation?
You’re able to animate doors and other stuff with rotation & transition values over keyframes. For the coupling and piston movement we’ve got some custom functions. Bogies, wheels and axles are handled in the game, you only have to define them.
Detailed modding support will be announced and documented after the release.
Thanks, very interesting information. 🙂
P.S. Oops, in previous post I mean “we use .obj too”, not “also”, sorry ‘%)
Can’t wait to play and import my own dutch trains!
The color of the engine is to grayish, not black enough! Have a look at real photographs and you know what I am talking about.
By the way, I can’t await the release of this game! 🙂
I guess it’s too late for Physics Based Rendering. That train looks like plastic toy.
It looks amazing.!!! Really congratulations for the work.
I don’t think it looks like plastic but even if it does ( it really doesn’t) I like the feel of having a miniature world of trains. The grass and trees also great. Doesn’t need to be realistic just good feeling. CiM 1 doesn’t look realistic but it looks amazing and have great feel.
Nice technical update, I like your use of well-known publicly available programs, but how do you plan to support file conversions? Will vehicles/objects be packed into one file that contains the scrips and textures (ex. Locomotion)? Or will each vehicle/object have separated files for everything that will have to be aliased to outside files (ex. Train Simulator)?
Glad to hear that you’ll still use this site instead of posting everything on social media.
The trains look great, especially for a tycoon game!
Keep up the great work!
Cannot wait to see this train moving over my screen! :O)
Really looking forward! I always loved transport tycoon, and train fever will be awesome too 🙂