13 ms·
Rust – Are We Game Yet?
- ainar-g 4y agoA bit off-topic, but is there a list of these “Are We X Yet?” sites? I think I've seen at least five by now, and most of them were somehow Mozilla- and Rust-related, but are there others?
- arijun 4y agoFor Mozilla https://wiki.mozilla.org/Areweyet https://wiki.mozilla.org/Areweyet For rust https://github.com/UgurcanAkkok/AreWeRustYet https://github.com/UgurcanAkkok/AreWeRustYet
- estebank 4y agohttps://wiki.mozilla.org/Areweyet https://wiki.mozilla.org/Areweyet https://github.com/UgurcanAkkok/AreWeRustYet https://github.com/UgurcanAkkok/AreWeRustYet
- capableweb 4y agoHere is a list of "Are we X Yet" lists from Mozilla: https://wiki.mozilla.org/Areweyet https://wiki.mozilla.org/Areweyet The only non-mozilla "Are we X Yet" I know about is "Are we distributed yet?" which tracks various P2P features in the browser, many in connection with IPFS: https://arewedistributedyet.com/ https://arewedistributedyet.com/
- Macha 4y agoApart from Rust's Mozilla heritage, there's no link between most of the rust based are we X yet sites and Mozilla. Mozilla doesn't operate the sites, neither do the Rust team, nor is the Rust team part of Mozilla for several years now.
- capableweb 4y agoSorry if I was ambigious, I mean that the "list of lists" is from Mozilla, not that Mozilla themselves are responsible for the individual sites.
- opan 4y agoThe first one I remember seeing isn't on there. https://arewewaylandyet.com/ https://arewewaylandyet.com/
- deleted 4y ago[deleted]
- Jasper_ 4y agoThe original was "arewefastyet", to track benchmarks of SpiderMonkey against V8 and JSC. It spread like wildfire and became a bit of an inside joke in Mozilla.
- dave78 4y agoI think Matrix has a few, such as: https://arewep2pyet.com/ https://arewep2pyet.com/
- manfre 4y ago> Since you ended up here, you probably agree that Rust is potentially an ideal language for Game Development. The name and domain are generic enough that I imagine most visits are "What is this?"
- echelon 4y agoIt's a fun Rust thing. People stand up websites to expose a high level view of Rust's ability to fit the needs of a given field and to inspire and encourage faster work. - https://areweasyncyet.rs/ https://areweasyncyet.rs/ - https://www.areweguiyet.com/ https://www.areweguiyet.com/ - https://areweideyet.com/ https://areweideyet.com/ - https://www.arewewebyet.org/ https://www.arewewebyet.org/ A whole list: https://wiki.mozilla.org/Areweyet https://wiki.mozilla.org/Areweyet
- nindalf 4y agoThere used to be arewefastyet.rs, to measure the speed of the compiler. But I didn't renew the domain. It's at https://arewefastyet.pages.dev https://arewefastyet.pages.dev now.
- dralley 4y agohttps://perf.rust-lang.org/ https://perf.rust-lang.org/
- nindalf 4y agoThe FAQ I wrote answers the question - "What does this website show that perf.rust-lang.org doesn't?" - perf.rust-lang.org is great for monitoring for regressions on a day to day basis, perfect for compiler devs. But arewefastyet.rs aims to answer other questions, like - How much rustc has improved on certain workloads over a long time period. - How rustc performance is affected by different hardware. 8 cores is better than 4, all other things being equal, but how much more? On which workloads? - How much time in seconds it actually takes to compile common crates. Concerns about developer productivity could be allayed by seeing the number of seconds it takes to compile a complex binary like ripgrep.
- echelon 4y agoI'll sponsor anyone on Github working on Rust blend shapes and morph targets in Bevy or Fyrox. Email me. This is literally the last thing we need so we can ditch Unreal Engine. We'd use Godot, but since the rest of our stack is Rust, we're waiting on the Rust ecosystem to catch up to our needs. Rust + WASM + WebGPU is going to be so good.
- throwaway17_17 4y agoHonest question, if the only thing missing from being on equal footing with UE is a highly specific 3d mesh manipulation, why is there a question as to whether Rust can do GUIs and games in general. Are you operating on a completely proprietary stack or am I missing something about your comment?
- deleted 4y ago[deleted]
- sebstefan 4y agoI wish I could use Rust with the Unreal Engine.
- capableweb 4y agohttps://github.com/MaikKlein/unreal-rust https://github.com/MaikKlein/unreal-rust Unlikely to ever be as supported as what Epic themselves maintain though. Same for Godot. If you want to use something that will for sure support Rust, you better use a Rust project for the games.
- spoiler 4y agoI'm currently tinkering with Bevy, and while the experience is mostly positive, I sometimes miss the at-a-glance insight only an UI can bring. There's a few plugins that can be added to add a UI-ish inspection functionality to Bevy apps, but it's miles away from a proper UI. However the Bevy team said they'll be focusing on UI editor soon, so that's something to look forward to. But even outside of that, I guess UE is interesting due to decades of accumulated industry wisdom (eg nanite, lumen, etc). There's also kajiya by Embark that can be integrated with Bevy (I think there was a crate) that brings some of the virtualized geometry stuff to Rust games. Haven't used it myself though
- follower 4y ago> Same for Godot. While likely true that it's "Unlikely to ever be as supported" as the 4 officially supported languages[0] ("GDScript, C#, and, via its GDExtension technology, C and C++."), Godot's GDExtension technology is specifically intended for use in adding support for other languages. The most relevant tracking issue for Rust is presumably: * <https://github.com/godot-rust/gdnative/issues/824 https://github.com/godot-rust/gdnative/issues/824> Which links to: * <https://github.com/godot-rust/gdextension https://github.com/godot-rust/gdextension> [0] https://docs.godotengine.org/en/4.0/getting_started/step_by_step/scripting_languages.html#available-scripting-languages https://docs.godotengine.org/en/4.0/getting_started/step_by_...
- 0xDEF 4y agoFirst impressions matter and the fact that so many Rust crates are pre-1.0.0 is hindering Rust adoption in game projects that tend to be multi-year efforts. Game devs need stable APIs to develop against.
- capableweb 4y agoWell, doesn't pre-1.0.0 indicate that the engine is not stable in itself? No reason to provide stable APIs or a post-1.0.0 if you know there is a lot of changes to be done.
- 0xDEF 4y agoThat is true but most of the top Rust crates are still pre-1.0.0. That is not normal for a language that came out in 2015. The async-await story has been in stable since 2019 so they can't use that as an excuse.
- brundolf 4y agoIt's a weird social phenomenon, but many 0.x crates are actually quite stable, some of them are pillars of the ecosystem at this point. I don't know the exact threshold where people are deciding to make the leap to 1.0, but it's different from what you might expect Functionally, a lot of 0.x bumps end up just being x.0 bumps
- Macha 4y agoThis is to me just a post-semver and pre-semver language culture decision. Many of these crates would be on version 7 or whatever had they been developed in the early-mid 2010s, but these days people have higher expectations of complete compatibility between 1.x versions compared to projects in say Python or Ruby when those languages were 7 years old which were happy enough that 1.8 was "compatible enough" with 1.7. There were some earlier hints of this, e.g. Flask was already the defacto Python web framework when it went 1.0 in 2018 after 8 years: https://palletsprojects.com/blog/flask-1-0-released/ https://palletsprojects.com/blog/flask-1-0-released/
- 4y ago
- uhtred 4y agoQuestion: does one have to be more smart to learn and build stuff in rust than one has to be for something like C#? Asking because everyone seems to be all in on rust but i'm fucking confused every time I start reading its docs and syntax. Is it worth using rust for anything that isn't currently written in C? i.e. operating systems and compilers?
- capableweb 4y agoRust and C# is not that different after all. You're gonna have to fight with some more aggressive compile checks than what you're used to, but otherwise it should be relatively smooth sailing. And Bevy (one Rust game engine) makes it very easy to ignore much of the problems of Rust, as the architecture (ECS) and the implementation Bevy has of it, hides a lot of "warts" that you would have to battle with otherwise. Bevy makes it really easy to learn Rust, at least that's what I've found when I picked up Rust first.
- sergiosgc 4y agoC# is classic object-oriented, while Rust skips polymorphism. It takes a while to grasp how to properly design using traits with no polymorphism. The transition is far from simple. I happen to like Rust's choice, a lot, but it is a very different approach.
- capableweb 4y agoI was thinking more about the syntax in general. Maybe I'm over-simplifying because most of my time is spent working with Clojure, but Rust and C# syntax is to me very similar to each other (together with most C-like languages). But I agree, programming patterns are different enough to make it harder to make the jump I guess.
- RussianCow 4y agoSyntax is the easiest thing to pick up about a new programming language. Semantics, idioms, etc take far more time, and in that sense, C# and Rust are very different.
- jsheard 4y agoWhat's the situation with running Rust on consoles nowadays? Last I heard it was a non-starter for Playstation development, because Sony decrees which compilers you're allowed to use and they hadn't blessed rustc yet. Even if you did the legwork to add a Playstation target to Rust, using it would be grounds for failing certification.
- capableweb 4y agoUsually, console development comes with heavy NDAs, which makes it really hard to do any sort of FOSS development for such targets. Bit sad. It's like you have to write a game successful on PC before you could reach out to Sony/Microsoft/Nintendo and then get access to a SDK. And whatever integration code you write, you cannot publish for others.
- jsheard 4y agoThe trouble with Sony (if what I've heard down the grapevine is accurate) is that even if you privately fork Rust and roll your own integration without breaking the terms of the NDA, or acquire such a fork from someone else who is also under NDA, they still won't let you ship with it.
- follower 4y agoThese are issues that I'm aware of that are "tracking" the status of Rust on console: * <https://github.com/rust-gamedev/wg/issues/90 https://github.com/rust-gamedev/wg/issues/90> * <https://github.com/EmbarkStudios/rust-ecosystem/issues/18 https://github.com/EmbarkStudios/rust-ecosystem/issues/18> I say scare quote tracking because due to the nature of console NDAs it's unlikely you'll see much if any useful details in an open public forum. The issues aren't dissimilar to those facing Godot (although it has the benefit it's able to use existing C++ compilers) and the project has previously outlined some of the issues involved: * <https://docs.godotengine.org/en/4.0/tutorials/platform/consoles.html https://docs.godotengine.org/en/4.0/tutorials/platform/conso...> * <https://godotengine.org/article/godot-consoles-all-you-need-know/ https://godotengine.org/article/godot-consoles-all-you-need-...> The current "solution" seems to be console-related development activity occurring via the recently established W4 Games (https://w4games.com/2023/02/28/godot-support-for-consoles-is-coming-courtesy-of-w4-games/ https://w4games.com/2023/02/28/godot-support-for-consoles-is...) but that's obviously never going to be openly developed without console platform approval (same as any other game engine).
- andrewmcwatters 4y agoAs someone who has spent years doing game development work, I can say it's a very labor significant mistake to use anything other than C++. You could even use C, but you will end up needing to interface with C++ at some point, so at the least you'll want to write in C and use a C++ compiler for when you need things like GLM, etc. When you use non-standard languages for industry purposes where everyone else is doing their work, you will end up wanting to eventually use those tools, but not be able to, or have to write bindings for them that don't exist which means you increase your maintenance labor requirements. Worse yet, you may be deluded into thinking you can write something in your target language that will be good enough to replace the desired library--but it will more than 9 times out of 10 never have the same feature set or support or collaboration base. If you're making games, use C++. If you're doing scientific computing, use Python and C++. If you're making macOS native interfaces, use Swift and Objective-C. If you're making Android apps, use Java. I think a lot of inexperienced developers don't get bit by these mistakes until they've spent too much time in one space and even if they're successful in their own merits, they don't understand why other factors don't continue to grow in the ways they do, like: Hey I wrote a game in Ruby, but for some reason I can't find people who want to collaborate with me, I wonder why? It's because comparatively, no one is writing games in Ruby. I wrote this really cool web development library that uses Elm, why don't I have broader adoption? Because no one is using Elm. The combinatorics of every decision you make in software development have eventual consequences that sometimes take years to figure out simply because you don't have the time to ask everyone who might be a potential interactant how they feel about your decision making. If you're making a game you plan on publishing and can insulate your decision making from the output you're trying to generate in, I'll say in less than 5 years, then go for it, but statistics are already working against you in this field, why would you make your life harder on yourself? Almost everything about this craft sets you up for failure. Don't make it harder. Even people who you think know what they're doing and are core maintainers of large projects you probably know of make some really questionable mistakes and sometimes by sheer dumb luck or factors they don't understand do they still stay successful. I can tell you of one core maintainer for a multi-year run open source piece of game software doesn't believe there are significant performance characteristics between programming languages compiled to machine code versus interpreted languages when it comes to game programming. This is a guy who maintains probably the most used scripting language based game software in his niche. I also say this as one of the largest maintainers of Lua-based game software in the space. Lua is one of the if not the top used scripting languages for video games, and we just do not see the adoption we want for our products. It's overwhelmingly because our users want to use C++.
- matt3210 4y agoWhere’s the are-we-embedded-yet
- zokier 4y agohttps://www.infineon.com/cms/en/product/promopages/rust/ https://www.infineon.com/cms/en/product/promopages/rust/
- 0xcde4c3db 4y agoI know a few people doing MCU firmware with Rust. I doubt it will be anywhere near as mature as the C ecosystems anytime soon, but it's come a long way. See e.g. the "cortex_m" crate and some of its reverse dependencies [1] [2]. [1] https://docs.rust-embedded.org/cortex-m-quickstart/cortex_m_quickstart/examples/index.html https://docs.rust-embedded.org/cortex-m-quickstart/cortex_m_... [2] https://lib.rs/crates/cortex-m/rev https://lib.rs/crates/cortex-m/rev
- estebank 4y agoAnd a list of things missing: https://github.com/rust-embedded/not-yet-awesome-embedded-rust https://github.com/rust-embedded/not-yet-awesome-embedded-ru...
- marcosdumay 4y agoI don't think anybody ever asked that question. The answer was "yes" before the language became usable for a browser engine (it's first goal).
- higherhalf 4y agoThis fits as a "list of links by topic": https://github.com/rust-embedded/awesome-embedded-rust https://github.com/rust-embedded/awesome-embedded-rust
- follower 4y agoTo specifically answer your question, here: * <http://www.areweembeddedyet.com/ http://www.areweembeddedyet.com/> It currently redirects to: * <https://rust-embedded.org https://rust-embedded.org> Which doesn't really contain anything other than a link to <https://github.com/rust-embedded https://github.com/rust-embedded>. (via <https://github.com/rust-embedded/wg/issues/15 https://github.com/rust-embedded/wg/issues/15>)
- dimitropoulos 4y agoThere are two significant games I just found out about by looking at this list: - https://store.steampowered.com/app/2198150/Tiny_Glade/ https://store.steampowered.com/app/2198150/Tiny_Glade/ which looks AMAZING - https://veloren.net/ https://veloren.net/ which looks really cool Good to know there are some legit non-toy things being made. I remember back in the mid 2000s pretty much the only thing you could play on Linux was TuxRacer, and the state of Rust game development (right now) kinda reminds me of that period. Then steam happened and now I can play Civilization: Beyond Earth all I please!
- zelphirkalt 4y agoI think it would be fairer to say: "Then WINE happened and Valve build things on top of WINE and now I can ..." People used WINE to play many games before Proton even existed for years and not just small titles. I still remember when I had to switch from Windows to GNU/Linux + WINE to play Starcraft 2 when it came out, because on Windows it would hang at some point in the campaign, with no way around it.
- LelouBil 4y agoSteam is also the only major game launcher that supports linux natively.
- bryanlarsen 4y agoGiven that much of the money paying the WINE developers is coming from Valve, it's fair to give them much of the credit.
- follower 4y ago> Given that much of the money paying the WINE developers is coming from Valve Do you know of any data documenting total funding over the entire lifetime of the project from all the project corporate sponsors: * https://en.wikipedia.org/wiki/Wine_(software)#Corporate_sponsorship https://en.wikipedia.org/wiki/Wine_(software)#Corporate_spon... Not to mention there's been a lot of volunteer vision & contributions over the project's nearly 30-year history. So, I'd be reluctant to give Valve too much of the credit--as much as it may have had an impact over the most recent few years.
- danrocks 4y agoI am asking genuinely, without implying anything and/or being sarcastic: why is the HN community so obsessed with Rust? It seems to show up on every programming-related thread and most times mentioned as a Swiss knife of a language, suitable for every task, from UI to firmware development - a departure from the more traditional view of certain languages being best for certain tasks. I get the benefits of the language and would like to see it succeed, but real-world adoption seems to be way below what's imagined here, and the "good for every task" posts give it kind of a cultish vibe that makes me look away.
- EGreg 4y agoSame reason they all hate blockchain and smart contracts, or many still believe that AI will be a net good for the world. Groupthink. I enjoy thinking and speaking based on fundamentals, regardless of what surface ideas people at large have. In fact, besides grounding me in facts and reality, it gives me a huge advantage as an entrepreneur, to be able to see possibilities people don’t.
- RussianCow 4y agoYou're likely getting downvoted because there is a comment like this on every Rust-related thread and people are tired of it. Frankly, people are excited about Rust. It promises C-like performance and utility while being more expressive and much safer. Cargo is awesome. The level of quality of its ecosystem is, in general, unlike that of most other programming languages. At the end of the day, people are just really enthusiastic about it and want its community and ecosystem to grow so they can use it for more things. Is it sometimes taken too far? Absolutely, but you could say the same thing about most popular languages at some point: JS, Python, Java, etc.
- cultofmetatron 4y agoI love cargo. Its the most ergonomic dependency manager and build tool I've ever worked with. I completely understand why there'd be a cult around it.
- 4y ago
- dustymcp 4y agoCan anyone explain why it is thought that rust is great at games, i dont have experience with it but would like to know more? Right now i am using unity and c# which seems ok for my needs currently.
- marcosdumay 4y ago"Is great" is probably the wrong way to put it. It can potentially be great. For that, it needs tooling, but tooling is the largest problem to solve in any language anyway.
- deleted 4y ago[deleted]
- baby 4y agoWhen I was doing Unity, C# was nice, but I really wished it used Rust instead.