Mashinky - jan.zeleny
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

Dec 23, 2021
Mashinky - jan.zeleny
Hello respected community!

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
Mashinky - jan.zeleny
Hello respected community!

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?

Connection & Server
  • 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

Cooperation x Competition
  • 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

Other updates
  • 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






Mashinky - jan.zeleny
Hello respected community!

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
Jun 6, 2021
Mashinky - jan.zeleny
Hello respected community!

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



Content of city update



  • 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
Mashinky - jan.zeleny
Hello respected community!

Today, I've updated EXPERIMENTAL branch with the City update!

Feel free to switch to public experimental branch and let me know in case of any issue. I will be adding more content and fixing bugs meantime, so we can finally release City update to public branch soon.

Just to sum all news up, here is the list:

City update
  • You are now able to 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.

New content
  • 50+ buildings for your towns (different levels of residential buildings, decoration tiles, functional upgrade buildings)
  • New mechanics for cities: Zones around city upgrades. Including new overlay, icons, tutorial
  • Each residential building has 3-4 different levels based on the combination of zones present at the building location.
  • Different buildings appearance also through ages
  • Added sidewalks within some city zones helping you understand where are advanced parts of your city located
  • City now has a city square (with several levels based on city size)
  • Added city decoration buildings
  • New city generator able to use bridges, tunnels, rotate building towards the street or modify terrain

Improvements and Fixes
  • Added more buildings color variations (8 -> 16)
  • Rail type upgrade now possible also by drag & drop whole area
  • Fixed Town size counter. Now only residential buildings are taken into consideration
  • Improved no-shadow rendering (mostly shading trees)
  • Added deferred decals shader (used for crosswalks now)
  • Windows properly align to the empty space as close as possible to prefered position when openned
  • Added Ramp terrain tool
  • Fixed crash when close window while placing industry upgrade
  • Added blinking UI highlighted items now use an arrow to make them more visible
  • Added town message when unable to grow, also do not reset counters, only freeze them
  • Fixed electricity overlay and electricity distribution

Hope you will like it! Once this update is uploaded to public branch, I will switch back to multiplayer to finally reach MP first alpha stage. Wish me luck :)

Best regards,
Jan
Feb 19, 2021
Mashinky - jan.zeleny
Hello respected community!

For last 6 weeks, I've been focused on multiplayer implementation and it progressed a lot. Soon there will be first internal test of basic game mechanics. Still this update is far in the future, so last week I switched to the City update instead which will be probably the biggest content update so far, and it is far closer to the release than multiplayer, so this is my highest priority atm. to deliver you new content and make the waiting on MP a bit more acceptable :)

Meantime, several bugs have been reported and I can't let you play such non-perfect game, so today I'm releasing these bugfixes only.

Here is the list:

  • Added: Vignettation postprocess (a small detour, where I try to solve long-term comments on a gray and dark world). A pleasant palette of colors is definitely needed for relaxful playing with trains. Plus, it cost me about an hour of my work :)
  • Modified: POEditor latest localization text
  • Modified: More snow everywhere
  • Modified: Cost of Aries vs Lok
  • Modified: Lowered Steam API version from 151 to 150 due to Proton crash (SteamUGC from 15 to 14) - Linux Proton fix
  • Modified: World towns list included in build
  • Removed: Christmass gifts from buildings production
  • Removed: Chromatic aberation postprocess (It is not my favourite any more :)

  • Fixed: 1x1 towns in new game
  • Fixed: Number of towns and town building. Now the city size is the same on all map sizes
  • Fixed: Disbalanced town sizes (they are more even)
  • Fixed: Quest Limits
  • Fixed: Crash when game interacts with invalid building (somewhere in one of 100+ mods)
  • Fixed: Lod baker issue (also potential optimization)
  • Fixed: Set params in wagon xml
  • Fixed: Camera positions in Azakase/Isuzumo engine
  • Fixed: Script for quest visit 10 cities
  • Fixed: Electricity overlay update
  • Fixed: Crash when using stamp near map border
  • Fixed: QC script callbacks
  • Fixed: Blured wires when DOF turned off
  • Fixed: Snow was missing on flat land maps (snow level reacts more on max map height)
  • Fixed: One way road upgrade
  • Fixed: Glassworks building rule
  • Fixed: Mud when generating new map
  • Fixed: Wrong road crossing generated when starting new map
  • Fixed: Editor generates industry from all eras
  • Fixed: Editor regenerating towns / industry now correctly remove roads
  • Fixed: Draining money tokens when starting new era
  • Fixed: x86 Steam API libraries version
  • Fixed: Cost when placing shop

Hope this helps to make the game experience a bit smoother, I will meantime go back to City update so I can deliver to you as soon as possible ;)

Thank you all for such an amazing support and patience.

Best regards,
Jan
Dec 22, 2020
Mashinky - jan.zeleny
Hello respected community!

I have another good news for you!
I've just released one very special update today. Since There are holidays comming and winter nights are long and calm, I think we all have a great opportunity to enjoy huge maps and some winter quest full of magic.

Also there are even better possibilities for such a great community and talented modders to release their imagination and create even better custom maps as well. New map size unlocks more than milion tiles you can tweek to perfection and spend dozents of hours later to create our bigger-than-ever railroad network.

Update content
  • Supporting map size up to 1024 x 1024! But be aware, only those having x64 operating system and more than 8GB ram are able to use these maps (maybe some future optimization unlocks them for all players)
  • Having this opportunity I've dusted off my brushes and create the new map for you: 1024_h_uk. It is based on real data not only for elevation and town locations & names, but also forest coverage mask, grass wetness mask, industry locations (some of them are having real world names) etc. This map is rather hardcore due to low industry density, but could be a nice challenge for your long winter nights ;)
  • Having large maps I've also added one new station upgrade able to unlocks you +2 station size.
  • Last, but maybe the most interesting, is Christmas quest. You will need to utilize your railway network / road vehicles even more to serve good things. There are unique visuals and very rare reward for you.

Just to mention an awesome way how to solve the new holidays-limited quest, I have to mention JTrucker. He creates a long train, loads it untill full and drives it himself to each destination. Each time he waits at the station for a moment and continues to anothe one. Once the train is empty, he jumps out and since the train hase only one destination with full load command in his route list, train gets back automatically, loads full and waits on JTrucker to be driven to other destinations. I love it, very elegant and roleplay-full approach.

Vouchers
For the very last minute gifts and for all of you who is not following me on social media (fcb Mashinky page), I just reminds you the possibility to get your gift voucher and steam key directly on www.mashinky.com. You may print voucher, buy the game directly there or on humble store (steam woun't give you the key directly), write the key onto the printed voucher and you have beatiful gift in just a few minutes ;)

Enjoy holiday season and big Thank you!
I just want to thank you for another (and awesome) year. You are the best community I could ever wish and it is a great pleasure to work on this game for you. I am so looking forward to the next year having some major updates almost reaching its public testing phase.

Please have a beautiful holiday season, stay safe and health and wish you all the best for the upcoming next year!

Best regards,
Jan

Mashinky - jan.zeleny
Hello respected community!

While preparing for some upcoming changes (like bigger map or more simultaneous players), I've sit and spent some time on optimizations. Also reacted on some community requests on making one way road stations, fix several reported bugs (and probably adding some new ones :D), improved walk mode and drive mode usability (mostly visibility of signal from driver seat).

Performance optimizations
The biggest difference is in construction mode, where I've basically completely replaced the way how the sharp construction terrain is rendered.
For realistic mode, terrain changes its geometry based on a distance from camera. All details like for example rock mask need to be baked into the texture.
With this update, the same optimization is used also for construction terrain. In this case, the shader needs to mimic polygons and proper shading, textures etc. So I've had to replace the whole terrain shader and the way how construction terrain is rendered.



There are several other optimizations as well, so basically whole game should run a lot more smoothly. Here is the list of areas
  • Construction terrain rendering performance huge improvement (terrain loding and polygons fake rendering)
  • Better vehicles rendering early out
  • Better shadow CSM levels rendering order / management
  • Time budget for terrain tiles texture update
  • Mud fading out performance improved
  • Raycasting full terrain improved
  • Rect list merging optimized (cause new era freeze)
  • Script callback OnConstruct once per tick as maximum (cause new era freeze)
  • Dirty rects update after era change
  • Terrain and map objects change
  • CSM Shadows ranges reacts on visibility range
Ultra zoom out
Thanks to so many successful optimizations, I was able to finally prolong view distance and introduce full zoom out distance. You can finally see the whole map, no matter what.

One-way road stops
I've added one-way road stops and modified AI to properly use them. There are still some situations, where it may not utilize one-way stations to full potential, but hope I will soon identify every last of them and solve them.

Improvements
There are several other improvements, just to mention some them
  • Walk mode allows you to enter tunnels, collide with trees, proper collision with ground around buildings, sand and limestone quarry on sloped terrain and proper reaction when player falls through terrain.
  • Improved physics for engine acceleration (air friction was wrongly affected by actual power, not actual speed)
  • Reworked all train cameras to allow you to see the signal from cabin in most cases, also scaling down signals to further improve visibility
Fixes
  • Fixed construction terrain visual glitch on linux, mac and some Intel GPUs fixed
  • Fixed FPS Limiter value save/load
  • Fixed crash when loading (one way stops flags misused)
  • Fixed vehicles are turning around at stations even when no valid path exists

There are some other updates close to be released, stay tuned ;)

Best,
Jan

Mashinky - jan.zeleny
Hello respected community!

Today I have rather bigger update to keep you entertained if you're stuck at home as I do :)

With this update, you can finally dive fully into your world and enjoy it by walking, jumping, running, colliding with objects. You can also enter / exit vehicles / building cameras using this mode.

Once you are in a vehicle, you can control it as a driver! Try to fulfill every day routine as one of your bus or train driver or drive on your own.

To make driving easier, I've also implemented yellow signals, that warn you when approaching red signal. At the moment, yellow signals are treated as a green signal for AI, but may be crucial when controlling the train manually. And it looks great :)

Last but not least, one way roads are now possible to place. You may change existing one or even "paint" one way limitations into each direction of crossroad.



First Person Mode
  • Put on your shoes and hurray out
  • New Walk mode including collisions, sprint, jump, sounds, ... :)
  • Every object enterable directly from walk mode
  • Cameras inside vehicles and buildings are visible and usable easily

Driver mode
  • Now it is possible to drive your trains!
  • You are the driver, so you can change actual engine power, use bakes
  • You control also each junction so you may go anywhere or just follow the automatic navigation
  • You need to avoid collisions and follow signals as well or stop the train before station ends (proper positioning on a station affects speed of loading/unloading)
  • And this applies to your road vehicles as well ;)
  • You have the possibility to counter loading / unloading when driving the vehicle.
  • Also you can re-stop on station and continue loading / unloading.

Yellow signals
  • Based on community feedback on driver mode, I've added yellow signals warning you that red signal is ahead so you can slow down and prepare to stop
  • For AI, this acts as an ordinary green signal for now
  • For chain signal used as an entrace for multiple exit signals, it is yellow if any of following signal is red

One-way roads
  • You may easily place one-way roads!
  • Road vehicles will respect the direction and may use overpassing easier
  • Within road crossings, you decide on each line if it is bidirectional (no arrows there) or one way

Other
  • Added Possibility to place HQ from company window
  • Added Possibility to rename company (HQ)
  • Fixed Depot tutorial
  • Added Sorting mods by alphabeth order
  • Added Filtering mods by type

... and just to mention great event on Steam, you may check Czech & Slovak games week and celebrate 102 years of Czechoslovak independence! ;) I am super proud to be part of such an amazing game dev community producing so many awesome games. Just take a look!
https://store.steampowered.com/developer/SCSsoftware/sale/czskgamesweek

Hope you will like the new update.

Stay safe & stay at home & play Mashinky :)

Best,
Jan
...