![]() In our case each blood particle paints a blood trail, and paints on walls on impact. One benefit of drawing into textures on the CPU is that adding little bits of procedural graphics is extremely easy. Here's a simple bevy demo drawing roughly 2M pixels per frame at 60FPS, and one more that's a little bit less random. Initially this was implemented in GDScript, and despite what literally everyone has been saying online, writing to textures on the CPU side is more than fast enough. I've always disliked when blood decals in games disappeared after a while, so one of the early features in BITGUN was a level-wide texture into which blood and other debris gets written, to allow for "unlimited destruction" without sacrificing performance. Despite that, it works reasonably well, and after I also wrote a behavior tree visualizer in egui and integrated puffin in the game we were able to get some reasonable performance out of behavior trees.Ī unique part where Rust did help with performance was our blood canvas. A bad idea for many reasons, one being that I've seen too many GDC talks about behavior trees, and didn't realize that they were a complete overkill for what we were doing. With the newly gained Rust powers I somehow thought it would be a good idea to also write our own behavior tree library. We started using the pathfinding crate for our pathfinding, egui for in-game UI, hecs for some architectural stuff, and serde for serialization of game configs & save files. One innocent tweet quickly lead us down the godot-rust path. We also had some aspirations for PCG, and again doing that in GDScript proved to be an issue for multiple reasons. The biggest one we couldn't solve in GDScript was pathfinding, as the builtin Navigation2D didn't do what we needed, and a custom solution in GDScript would be far too slow. We've made some smaller games in Unity before, and this was the first real attempt at trying Godot, as we got fed up with some performance issues in the Unity editor.įor the first few months the development went great using pure GDScript and I actually quite enjoyed using it, but some issues were popping up. The game started as an extremely simple top down shooter in Godot. Fast forward one year, and we've just released BITGUN on Steam. Or at least as much as having two toddlers allowed. A little before that I quit my job, and a little after that my second daugher was born, and a little after that my wife (who's also a programmer) joined me in working on our game full time. It's almost exactly one year since Ludum Dare 48 where everything started. I know this isn't a standard r/rust post, but considering how few games are made in Rust I thought it could be interesting to a larger Rust community to see a non-trivially sized Steam release.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |