4 ms·
I don't think it's a fallacy. As someone who has 2 WIP games in Rust, I noticed that getting a very minimal gameplay prototype was pretty easy (given a sane en
by martin-t 2y ago
I don't think it's a fallacy.
As someone who has 2 WIP games in Rust, I noticed that getting a very minimal gameplay prototype was pretty easy (given a sane engine choice)* but then adding features made the code balloon in size. Switching from singleplayer to multiplayer was a mess. I also fell for some fads and had to waste time removing them.
And Rust really, really doesn't like heavily interconnected graphs of game objects where a game event can lead to updating multiple other types. There is friction in everything. One choice was to just live with it and write slightly more code. The other was trying to find some systematic solution that would take more code upfront and save me time later.
I chose the second options, went through some experiments but it feels like the breakeven point is way further than makes sense for a small one-person project.
*Even within one language, there can be order of magnitude differences. Rust has 2 usable 3D engines, one is well known, has dozens of contributors and gets donations that can supplant a Bay area salary. The other is written by mostly one guy who alternates between living from savings and working full time. The first engine heavily focuses on advertising and has been promising various features for years with little to show for it. The other is ahead in both number of features and implementation quality.
I think it's attitude. Some people code for the fun of it, some people have a clear goal in mind and focus on achieving it, some code for money, some code for public recognition, etc. I don't think an ugly messy codebase is necessary but there's a productive middle ground. People who focus on showmanship instead are more likely to chase fads and fancy architectures.
- Thegn 2y agoI know one of those two is Bevy, what is the other one?
- mnau 2y agoLikely Fyrox: https://github.com/FyroxEngine/Fyrox https://github.com/FyroxEngine/Fyrox Oh god, look at the authors contribution graph from last year. He is the living meme.
- martin-t 2y agoHe's doing it because he likes learning and coding. And he knows what he's doing. Rust has huge issues attracting experienced gamedevs (unlike any other area) for some reason and mrDIMAS is one of the few exception, originally from Larian studios which made Baldur's Gate 3. He used to have a Patreon with a modest goal of $1000 per month and was making decent progress towards it but then the war started and after it was clear he was not getting any of the money any time seen, he had to switch to other platforms but by then the opportunity was gone. He worked for a while for another big game studio to save up and then went back to Fyrox.
- martin-t 2y agoYes, the other is Fyrox. I don't think there are other viable 3D engines in Rust but at this point the hype surrounding Bevy is so large people wouldn't notice (and I stopped following the scene for the most part). There are also bindings to Godot which is probably the way to go if you actually wanna get shit done. I talked to their authors and they avoided promoting it on Reddit for a while because the hype was bordering on harassment.
- voxl 2y ago[flagged]
- martin-t 2y agoIsn't Tinyglade mostly custom code including the renderer, just using bevy_ecs as data storage?
- voxl 2y ago[flagged]
- martin-t 2y agoYou can't mix and match, you're still tied to bevy_ecs if you use any level of abstraction above it. I also didn't say it was a bad things. I just pointed out that everyone's goto example of bevy's commercial success (not even quality, just success) doesn't in fact use large chunks of bevy. I am sure bevy's ECS is the best in the rust ecosystem. ECS doesn't meet the requirements of my games so i rejected it but if it works for other people who made an informed decision (i.e. they knew about generational arenas) that's perfectly OK with me. In fact, I evaluated bevy along with fyrox (back then rg3d) and macroquad for my games before bevy got popular. I chose the other two engines based on their features and quality of implementation. I also happily advised cart about some community management things i learned from other OSS projects and had a reasonably discussion with him about ECS vs gen arenas when i got somewhat angrily pinged from his discord after he mistakenly assumed i was writing a competing non-ecs engine. I had no issue with bevy until it started making false promises ("editor this year, pinky swear", "we will distribute donations fairly, not just into cart's pocket, just give us another 6 months for the third time") and until (some of) its most zealous fanboys started harassing people for not using bevy. --- My fundamental point still stands, read what I was replying to - some languages lead to an order of magnitude more code with fewer features and worse results than simple approaches. I said it's not just languages but can happen with projects within a language. The fact that after several years, dozens of contributors and probably several hundred thousand dollars (!) got poured into bevy it's still chasing fyrox made by one guy is all that needs to be said.