top of page
Blog

Captain's Diary #41: Hydrogen vehicles in Update 2

Ahoy everyone, Captain Filip here! Our entire team is working tirelessly on Update 2, and I wanted to share more details on what's coming your way. We've touched on several features in our previous posts, but there's more we're finalizing just now, and I'm thrilled to present them to you. So let’s dive right in.


Hydrogen vehicles

We've been eager to introduce hydrogen vehicles for quite some time. End-game factories, equipped with robotic assemblers and advanced nuclear reactors are literally asking for an alternative fuel source for your vehicle fleet. And the time has come!

We've developed hydrogen variants for all higher-tier vehicles. This lineup includes the Large Truck, Haul Truck, Large Excavator, Mega Excavator, Tree Harvester II, and Tree Planter. We've actually given these vehicles a bit of a makeover and are introducing them as entirely new models.


New hydrogen trucks next to the new hydrogen fuel station.
New hydrogen trucks next to the new hydrogen fuel station.

In addition to the introduction of hydrogen vehicles, we're implementing a pollution penalty for diesel-powered vehicles. This is something we've aimed to do for a while but were previously unable to, due to the lack of alternative solutions to mitigate pollution.


You might be asking why would you want to switch to hydrogen besides pollution free logistics? The first reason might be that you want to reduce your dependency on crude oil and diesel becomes just an unnecessary production step for you. You might want to power your vehicles by producing hydrogen using your solar farm or using an already existing recipe that efficiently uses steam from your fast breeder reactor.


Another compelling reason to adopt hydrogen vehicles is the potential for reduced maintenance costs. Since hydrogen vehicles utilize electric motors, they are less costly to maintain compared to their diesel-guzzling friends.


Diesel haul truck on the left, new hydrogen haul truck on the right.
Diesel haul truck on the left, new hydrogen haul truck on the right.

Cargo ships - hydrogen & heavy oil

On our journey towards hydrogen-first logistics, we can't overlook another significant diesel consumer: cargo ships. To facilitate this transition, we've implemented the option to upgrade your cargo ships to hydrogen-powered models. Alongside this upgrade, we're introducing a pollution penalty for diesel-powered cargo ships.


In the process of integrating fuel type switching for cargo ships, we saw an opportunity to further support player progression, especially in the early game phases. To this end, we've introduced the option to use heavy oil as fuel for your cargo ships. Once you unlock heavy oil, you can utilize it to simply burning it off in a flare or boiler. Implementing heavy oil as a viable fuel option not only adds a layer of realism but also diversifies your fuel choices. We still intend to keep diesel as the default fuel as it offers flexibility without the added pressure of immediate resource management adjustments.


In update 2 you will be able to choose from heavy oil, hydrogen and diesel fuel for your cargo ships.
In update 2 you will be able to choose from heavy oil, hydrogen and diesel fuel for your cargo ships.

Vehicles navigation

Since this post is about logistics there is another fitting improvement we did in this area. Previously, when a vehicle couldn't reach its intended destination, it would get stuck and generate a notification, urging the player to resolve the issue. This approach had several drawbacks. For one, a vehicle stuck on an unreachable target stopped doing useful work and put more pressure on the logistics network. Additionally, haul trucks often attempted to navigate to locations that weren't critical, creating more disruptions. Also, some of these issues were temporary or not urgent, yet they demanded immediate player intervention to free up each vehicle. Addressing the challenge of vehicles getting stuck due to unreachable destinations required a careful approach. The initial idea was straightforward: if a vehicle can't reach a destination, mark that destination as unreachable and move on. However, this solution wasn't without its complications. For instance, it might not be the destination that's the problem, but the vehicle itself being stuck. To tackle this, we implemented thresholds and automatic invalidations for unreachable goals after a certain period. However, the largest obstacle to implementing the new solution was that our job assignments for picking and delivering cargo were managed independently, each with its own navigation task. This system led to trucks being dispatched to collect cargo without confirmation they could successfully complete their delivery. The result was a logistical bottleneck, with trucks accumulating near a silo, collecting cargo, then realizing they had nowhere to go, leading to a standstill. This was especially noticeable with dumping jobs.


Loaded trucks getting stuck one by one with cargo they just loaded from the silo unable to deliver to the blocked one.
Loaded trucks getting stuck one by one with cargo they just loaded from the silo unable to deliver to the blocked one.

The solution to this issue involved refactoring how we schedule jobs. Let's say we have a job to pick up cargo from storage A and deliver it to storage B. Previously, we would find a path to A, drive there, pick up the cargo, and then search for a path to B and try to drive there. In the new system, we still find a path to A, but we then run another pathfinding task from A to B before the truck departs. If the path from A to B is not found, we discard both jobs, and the truck doesn't depart. Furthermore, we mark B as inaccessible for our truck, meaning that, in the future, the truck will not be assigned a job to go there.


In update 2, an inaccessible silo shows a notification and ends up being ignored by all the trucks. Trucks no longer end up stuck with cargo loaded from the source silo.
In update 2, an inaccessible silo shows a notification and ends up being ignored by all the trucks. Trucks no longer end up stuck with cargo loaded from the source silo.

Pathfinding isn't a trivial operation, and with this new change, we risked running the same pathfinding task twice. To address this, the new solution incorporates caching. When we find a path from A to B, we cache it. Once the truck arrives at A, it uses the precomputed path to B and executes it.


In update 2, clicking on the unreachable storage silo highlights all the vehicles that failed to navigate to it. These vehicles will occasionally re-test the path.
In update 2, clicking on the unreachable storage silo highlights all the vehicles that failed to navigate to it. These vehicles will occasionally re-test the path.

Some of these improvements wouldn't have been possible without the groundwork laid shortly after we launched Update 1. We introduced features such as automatic throttling of pathfinding for stuck vehicles and prioritizing smaller tasks. These enhancements have significantly increased the throughput of our pathfinder, enabling us to prune and retest unreachable goals regularly.


There's another exciting reason behind these improvements. In Update 2, players will gain the ability to lay their own surfaces, like concrete, directly on the ground—a feature we've hinted at in previous posts and will expand upon soon. This new surface-laying functionality will be carried out by trucks. Ensuring these vehicles don't get stuck due to unreachable surface designations was crucial, as it would have compounded existing logistical challenges. Faced with a substantial workload, we committed to making this enhancement to improve the gameplay experience and maintain our commitment to improving the quality of the game as much as we can.


Hydrogen excavators that are coming in update 2.
Hydrogen excavators that are coming in update 2.

That's all the updates I have for you today. We have several more exciting features and improvements being worked on behind the scenes. I'm looking forward to sharing these with you soon. Thanks to all the fans and community for their continuous support. We are happy to have you! Stay tuned for more updates, and I’ll see you in the next one!

bottom of page