Yeah. In fact, the article linked below[1] is more informative than the page I linked. TL;DR: there’s a big reduction to the overall weight of an EV using these, but they do add to the unsprung mass of the vehicle (the weight below suspension, as mentioned in another comment).
I appreciate your concern and I will consider this.
The [VS Code] WSL back-end has access to things in WSL PATH, like compilers and language servers. I don't duplicate them in Windows, and would like to avoid having double installs. It's also nice to be able to open integrated terminal and use `fish` and other unix-only CLI utilities.
Thank you! Using a pure functional programming language in a game project has been suprisingly easy. I find an event driven, completely asynchoronus architecture well suited for a simulation game such as Liikennematto. Some events are big (a road tile was placed - this will update the tilemap as well as the road network graph), and some are small (UI events). Everything boils down to how an event will transform the game state.
Though many games have been built with Elm, I've had to implement lots of "game engine" code myself. For example, the collision system, physics (acceleration etc.), and path finding are custom code. It's worth mentioning that this is my fist gamedev project, and I've had to read up a quite a bit on the topic. Still the difficult was not in Elm itself, but in math and data structures, as it would be on any language.
Elm's lack of runtime exceptions and mutable state makes any game quite robust. Most of the bugs in Liikennematto have been of omissions (forgot to update something) and in math formulas. 3rd party Elm libraries are often excellent with great docs and have helped along the way.
Lastly Elm is quite performant (pure functions can be inlined and easily optimized) and I can create a single .js file that contains the game code, UI and the assets (which are still SVG in Elm). The whole game is still about 1 megabyte minimized! I think that's amazing, despite not shipping the runtime enviroment (the browser).
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.
You can play Liikennematto in your browser on itch.io[1] (the link is buried at the end of the article).
I want to share with you this tiny tool that I recently hacked together.
It's trivial in nature - a web version of the Greenwich Time Signal that's often played when a news broadcast starts.
Though you can reset the seconds on your digital watch by visual means (like another synced clock), I think that a sound indicator helps with the timing. With that in mind, this tool fills a very small niche.
The original time signal is slowly being phased out from linear broadcasts, and other official sources are being discontinued [1]. I want to help preserve this part of analogue history in a digital format and provide a fallback.
[1]: https://www.cnet.com/home/electric-vehicles/this-donut-shape...