I suppose that writing out the questions above have exorcised any desire I might have had to do them. That's acceptable to me. I tried doing them yesterday. I let them go.
This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.
Show posts MenuQuoteClosing thoughts
QuoteWe've been using Rust on basically all of our games since mid 2021. This was when BITGUN initially started as a Godot/GDScript only project, and as we ran into issues with Godot's pathfinding (both performance and functionality wise) I looked into alternatives [..]
Quote[..] the article isn't written from a point of ignorance or not trying the correct approach. The #1 argument I hear people say when someone points out issues with Rust as a language is, jokingly, "you just don't have enough experience to appreciate this". We repeatedly tried both more dynamic and fully static approaches to doing things. We tried pure ECS, and we also tried no ECS.
QuotePositives of Rust
QuoteWe've released a few games across Rust, Godot, Unity, and Unreal Engine, and [..]
QuoteWhat I'd want instead is to have a very pretty GUI, with lots of custom sprites, animations, vector shapes, particles, effects, flashes, etc. I want my button to wiggle when it's clicked, I want my text to animate as it's hovered, I want to be able to use a custom shader and distort it with a noise texture. I want particles to fly around when a character box is selected.
QuoteMaking a fun & interesting games is about rapid prototyping and iteration, Rust's values are everything but that
QuoteECS solves the wrong kind problem
Quotemany times people use ECS because it solves the particular problem of "where do I put my objects", without really using it for composition, and without really needing its performance
QuoteECS as dynamic composition, allowing combinations of components to be stored and queried and modified together without having to be tied in a single type.
QuoteI've been in countless arguments where someone tried to convince me how I absolutely should be separating Position and Health out of my objects, and how my code is spaghetti if I'm not doing that.
Quotegenerational arenas generational arenas generational arenas
QuoteGeneralized systems don't lead to fun gameplay
QuoteHere's a few things that I think create good games, that are going directly or indirectly against generalized ECS approaches:
Quote- VFX that are not based on having lots of same-y particles, but time synchronized events (e.g. multiple different emitters firing on a hand-designed schedule) working across all the game's systems.
QuoteA good example game here would be The Binding of Isaac, which is a very simple roguelike with hundreds of upgrades that modify the game in very involved, interactive and deeply complex ways.
QuoteRust is the type of language where wanting to do a new type of upgrade might lead you down a path of refactoring all of the systems, and many would even say "that's great, now my code is much better and can accommodate so many more things!!!". It sounds like a very convincing argument [..]
QuoteA more flexible language would allow the game developer to immediately implement the new feature in a hacky way, and then play the game, test it and see if the feature is actually fun, and potentially do a bunch of these iterations in a short amount of time.