1. InfraSpace
  2. News

InfraSpace News

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.

Friday Dev News #44 - Construction, Performance, Research Queue, Languages

Hello everyone!

this Friday we're bringing you another update with some quite varied content:


[h3]Big Performance Boost[/h3]
We've seen playtesters get twice as many frames per second on large cities with this update if their game was CPU-bound. If your computer has enough CPU power but is struggling with graphics, this update will not improve fps quite as much, but still a little, especially on the low graphics settings.

Also, we fixed a related stuttering issue.

[h3]New construction sites for Adamantine Miner[/h3]
Honestly, we wanted to add this before Early Access release, but couldn't quite make it so here you go :)



Now that we have figured out normal mapped decals on our terrain, we may use them more often, too.

[h3]New Languages[/h3]
A HUGE thanks to our community translators!

InfraSpace now also features:
  • Brazilian Portuguese
  • Dutch
  • Czech
  • Polish
  • Slovak
  • Ukrainian

You can check out the translation project and the translators' credits here:
https://github.com/Ponzel/InfraSpaceLocalization
If you want to help translate InfraSpace into your language, let me know!


[h3]Other stuff[/h3]
  • Added Research Queue
  • Main Menu now has button "Back to game"
  • Fixed save loading issue
  • Statistics and Production now tracked in units per minute. This will invalidate statistics graphs from old saves.


I hope you have a ton of fun with the new update. Let me know if you have any issues. You can look forward to seeing our new train station next week!

Happy playing!

Edit: just uploaded Alpha 7.4.140 to fix an issue where consumption rates in production overview would be significantly smaller than in reality

Edit 2: just uploaded Alpha 7.4.141 to fix an issue where large cities would get flooded with traffic after loading a save

Patch 7.3.131 fixes loading issue, changes power pole connection

Hello everyone,

I planned to take a break this weekend, but L32 sent me a save he wasn't able to load and I pride myself on fixing game-breaking bugs asap, so here you go:

  • Fixed an issue where you couldn't load a save when too many roads were in one place
  • Changed power poles to only auto connect to power stations and power poles that are right next to them


If you've been following our updates and forum discussions, you know that at first some people didn't understand how to connect power lines, then we introduced auto connection of power lines and then other people didn't like the auto connection!
I hope we finally found a mix that's easy to understand and doesn't create a messy web as well :)

Happy playing!