Whoa, didn’t expect to make it here. Thanks, OP!<p>This has been a fun (and rather long) project. I craved for a simple city builder that a toddler could play and understand. You might want to start from the first devlog entry to see where Liikennematto came from.<p>You can play Liikennematto in your browser on itch.io[1] (the link is buried at the end of the article).<p>[1] <a href="https://yourmagicisworking.itch.io/liikennematto" rel="nofollow">https://yourmagicisworking.itch.io/liikennematto</a>
Well done to the author on this project. A beautiful architecture and code base with not an "object" in sight. Projects such as this demonstrate how complex interactive applications can be built without pervasive mutable state. Pure functions are everywhere, which makes it much easier to reason about, test and reuse this code
This is really polished. It's one thing to make cars drive around a city, but really cool to also make them go into and exit parking.<p>I've done some basic game dev in Elm and was surprised how nice it was. In one game, I had melee fighters moving around a map fighting each other. Much later I came back to add a projectile class.<p>Having not touched the game code in months, adding an archer was a matter of adding an `Archer` model (with archer specific state) to an enum and then following the errors until I'd handled the archer at every switch site in the code. It blew my mind that I had a working archer system without even running the code once and without having to reload the whole code base into my head.
An amazing project, kudos!<p>I wonder if there is some reasonably priced flexible display I could use to make this into an actual "mat" for kids to play on.<p>EDIT: I just found this; anyone here with experience with this kind of tech?
<a href="https://www.aliexpress.com/item/1005006497423497.html" rel="nofollow">https://www.aliexpress.com/item/1005006497423497.html</a>
Good intention but car-centric infra is the worst example we can give to our children.<p>You should teach how to build those streets for people first, bicycles second, public transportation third, cars last.<p>Build for people not for machines.<p>Bicycle are all age inclusive, all ability inclusive. Cars is the most discriminatory mode of transport.<p>Those crosswalks should be continuous: <a href="https://www.youtube.com/watch?v=9OfBpQgLXUc" rel="nofollow">https://www.youtube.com/watch?v=9OfBpQgLXUc</a>
Pretty cool! Sounds like a fun project to try to port over to Rust using iced if anyone is looking for ideas ;-)<p><a href="https://github.com/iced-rs/iced">https://github.com/iced-rs/iced</a>