Re: Audio Games with Rust?
I hear you re: keyboard focus. Again, remember this is all super early, so I don't think it's entirely accurate to assume that no keyboard support now means no support ever. They barely have buttons right now, to put things into perspective.
The APIs are actually pretty easy to work with. I'm hacking on a roguelike concept I've had for a while. Systems are essentially independent functions that accept either component types which filter the entities on which they're called, or query parameters to further filter the entity list with more complex conditions. So I can write a function that accepts an input map, a player, and its transform, then updates the transform based on which actions are active. I wanted a system that announced and described new rooms of the map when they're entered. That function accepted a TTS resource which pulled a global TTS instance from a resource pool, and a query that ensures that the complex bit of the function only runs when the player's transform mutates. It then tracks the previous room in a resource local to that function only, and speaks a generated room description when the player's new room differs from the previous one. Other engines including Godot would require more and more complex hooks into the global process loop. ECS basically contain all of these requirements to single functions/systems, then ensures that these functions are parallelized and can update and access the global component/resource pools without conflicting. If it isn't how you think, that's fine. Games can certainly be built using a number of design patterns. For my part, I'm finding that Onslaught is starting to get a bit sloppy as players keep finding late-stage balance issues, and I'm having to touch code in 3-4 places to implement new features. I wish I could have built this functionality out in systems, then had new systems work with the features exposed by the older ones. Obviously I could have done things more like that if I'd planned it from the beginning, but it'd have been easier if my engine forced that from the start.
-- Audiogames-reflector mailing list Audiogames-reflector@sabahattin-gucukoglu.com https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector