M300 is one of CFR’s main lines in Romania, having a total length of 647 km. The main line, connecting Bucharest with the Hungarian border near Oradea, passes through Ploiești, Brașov, Sighișoara, Teiuș and Cluj-Napoca. The section between Bucharest and Ploiești is shared with CFR line 500. The section between Câmpina and Predeal was upgraded between 2007 and 2011, bringing several improvements to the infrastructure along the route.Towns crossed are Bucharest, Buftea, Ploiesti, Baicoi, Campina, Breaza, Comarnic, Sinaia, Busteni, Azuga, Predeal, Sacele, Brasov, Rupea, Sighisoara, Dumbraveni, Medias, Copsa Mica, Blaj, Teiuş, Aiud, Ocna Mures Campia Turzii, Cluj-Napoca, Huedin, Alesd, Oradea.
So, those being said, with the release of RailWorks 2: Train Simulator in 2010, new possibilities came up for the railfan community including us, already used to develop assets for the old Trainz Simulator.
We started this project back in 2012 with only 4 members in the team determined to make the most real and accurate railroad simulation ever created in Romania.
The team back then was composed from: Marian (Suv) – route builder , Adrian (negru13) – 3d modelling and scripting, Andrei (Empyro) – Research and documentation, and Dalin – 3d modelling and documentation, all of us very passionate about this domain and willing to spend hundreds of hours from our lives for this purpose.
Today we ended up being only 2 members (Adrian and Marian) working for this project and from time to time we get help from our new team member (Vicentiu).
Even so the progress was really slow due to the lack of resources and materials. We had to start everything from scratch including terrain, rails, ground textures, catenary, sky, clouds, etc.
T0 moment was when we first created the 3d model of Bucharest North railway station which was a really tough challenge due to the huge size and complexity. This station was created entirely by me (Adrian) in about 2 months, in which I had to go and take hundreds of pictures for textures, straighten and cleaning all of them in order to map them on the model. The 3d model was created after satellite maps and urban blueprints of the area. Shortly after that we had to make the romanian tracks in order to give Marian some material to start building the route.
Here we ran into our first problem: FPS. Bucharest being a railway junction it has a huge amount of tracks and rail infrastructure. Fortunately after some weeks of testing and research we came up with a solution for not destroying the game frame rate and allowing us to build all the lines even in train yards. All the tracks that we’ve build are made of alpha polygons in such a way that the difference between a 3d track and an alpha track is barley noticeable but has a significant effect on frame rate.
From this moment we began to generate the route terrain from satellite SRTM files and create the google maps decals. The terrain generation worked out pretty smooth and we managed to get the route exactly by the real coordinates and size. So this being said we are good to go and build step by step every detail in the area as you will see bellow in some of the first screens made on the route.
Bucharest North railway station
This picture is among the first stable exports made for this asset. In the picture you may also notice the fist romanian alpha tracks: the S49 concrete model. The wire for the catenary was a default one, only for testing purposes.
Inside the station
As you may see the result of the many pictures taken inside the station, straighten and processed eliminating any people or sun rays on the texture.
Bucharest station seen from Basarab overpass
In this picture you can see that we started laying the tracks and modelling the key objects in the area.
Bucharest train management dispatch building
Nowadays isn’t used anymore but it’s a important building in the area. You can also see the overpass from the bottom, without any catenary consoles mounted below.
The bridge seen from Basarab station place
In this place we will later build the Basarab railway station used mostly for commuter trains or any other train that dosen’t fit in B. North.
This bridge was created in one weekend thanks to the blueprints of the real original project. It’s an important landmark of the area, replacing the old pedestrian bridge.
Another essential feature of this simulator it’s the in-game lightning and I decided to take advantage of it, and create also the decorative illumination of it.
Google maps decals
These were the decals that we used to fit everything in the right place and at the right size. The decals were placed on the map short after we finished with the SRTM terrain generation.
The first catenary bridge
This is among the first catenary bridge created, and it’s native place is at Buftea station. In this picture is here just for testing purposes. It’s very cheap on polygons being optimized with alpha planes.
Bucharest catenary bridge
This is the native Bucharest catenary bridge made also with alpha. It’s roots come from russian catenary system.
First apartments building
The first apartments building recently modernized near the railway station. It was pretty difficult work cutting out the trees from the texture.
Same model of buildings
All the apartment buildings on the boulevard have the same shape making it a lot easier.
Under the bridge
This is the view from under the Basarab overpass and it’s getting already much better.
Catenary bridges in their place
You can also observe in the far view the Grant overpass and a few surrounding buildings.
End of line top view
Bucharest North in the top of the bridge with the satellite decals placed on the ground.
Buildings on the other side
This is also a landmark of the area and you cannot miss it when arrive in the station.
Second line of buildings
We decided that in order to accurate reproduce the area we must also make the second line in view buildings.
Sky and clouds
This was a very difficult part of the project because of the very few information about how to create a good skydome. After many weeks of testing and processing the textures we have managed to reach a decent level of detail in the clouds. In this picture is the very first version of the clouds that later on we decided to drop because of the poor resolution.
The storm is near
When you create from scratch the skydome and the clouds, you must also create the stormy version of the sky. This is a combination between cloudy sky and stormy.
The storm clouds were not perfectly matching the dome and you can observe the result on the joining of the dome.
Much better sky
This was also an intermediary version that we tested and decided to drop because of the poor resolution. If you have a good variation in shape you loose more from the resolution.
Catenary wires and right side buildings
In order to make the wire more realistic we had to quit the Railworks system of lofted wire. This had a big downside for Marian because it was forced to mount the wire into the console manually. Every one of it!
Bucharest Basarab railway station
Even tough it’s a much smaller station, it was no easy job. Lot of work on the sidings and on the textures.
Basarab railway station on the ground
In the end it fitted like a glove in it’s place on the map and we continued our work and made our first poplar tree as you will see next.
First romanian black poplar trees
This tree is very common in Romania especially around railway lines and roads. We tested a lot of shaders and shapes in order to get a good quality of the texture. Because of it’s height we needed a much better camera to shoot the leafs and details from the distance in order to capture also it’s natural shape. We tried also to make Speedtrees for the advantage of details and casting shadows, but the final results were not so satisfying.
Leaving North station
Once the tracks and catenary were ready, our main goal was to build the basics of the route by placing down the infrastructure elements. Later on we started to develop scenery objects other than existing ones in the North station.
Summer TMV signals
Right after we agreed that we have to first finish the functionality of the route, we had to develop maybe the most important thing: signaling. Dalin has started the very first 3d models for the TMV signals and I have worked an entire summer almost day and night to make the textures and adapt the models for the simulator and last but not least, the scripting. This part was really hard due to the fact that we wanted to make them as flexible as the simulator permitted us. Besides the functionality we had also a very big problem with the view distance of the light that after a few hundreds of meters was not visible, and seeing the signal color while driving the train was impossible. After a lot of time spend testing and improvising I managed to get it up to 3 km visible down the track.
I had to deal also with the custom behavior on some signals and had to spend a lot of time to get the simulator work with them the way it should just like in reality.
Custom signal for North station
This is one of the custom behavior signal that was installed in Bucharest station with speed indication, direction, and line number.
This is among the first grass asset exported by us. The vegetation on the map was putted at the end of the list, being less important at the time. Andrei(Empyro) was working on this vegetation pack but never got to finish it and Marian had to find external assets to put on the map.
This pack of flowers it’s not made by us but fitted perfectly in our station.
Another great issue was with the simulator’s way to generate the ground textures. Here you can see from our tests how the game engine is mixing each texture with another, in order to display a non repetitive ground.
Tracks and junctions
This is an example of the first S49 track among with the junction. The only downside of the junction is that the simulator generates automatically the sleepers and makes it only in 2d.
Wooden track version used most in railyards, dirty of engine oil. Very low poly and almost the same with a 3d one.
Wooden track variation
For each type of track we made at least one variation in order to fit where Marian needed.
Bucharest Locomotive Depot
We wanted very much to simulate as real as it get’s and we made also the locomotive depot in Bucharest so you could have a complete train driver experience, starting even from the depot.
You can also use the locomotive roundtable and enter with the locomotive in the repair halls.
Depot control center
In the picture is the Bucharest depot control center and sleeping rooms for the train drivers.
This is the Bucharest depot exit where are the inspection channels below the locomotive. Here the locomotives are inspected at the bogeys and cleaned.
Roundtable in action
When you are with the locomotive on the roundtable you can control the hall where you can enter, also you cand choose on which track you exit the depot.
Here you can watch our locomotive entering Bucharest North station
Also we made a series of videos on our Twitch channel where you can see the entire progress of the route.