1. Mashinky
  2. News

Mashinky News

Performance update & Quality of life

[h2]Hello respected community![/h2]

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


[h2]Performance update[/h2]
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.


[h2]Quality of life improvements[/h2]
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!


[h2]New faces[/h2]
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.


[h2]Optimizations in details[/h2]
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


[h2]Fixes[/h2]
  • 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

Xmas event

[h2]Hello respected community![/h2]

I was unable to resist to do one more update. This one introduces Xmas event into the game (both for Multiplayer beta testing and for public branch).

You can gather presents 🎁 in
  • Toyshop (sawmill upgrade)
  • Furniture workshop (toolworks upgrade)
  • Factory


and deliver them by special wagons and road vehicles to city centers to get 🚂 secret reward once per 5 city centers stocked 😉

Event starts now and ends on 31st of January. Hope you will enjoy this holiday season limited reward.

Have a great holiday season and wish you all the best and happy new year!


Best,
Jan

Multiplayer Open Beta testing

[h2]Hello respected community![/h2]

First of all, I would love to thank you all for such patience. I wanted to release multiplayer in October, but we kept finding more and more issues and some of them were quite serious. I forgot all my plans and just focused on fixing and finishing the first version of fully functional multiplayer as fast as possible. At the end, it took more than two more months, but today I am finally allowing all of you (at least those brave enough:) ) to switch to Experimental branch and join our open beta multiplayer testing.

I would be very thankful for any feedback or issues reporting. We have great and growing discord community page for this, here is the invitation https://discord.gg/jeYGjCES. I will do my best to be there as much as possible and working on any needed fixes meantime.

So, what is in today's open multiplayer beta?

[h3]Connection & Server[/h3]
  • You can play as group of up to 8 players on the same map (including custom maps) now! Just enable multiplayer when starting new game. This will start server and anyone can join you.
  • The setup stays in the savefile, so next time you load this game, the server will be online again. Each player will autoconnect to their company when they join again.
  • Connection is peer 2 peer, but you can host the game without public IP. I've implemented also rendezvous server for this, so hopefully it will handle all your requests smoothly.
  • You can also protect your server by password.
  • Chat window is accessible by ~ or icon in the toolbar. You can easily add a map location or object into your messages by clicking on it when writing a message. Everyone can then easily click on these hypertext links.
  • See other player's cursor on the map or even special "beam" when switched to first person mode (walking, driving, using building mounted camera positions etc.). Quite funny feature I would say, I like it a lot :)
  • Each new player or company is automatically identified by creator's steam name. No more default names!
  • Server browser. It is not filtering games atm, only (for example) by games of your friends.
  • New options when starting new game (if to start server too, if mods allowed, default setup for new players cooperative / competitive)
  • You have the possibility to send invitation to your friends. It will appear in their steam chat window.
  • All scripts run on server side to allow any script interaction or quest sharing
  • Some scripts are not compatible with distant processing (on server side) yet, so these are removed in MP (some camera control tutorials for instance)
  • Added the possibility to connect directly to the server via steam friends list
  • Mods are enabled/disabled/downloaded according to the server you are connecting to. This does not change your future single player game.
  • Clients can run faster now. Some events are no more simulated on the client side, but only on server side to release some workload from clients, or to ensure the consistency and also to prevent any client-side cheats or local mods, so nobody gains unfair advantage over other players.
  • Smoothing vehicles and player's cursors movement when server sends update


[h3]Cooperation x Competition[/h3]
  • I've added rating into stations cargo distribution. Now (in MP) it is important to pick up your cargo frequently to keep your station rating high. Otherwise, the industry will prefer another station or, when your rating drops to zero, redistribute your cargo elsewhere (including to some others of your stations around).
  • Companies and players are decoupled in game logic. You can join other players in their companies or start your own. Or change it anytime while in game ;)
  • Multiple companies can cooperate on quests (some quests are shared by default). We will be changing this while in multiplayer beta testing. Maybe some more options for sharing quests can be added based on your feedback.
  • You can also protect your company by password so no one can join your company freely.
  • You can share tracks with another company. Once you share your track other company can connect by their tracks as well, so think twice before allowing them to do it :)
  • To prevent other company from using some of your shared tracks, you can place owner-only signal where only your trains can pass through.
  • Company rating! This score board (0-1000 points) shows how successful your company is (including detailed graphs). And what is the best result of the rating?...
  • Headquarters grows according to your company rating!
  • There is also a possibility to send tokens to another player
  • Owner's overlay easily showing what assets belong to each company


[h3]Other updates[/h3]
  • Yellow chain signal properly causes vehicle to stop when the next exit signal on
    vehicle's path is red
  • Improved shadow filtering, ranges, interpolation between CSM levels and resolution
  • Fixed brushes in editor
  • Fixed screen vertical tearing when vignetting effect used
  • Fixed GPU heating up when in main menu (FPS cap)
  • Fixed FPS limiter, so it is more accurate now
  • Fixed situations where train is not loading in the first visited station
  • Fixed invalid icons when using 100+ active mods. Still there, but occurs later
  • Fixed LOD baker issue (polygons over the map, invisible objects)
  • Fixed several rare crashes
  • Fixed approximately 200 other smaller bugs, including in MP


So, that being said, I am really glad that I can allow all of you interested to play the game with your friends, to do so now. It means a lot to me, and for the last couple of weeks, we were playing each evening with my friends from Russia, Argentina, Canada, Czech republic and more on big maps. After couple of hours, the map is so advanced each day, so populated, I am just flying the camera over and I am speechless (and happy). Hope you will like this update as much as I do :)

Have a great holiday season! And all the best to whole new incoming year 2022 ;)

Best regards,
Jan






Early Access anniversary

[h2]Hello respected community![/h2]

Today is the anniversary of the Mashinky Early access release.🎉

Only thanks to all of you, I can spend an amazing part of my life on a dream project and fulfill dreams not only for myself, but hopefully also for many of you. 🚂

This year's anniversary is characterised by polishing the multiplayer. We are working hard to bring you an undisturbed experience with your friends.

To be honest, I was hoping to introduce you the multiplayer in the experimental version of the game today, but I have to admit there are still serious flaws and you would probably beat me up by your emails 🙈 😃, so I have to kindly ask you for several more weeks of patience...

We are doing our best and I am sure you will like the multiplayer in mashinky ... and find new gameplay challenges in it 😅



Best regards,
Jan

City update

[h2]Hello respected community![/h2]

Today, I've released the City update for everyone!

[previewyoutube][/previewyoutube]

[h2]Content of city update[/h2]



  • The new update for Mashinky introduces reworking of towns in the game, adding new challenging mechanics to shape residential areas,
  • Adding more than 50 buildings related to cities in game, including city upgrades, several levels of each residential building, decoration tiles or even different visual apperance of buildings through ages.




  • You can now affect cities, encourage them to grow and help local representatives with urban plans.
  • With your care, cities can become really satisfied and beautiful metropolises, where everyone wants to live.
  • To achieve this, you will be shaping cities by placing city upgrades, laying roads and deciding where city should grow having more needs satisfied or where to restrict the urban development in order to protect new inhabitants from pollution of industrial areas.




  • Update introduces different zones around each city upgrade. These zones unlock through the gameplay, starting with basic amenities for your towns (school, fire brigade, police, ...), relax facilities later in the game (parks, stadiums, gallery) and luxury end-game buildings (luxury car dealer for instance).
  • Each residential building has 3-4 different levels based on the co mbination of zones present at the building location, but be aware of pollution areas around industries preventing houses to level up.
  • Some other areas are used to set up the urban plan of your town, specifying where it should grow or what areas to avoid with residential buildings development.




  • New update also introduces reworked city generator, which is now able to use bridges, tunnels, rotate building towards the street, grow behind multiline railroad crossings or modify terrain in order to produce beatiful and more realistic towns.
  • It also uses different tiers of sidewalk to show you the wealth of each city area.


Hope you will like it!
Best regards,
Jan