jdno
Having said that, I think there are tons of interesting ways to build on the idea. :)
Since players interact with the game through a gRPC API, I didn't want to put a specific programming language in the title. In fact, my assumption is that more players want use JavaScript, TypeScript or Python than Rust. Which is why the tutorial on the website has examples in TypeScript and not Rust. I want players to consider the implementation of the game a black box, and instead focus their attention on the sandbox that it provides.
The routing grid is an attempt to reduce the initial difficulty for players by essentially converting the map to a set of discrete tiles. I hope that this will make it easier for players to get started. Eventually, I want to add obstacles such as impassable mountains or towns that have restricted airspace to the map. With the routing grid, I can simply mark a tile as blocked. Without it, players would need to compare the shape of the obstacle with the route of the plan and search for intersections. This simplified data model also seems to work well with pre-existing path finding libraries on NPM or crates.io, further reducing the barrier to entry.
I honestly didn't know gRPC had server reflection, will check it out tomorrow. A quick search makes me optimistic that it'll be easy to add. Same for the universal build. Might as well start signing the package while I'm at it.
https://en.wikipedia.org/wiki/Flight_Control_(video_game)
The other game that influenced the design of ATC is "Sector 33". In this game, players had to do a little bit of math using the speeds and distances of planes to coordinate their approach to an airport.
https://www.nasa.gov/centers/ames/Sector33/iOS/index.html
Ideally, I'd like to combine the colorful art style and casual randomness of Flight Control with the simple arithmetic of Sector 33. I want to make it interesting for players to watch their creation play the game, and give them a sense of accomplishment when multiple aircraft land in perfect intervals one after the other.
Here is a little bit more background about the inspiration for the game in case you want to know more: https://www.jdno.dev/auto-traffic-control/