In this update6
Full notes
Full Mashinky update
Read the full published notes in a cleaner layout. The original post stays linked below.
What changed
- Performance
- Gameplay
- Maps
- UI and audio
- Store
- Server
Mashinky changes
Hello respected community!
I have been fixing multiplayer bugs on experimental branch, adding new stuff and focused also on performance. Since those improvements are not related only to multiplayer, I've prepared build to share them with you today, even before MP release.
This update introduces:
Huge improvement of general engine and game performance (including loading times)
New faces for director of your company, including women
Quality of life - adding list of crashed vehicles, list of favourite vehicles (together with route lists) so you can buy them by a single click in depots
Fixes
Performance update
I would say I really enjoyed getting back to optimizations for a while, and although there is still some space for future improvements, I am pretty happy with the current state. I've also focused on 4x game speed, because most of you are using this feature and also performance issues where mostly related to higher game speed (since the game is CPU-bound).
Improved CPU game performance, especially when higher game speed used. By searching using Visual studio Performance non-intrusive profiler, I was able to identify places in code where CPU spends most of time and optimize these.
Improved lags and freezes of game. By using my own frame profiler and whole game run profiler, I was also able to identify places, where processing time vary the most. These areas in code cause small freezes when for example industry tick occurs, town is about to grow and so on. Improving code in these areas end up having more stable framerate. Some tasks were moved to another thread or splitted into multiple frames.
Improved loading times. I've also modified several places where extra power could be invested into map preparation and assets streaming from disk. For example FPS limiter works in a different way when loading screen is on, to allow other CPU threads do their job. I've spent also extra care to ensure that there are no redundant tasks when loading game. Overall loading times are smaller now.
Quality of life improvements
While testing the game and reading the feedback, we identified several potential improvements to make playing Mashinky a bit more relaxed:
Now, it is not that fatal when two trains crash into each other. There is a list of crashed vehicles in each depot to help you re-create what has been lost. This list includes also route lists.
Having list of such vehicles led us to the idea of adding also favourite vehicle list (also including route list), so now you are able to "save" any vehicle, even the one running out of depot, and have such list of favourite vehicles to create duplicates easily.
Some of you complained about circle icons in walking mode visibility, so now you can easily hide them in realistic mode transparency window. Thank you for raising your voice so i can improve the game!
New faces
Because of upcoming MP release, I've added also more face variations and thanks to community requests, I've found time to add also women faces ;) I need to improve the generator possibilities in the future, adding more face types, skin colors, but hope you will like the current state too.
Optimizations in details
Just to give you better insight on what has been optimized, here is the list (change log related to performance)
Optimized Passenger destination AI network update
Optimized Station cargo add/rmv when choosing destination
Optimized Stop cargo destinations
Optimized Track spline computation
Optimized MP events, vehicles sync, etc
Optimized Client skip event processing while loadscreen present
Optimized Server skip sending all events after unconfirmed map save
Optimized Maximum of 1000 events sent per network tick (prevent client from being overwhelmed)
Optimized Precache stop and vehicle bonuses
Optimized FPS limiter allows other threads to process when loading screen present
Optimized Vehicle to vehicle collision spatial data structure faster when searching for vehicles around
Optimized Arc-tangent replaced by fast approximation (precision on 0.01 rads)
Optimized Sin/Cos precomputed and approximated runtime
Optimized Update 0-N towns per tick instead of all at once
Optimized Far geometry lod baking has now dirty area instead of checking all map chunks
Fixes
Fixed Autorouting ignore stations where cargo acceptance is disabled
Fixed Assert about wrong track ending
Fixed Transparent tokens
Fixed Industry not producing cargo (caused by rating drop to 0, now visible and colored red in that case)
Fixed When detected missing era quest on load, add one (have no idea how the original one could be missing, some mods?)
Fixed Duplicate wall param in building types XML
Fixed Some new faces glitches, changed background
Fixed Crash when city grows
Fixed Assert in depo window
Fixed Visibility of walking mode icons properly reacts on transparency setting
Fixed Overlapping graphics on stop window upgrade buttons
Fixed Wrong positioning of road vehicles wheels on curved road
Fixed Broken faces in quests
Fixed Wrong electricity distribution computation
Fixed Adding vehicles to favourite in road vehicles depot UI
This is all for now, soon I will release the multiplayer on public branch and continue on 7th era and airplanes ;)
Have a great day, Jan
Source
Changelog.gg summarizes and formats this update. How we read updates.
