3 ms·
IMO Kyren (the game dev who created a large portion of the Starbound game) covers this well in her Rust 2018 keynote. https://kyren.github.io/2018/09/14/rustcon
by capitainenemo 3y ago
IMO Kyren (the game dev who created a large portion of the Starbound game) covers this well in her Rust 2018 keynote.
https://kyren.github.io/2018/09/14/rustconf-talk.html https://kyren.github.io/2018/09/14/rustconf-talk.html
She is of the opinion Rust is well suited to game dev, and ECS is an excellent choice for a game design. She works off an example from the Starbound code.
Her thesis.
"Rust, by design, makes certain programming patterns more painful than others. This is a GOOD thing! It turns out that, for game development, the patterns that end up being the easiest to deal with in Rust closely mirror the patterns that are easiest for game development in any language.
I unfortunately had to learn this the HARD way!
Rust highly rewards data-oriented design with simple, understandable ownership semantics, and this is great news because this is a really good fit for game development. I suspect this is also true generally, not just for game development! (but what do I know?)"
- BaculumMeumEst 3y agoWhat successful games have been written in Rust?
- capitainenemo 3y agoWell, as she notes in the keynote. "Obviously the advice I give is not as applicable if you decide to use something like Unity or Unreal, which if you do and that’s great and you’re happy, then I’m not trying to convince you to leave that. Obviously if you use one of those, Rust is probably out of the question except for very very peripheral things, but honestly I still think eventually Rust WILL find its way into these sorts commercial mainstream game engine products, it’s just a matter of time. For the moment though, the most likely people to use Rust and find this talk useful are other start-from-scratch indie types, and maybe a few AAA studios that make a lot of their own technology in house (Ready at Dawn!, EA SEED!). " And yeah, there's a fair # of indie games that have already been written in rust. But if you use the criteria of "successful" (high sales?) that excludes the vast majority of indie games. So getting one of those to a high level of visibility may take a while. https://itch.io/games/made-with-rust https://itch.io/games/made-with-rust Random reddit thread claims https://store.steampowered.com/app/808160/UniverCity/ https://store.steampowered.com/app/808160/UniverCity/ was written in rust. But, yeah, there's the other problem, I doubt anyone is digging around in function signatures on a systematic basis to identify these. Personally I feel one of the better rust games out there is Veloren, but given it's FOSS, making a ton of $$ is never going to be on their success benchmarks. https://veloren.net/ https://veloren.net/ The veloren folks have been on HN frontpage a few times and attribute some of the successes of their engine to rust.
- josephcsible 3y agoCan you provide objective criteria for "successful"? Without that, any responses could easily be no-true-Scotsman'd.
- chrisco255 3y agoNot sure why commercial success would influence your choice for a tech stack. A game's commercial success depends entirely on how entertaining it is to users and whether it has a monetizable distribution. It would be better to ask what are some high quality, high complexity games that were built in Rust.
- jsheard 3y agoUnfortunately that story didn't end like one might have hoped, the developer of Starbound did begin their next project using Rust but ended up pivoting back to a conventional C++ stack mid-development. IIRC it was down to a mix of difficulty hiring programmers with relevent experience, an immature ecosystem, and possibly one of the console vendors objecting to using a compiler they haven't certified.
- capitainenemo 3y agoWell... she's not working for Chucklefish anymore, so could also be related to that since she was the lead developer? But I'm not at all familiar with what happened. ... and, well, that was written 6 years ago...
- jsheard 3y agoMaybe? I don't think they've done a detailed post-mortem on what happened, it's just fragments of information without a clear timeline. Embark Studios were the other big player promoting Rust for gamedev and they're still at it, but mostly for tooling and backend infrastructure. Their first game release, The Finals, is plain old C++ on the client side.
- pengaru 3y agoECS can be implemented in any language, it's orthogonal to my comment re: why Rust for gamedev? ECS is such an obvious concept, it's akin to file descriptors and PIDs on *NIX; an indirection table for handles, :slowclap:. There's nothing Rust-unique about it. The amount of hype I see surrounding ECS like it's some kind of groundbreaking amazing thing, often muddled into "Rust for gamedev" conversations, causes me to question everything said in such pro-Rust discussions. Blow actually responded to the keynote you linked [0]. What's still unclear to me is what's the advantage that Rust is bringing to the table? Is game development velocity higher than in C++/C/C#? The ecosystem is obviously less mature, and the borrow-checker is an obvious source of friction... How do we separate the hype from the facts? [0] https://www.youtube.com/watch?v=4t1K66dMhWk&t=1650s https://www.youtube.com/watch?v=4t1K66dMhWk&t=1650s