1. InfraSpace
  2. News

InfraSpace News

Update 7.8.156 fixes blocked intersections

Hello everyone.

Quick mid-week update because I got some bug reports on GitHub.

  • Fixed an issue where high-traffic intersections could get blocked in a way that even cars with a free path wouldn't drive
  • Fixed an issue where at intersections cars could slow down unnecessarily


Happy playing!

Friday Dev News #48 - Train Lines & Habitats

Hello everyone!

Please find the changelog for this week's update at the bottom.

Train Update Release Date


I've seen a lot of people eagerly waiting for the train update, so I wanted to give you a release date:

Alpha 8, the Train Update will come out in 2 weeks, on Friday Dec 10th!

I spent this week getting trains to move on their rails as well as setting up train lines. We're going to need next week to handle train signaling so they don't drive through each other all the time. And finally, we reserve the last week to clean up the feature, add descriptions, localizations, etc. We also need this final week for unrelated community feedback stuff, like preventing u-turns for cars.


More about the Train Update


We're getting deep into development, so I wanted to share a bunch of progress pics:

First, check out the new auto-curve tool:



The old auto-curve was difficult to use since it always moved neighboring roads in order to make a nice curve. The new tool will make it easier to do well rounded curves as well as perfect circles. We made this for rails initially, but it will also be available for roads.



The train line panel lets you configure which trains should go where. You can create as many lines as you want with as many stations as you want.



We did some experiments and it seems like we'll be able to support long trains with 1 locomotive and up to 11 wagons for a total of 12 carts. It is currently undecided if shorter trains will also be possible at some point. You can connect highways directly with the station for maximum input/output.



The train update will come with new models for our habitats, so it won't look as uniform and boring anymore. The picture above is missing textures, so don't worry if it looks a little grey still :)


This Week's Update


While this week was the first one I've been able to spend most of my time on trains, we still release some extras this week. These are not many changes, but each has been really important to a couple of players in this week's feedback posts. Specifically:

  • Nanotube and Neural Processor Factories work 20% faster. Once we have easier methods for building a lot of factories quickly, we will revisit this balance.
  • When you change the road layout, incoming cars no longer stop and teleport through intersections. Instead, they reroute a couple of road segments earlier and seamlessly pick a different route if necessary.
  • Fixed an issue where cars would stop spawning completely. If you still find an issue like this, let me know, I added tons of debug output :D
  • Fixed an issue were roads would curve or turn into s-shapes for no reason


Happy playing!

Friday Dev News #47 - Rail Building

Hello everyone!

In this week's update we're releasing mostly bugfixes, but also a road building convenience feature as well as the Hungarian translation.

[h2]Changelog[/h2]

  • If two neighboring roads are too close to each other at an intersection, they now auto-bend instead of going red and complaining about it
  • Elevated roads now also snap to road angle + length and respect the auto-curve button
  • Added info panel for construction material storehouse
  • Fixed an issue where the research queue number wasn't properly displayed
  • Fixed an issue where in cities with over 6k population you couldn't get a "high" immigration rate
  • Fixed an issue where every second a small lag appeared on some computers when the tutorial was active
  • Fixed an issue where a part of an overpass would snap to the ground when connecting a road to it
  • Added Hungarian
  • Added support for Thai characters


[h2]Rail Building System[/h2]

After a bunch of weekly updates since release, we've begin to shift our focus towards the next big feature: Trains. You've already seen some art, but until recently the 2 programmers on our teams have been busy fixing stuff and adding QOL features.

This week, we implemented the rail building system. Check out the results:



Rail building works similar to road building with some minor differences. However, we couldn't simply re-use the road code since the traffic simulation of trains works a lot differently. Instead, we had to go through the road code and carefully separate the road construction logic with the road traffic logic. This took a bunch of time since we had to deal with a couple thousand lines of code. Now that we're done, we can use most of the road construction logic for rails as well and just replace the traffic logic part.

[h2]How trains will work[/h2]

A big question when implementing trains is how complex will they be? We sat down and came up with the following plan:

  • Trains will not collide or pass through each other and have to wait for the next part of rail to be free.
  • You will not have to deal with train signals, the game will handle that automatically.
  • You will however have to set up train lines from station to station.
  • The traffic simulation will give train lines a higher priority than all road types so cargo will use train connections if the stations are not too far from the start and destination
  • All rails are one-way. If you want to go back and forth between train stations you need to use 2 rails or make a loop (this makes auto-signaling way easier)


Roads will remain the most convenient type of transportation (just connect them), but they are more susceptible to traffic. The ideal use for trains is connecting industrial districts that ship a lot of goods between them and take traffic pressure off the roads.

Finally, I just wanted to say that I read all forum and discord posts even if I don't answer every time. We have plans for stuff that's frequently requested like grids or grid-like systems for building, but we'll focus on the the trains first :)

Until next time! Happy playing!

















Friday Dev News #46 - Bugs & Balance

Hello everyone!

Changelog for this week's update


  • Save loading time improved by ~20%
  • Balance: Buildings can now store more iridium. Was necessary so they don't have to wait for deliveries after completing an item
  • Balance: Immigration rate is higher in mid-game
  • Balance: Adamantine mine requires less red science packs, but takes a little longer to mine one unit of admantine
  • Balance: People waiting in a space port move in twice as fast once habitat requirements are met
  • Balance: Fewer parks and arenas are necessary
  • Fixed issue where road would collide with the access road of an
  • unbuilt* building and would not start working again
  • Fixed issue when you erased a district with export rules still applied to it
  • Fixed issue where districts weren't correctly handled at world border
  • Added safeguards so that bugs are less likely to break the game (just some strategic try-catch statements, errors are still logged)


Road Performance Experiment


Behind the scenes we're thinking about the endgame and how large cities are supposed to grow. A big factor is what city simulation size are we able to handle with decent fps?

Now, parts of InfraSpace are quite optimized already, but there are many things that can be done. The reason it's not fully optimized yet, is that fast code is harder to write and harder to maintain, so we started with a simple version first.

However, when we think about how large cities are going to get, we're interested in the maximum performance we could achieve with reasonable dev time. There are different performance categories to take into account:
  • Graphics
  • Building simulation
  • Road simulation
  • Miscellaneous simulation


Of all these categories, roads are the most difficult to optimize because cars have to deal with their neighboring cars so much - this means the computer has to load data from different locations in memory to do the necessary calculations for one car. Most buildings can be simulated in isolation quite easily, requiring only data pertaining to that specific building.

I spent some time this week replacing the core of the traffic simulation with better data structures and measuring the difference. Previously, a large city took around 1.73ms per thread to simulate 10k vehicles. With the new optimizations, we can do the same calculations in 0.27ms, which is about 6.4 times faster.

I'm quite happy with the results, but I have not included these performance improvements in today's update yet. Since it required changes deep inside the traffic engine, there is a risk of significant bugs, so we'll work on it some more first.

What you can look at however, is the new performance report. Press F2 to see some stats about your city and how much time your computer is spending on which parts.


(screenshot without the mentioned road optimizations)

Unfortunately, our artist was sick this week, so no new pictures to check out this time! More news on trains in the next update :)

Happy playing!
Daniel


Edit: Uploaded Alpha 6.7.148 with a quickfix for some save games that have been saved with the previous update.

Friday Dev News #45 - Train Station

Hello everyone!

Check out our new train station:



You will be able to hook up the station directly to your road network by using one of the entrance and exit roads. This allows you to to handle many more goods per minute than with a default access road like most buildings.

The model is designed in a way to handle different amounts of rails, but we're not sure yet if we'll release this as a feature - we need to work more on the movement system itself first.

[h2]Road building quality of life[/h2]
While we work on trains in the background, with this week's update we're releasing a couple small QoL features to make road building a little easier:
  • Using the move tool, you can drag a road end point on top of another road or intersection to merge them
  • Road segments reorganize themselves a little when you make a road segment that would be too short for the game
  • You can't build multiple roads on top of each other anymore
  • You can't move intersections so close together that the road segment in between would be too short


There is more road building QoL to come, but it takes time because the building system is gridless and free-form :)

Happy playing!

Edit: Uploaded a quick fix to find save files that were missing for some players after the update.

Edit: Uploaded another fix to handle road construction issues.