Today, we are happy to take you for another look Under the Hood! This time, we bring you an interview with some of the members of our team who are working on the new cargo system for both ETS2 and ATS in the upcoming 1.54 update. So without further delay, we'll let the experts explain what this new system is all about and take you behind the scenes of their work!​


As our games continue to expand, the number of cargo types and trailers has grown significantly, making the old system increasingly difficult to manage. To understand why a change was necessary, it helps to look at how the previous system worked.

Until now, what seemed like the game combining a trailer with cargo, such as a piece of machinery, was actually a manually created model, with each trailer-cargo pair stored separately on disk. This approach required an enormous number of unique models, making it harder to add new content efficiently and taking up disk space.

Programmer Simon, also known as 50keda, who worked on this task from the very beginning, explains this in more depth.

"In our world, every cargo must be attached to a trailer in some way. The way cargo is visually linked to the trailer, including the chosen model for loading, is part of what we call the cargo system. This system manages how visual models of cargo are connected to the appropriate trailers, playing a role in the broader economy.
As our projects expanded, the number of cargo and trailers increased to the point where the older approach became unsustainable. Managing the growing combinations of trailers and cargo became overwhelming, leading to longer release times and affecting the order in which new cargo and trailers could be integrated,​
" he shares with us.​





Smety, our Senior Vehicle Artist explains that this issue has been a growing problem for some time and needed solving. "Things were getting complicated with the arrival of new cargo and a lot of new branded trailers to the game. Each cargo was attached to all trailers of that type, meaning if we had 3 flatbeds, we also needed 3 specific cargo models - and every cargo variant usually has two or three visuals. Plus, we have branded trailers so the combinations were reaching huge numbers. I had the task of reworking the trailers."​







Our goal was to simplify the process of connecting new cargo and trailers, eliminating the need to manually manage their combinations, as Simon explains here:​
"We could achieve this by having the code automatically merge cargo and trailers based on simplified rules, rather than creating separate models for each trailer type. This means that each cargo will define its own model, loading methodology, and lashing method. While this approach may have some initial challenges and might not be perfect at first, it lays the foundation for future expansion and improvement. For example, when loading cargo programmatically - such as a pallet - you will only need to model a single pallet. The code will then determine the correct number of models and position them on the trailer according to the chosen loading methodology," Smety explains.

So the new system's biggest advantage is that it no longer requires our 3D artists to manually create pre-baked trailer-cargo pairs. Instead, it dynamically matches any compatible trailer with any compatible cargo, procedurally decides its placement and generates believable lashing elements which will make the work of our vehicle team much easier.

Our producer, Karel, coordinated the project and played a key role in overseeing its progress, helping to ensure a smooth completion.​

[td]
[/td]​
[td]
Karel - Producer​
[/td]​

"When I joined the development team, I was initially just curious about how wooden logs would be handled in the new system, as I was mainly working on a related feature which is the dynamic cargo (un)loading. However, when I realized the massive amount of work required - replacing thousands of combinations of cargoes and trailers with just a few hundred "smart" ones - I took over production responsibilities so Simon could focus primarily on development. This included providing time estimates, planning, tracking progress, getting more 3D graphic vehicle designers and testers involved, scheduling the release, and more. And of course, a huge shoutout to our QA team, who took on the heavy task of testing all combinations and reporting countless issues," Karel shares with us.

Naturally, we also had to rework the cargo models to ensure they function seamlessly with the new system, which automatically pairs cargo with trailers. Matěj, our 3D Graphic Vehicle Designer, took on this task.​

[td]
[/td]​
[td]
Matěj -
3D Graphic Vehicle Designer​
[/td]​

"Instead of creating six or more different cargo models, I designed a single version and, when necessary, split it into multiple variants for more diverse cargo - such as two versions of air conditioning units. After finalizing the model, I checked to ensure everything was in order and placed special locators to define how and where the cargo would be secured to the trailer. The system then dynamically distributes the cargo based on its size and weight and the trailer's length. This new approach simplifies the creation of cargo models and allows for greater variety in the game," Matěj tells us.​



Petr, another 3D Graphic Vehicle Designer on our team, is working on the same task - and, in his own words, he's enjoying it.​

[td]
[/td]​
[td]
Petr -
3D Graphic Vehicle Designer​
[/td]​

"I joined the New Cargo System project between August and September, working alongside Smety and Simon. My primary task - then and now - is converting existing cargo into the new system. It was an exciting shift for me, moving from 3D modelling to actively developing a new game feature, which I found both stimulating and fun," says Petr.​





Our programmer, Max, played a key role in integrating the new cargo system into the games' economy, among other tasks, as he explains below.​

[td]
[/td]​
[td]
Max - Programmer​
[/td]​

"The main part of my work on the new cargo system was its design and connection to the rest of the game. Automatic placing and lashing of independent cargo models should simplify any modelling work for the future. Recalibrating the economy data ensures it should work with all current cargo and trailer combinations. There are some issues remaining, so we definitely have plans for improvements for the next time," Max says.

This change will significantly boost the work of our vehicle team as it allows them to create even more cargo and trailer combinations as we continue expanding our games. While there may be issues in the first iteration, it's a worthwhile goal to refine the system, as it not only improves efficiency but also saves disk space and memory by eliminating the need to store countless pre-made combinations.

Simon teases that this project may lead to other possibilities for both of our games. "For now, we're focusing on reworking all cargo and trailers to be compatible with the new system while ensuring they look visually believable. That said, the cargo system opens the door to countless possibilities. This project will definitely be integrated with dynamic cargo (un)loading, and we aim to improve the way we calculate how many items can fit on a trailer. Currently, the logic is fairly simple and won't be accurate in every case, but it already showcases the system's potential. With a bit of imagination, this could even lead to some level of player interaction - but we'll see where it takes us."​



We hope you enjoyed this behind-the-scenes look into the new cargo system from the point of view of our colleagues who work on it. Make sure to stay connected with us for all future updates by following us on Twitter, Facebook, Instagram, Bluesky, and YouTube. We'd also really appreciate it if you could sign up for our newsletter to stay informed, even when you're not able to check out the blog or our socials. We'll see you on the road!​

Συνέχεια ανάγνωσης...