In the meantime, if anyone's looking for gamified railroad-building (just for fun), check out:
https://store.steampowered.com/app/1124180/Rail_Route/
https://store.steampowered.com/app/1134710/NIMBY_Rails/
https://store.steampowered.com/app/503940/Railway_Empire/
Or several more: https://github.com/arcataroger/awesome-engineering-games/tre...
- You build roads and railways, and stations for passengers and cargo (road/rail/air/sea) - You set up 'lines' to connect various stations, and you can specify what and how much gets loaded/unloaded at every station (or whether vehicles on that line stop there at all), and how long vehicles should wait for their cargo - You buy each vehicle and assign it to a line, and in the case of trains you also buy each component e.g. locomotives, passenger cars, stake cars, hoppers depending on what your line needs to transport
The cities grow by themselves based on the passenger transport links with other cities and the level of goods supply. There's no zoning, building water pipes, schools, or anything like that. Just the minutiae of getting things from A to B via C to pick up some more things destined for Y and Z.
www.run8studios.com
And if you want to peak train nerd like me: raildriver.com
This... is amazing!!
EDIT: Railway Empire 2 is actually on sale right now! https://store.steampowered.com/app/1644320/Railway_Empire_2/
Don't be put off by the, uhh, legacy graphics and quirky UI, like Dwarf Fortress it has the the depth of decades of development (and the learning curve isn't quite as murderous).
Bending geographic maps for enhanced railway space-time diagrams: https://fosdem.org/2024/schedule/track/railways-and-open-tra...
MARECO algorithm: how to drive a train using the least amount of energy: https://fosdem.org/2024/schedule/event/fosdem-2024-2650-mare...
Railway signaling: detecting conflicts in a complex world: https://fosdem.org/2024/schedule/event/fosdem-2024-2665-rail...
And last year:
Automated short-term train planning in OSRD: https://archive.fosdem.org/2023/schedule/event/rot_osrd/
OpenStreetMap, one geographic database to rule them all?: https://archive.fosdem.org/2023/schedule/event/rot_osm/
It doesn't work out in all cases, but in areas where it does it silently moves society forward!
It's not always useful (rarely actually) for the average Joe, but it's definitely cool to see them embracing OSS and OpenData.
The railway system in Switzerland is far, far more reliable, far more central to the Swiss economy and proportionally (Switzerland is smaller than France) services much more of the country in terms of both geographical reach and service frequency.
But ... credit where credit is due, kudos indeed to the Frenchies for building and open sourcing something like this, I would love to see a video of it in use.
[EDIT]: I skimmed through the documentation, and I haven't found anything pertaining to monte carlo simulation of a complex railway system subject to external perturbations, as in: throw a bunch of unexpected events (accidents, breakdowns, blockages, late trains from a neighboring country entering the system, etc...) and see how well the whole network's efficiency holds under such disturbances. Maybe I am misunderstanding the purpose of the system.
[EDIT 2]: OK, found something. Such a "how well does the network do under perturbation" is not part of the feature set yet but seemed to be in the cards. From [1], in section "Operations studies / Planned features include", I read: "automated timetable robustness assessment using stochastic simulation".
[1]https://osrd.fr/en/about/use-case/#%C3%A9tudes-dexploitation
This is like not trusting the cooking book of an American chef because America has poor food quality. Or British chef in Britain.
Individuals' talents are not bound by their countries' failures and successes.
And comparatively the French train network is excellent, and faster than the Swiss network.
No, I'm not French at all.
I don't think we're talking about the same country here.
Are you a regular user ?
"Comparatively" ?
Sure, if you compare it to the US train network or to Uganda's ... "comparatively", you can always find something to compare to that makes you look excellent.
> Are you a regular user ?
Not OP, but I am. The French railway system suffers from a few faults (like the fact that it's Paris first, or not enough capacity on some routes, especially around popular times like Friday afternoon), but is otherwise extremely good. There's very fast coverage between all big cities aligned to Paris (so Lille - Lyon - Marseille is super fast, but mostly because they are destinations linked to Paris); Marseille - Bordeaux is slow because it isn't aligned to Paris, and has to pass through bad terrain in the middle of nowhere).
In terms of coverage of % of the population with regional or high speed rail, or hell, low cost low or high speed rail, it's among the best in the world. It's only serious challengers are Spain, Italy, Japan, China.
https://www.tiktok.com/@liamcarps/video/7083888965668932869?...
That being said, there's very good regional and decently fast coverage. Delays are a problem due to postponed infrastructure investments though.
Witness the calamitous state of getting the fans to stadiums during the current Euro 24.
[1]: https://github.com/SchweizerischeBundesbahnen/netzgrafik-edi...
[1] https://www.siscog.pt/en-gb/ [2] https://www.siscog.pt/en-gb/products/#railnode
Additionally, the UI contains complicated elements such as custom maps with the railway network and custom graphs to visualize trains. There is a large ecosystem to implement this kind of stuff via Web technologies. A webapp also removes the need to distribute an installable binary on many different platforms (some may be quite restricted due to company policies) and many different machines (there are many users, see above).
Note that the system uses a client-server architecture but isn't really distributed.
Yeah, I kind of agree. The thing is, it's orchestrating multiple containers to do the job. I can't figure out why you couldn't just have one container.
(Of course, it's completely possible to build a single container which runs all of the services in parallel, but then monitoring/scaling/availability/etc are more difficult to handle.)
Having done both, I'm always surprised when people say that it is more difficult to handle running N-copies of the same container than a heterogeneous set of containers. Sure, at really large scale you can glean efficiencies from it (which is why one might do it), but there's a lot of complexity that comes with that.
Modularity of code is a common explanation for using a multi-service architecture, but it's not a particularly strong one (services are just one way of modularizing code). In terms of OSRD services being accessed by external applications, it doesn't seem like that would work particularly well, given the coupling between the pieces. The only pieces that would make any sense to me for outside applications to directly in would be the PostgreSQL database... and if that were the plan, I'd just host the whole thing in PostgreSQL.
EDIT: The goals of OSRD include realtime cooperation between multiple entities, including timetabling and planning on short term. Thus somewhat more complex application that is "multiplayer".
Part of the issue is that desktop application delivery can be troublesome, logistic wise (especially now with various cross-platform environments dying off), so if you want to serve as wide group as possible with minimal logistical hassle, web might be the way.
Then you might end up building it multiprocess because it's not like you have a monolith once you have complex browser-side state...
Could it just be the skillset that government has to? Web devs are a dime a dozen and you can probably find people to maintain/incrementally upgrade parts of it in the future easier than you could find an expert in some desktop GUI language (like .NET or Swift) that would still work after a few years of OS updates.
How hard is it to use though for someone without a real technical skill set ?
The README contains instructions to start OSRD with docker-compose, if you want to try it out. Would be nice to have a public demo instance for sure!