Live data from Hacker News

Why Rust Is the Future of Game Development

thefuntastic.com

181–190 of 247 posts

Re: Why Rust Is the Future of Game Development

#181
post #16

The future of Game Development is about democratization of tools. With tools like Unity, GameMaker, and RPG maker it has become easier and easier for anyone to make a game. While Rust might be a good foundation for some performance critical code, I'd hardly say it's the "Future of Game Development". Already, games use tools like Blueprints in Unreal to make games with limited to no coding experience, and I expect tho…

Not directly relevant, but the use of the phrase “democratization” to describe a process that has nothing whatsoever to do with democracy (“anarchization”?) has become a pet peeve of mine.

Democratic has a well established meaning of 'being available or appealing to a broad group of people'. Democratization is the process of making something democratic and my use (and the wider use of the term to mean 'make accessible broadly') has been pretty well established for a long time now.

The printing press (and printmaking in general) are both examples of democratic art -- making art accessible to the masses.

Re: Why Rust Is the Future of Game Development

#182
post #39

Earlier quoted context omitted.

Not directly relevant, but the use of the phrase “democratization” to describe a process that has nothing whatsoever to do with democracy (“anarchization”?) has become a pet peeve of mine.

I think democratization is often used where decentralization fits better as a term.

In this case, the meaning is orthogonal -- it's about accessibility to the tools, and the accessibility of the tools. That could be centralized or decentralized, as long as the tools are easy and available to the masses.

Re: Why Rust Is the Future of Game Development

#183
post #9

Let me tell you that the future of game development is in developing games, and any particular language has nothing to do with it. Does anyone care what language were any particular games that keep being replayed or remembered fondly? No. Never.

> Does anyone care what language were any particular games that keep being replayed or remembered fondly? > No. Never. I certainly remember games more that still have an active modding community, which is (somewhat) enabled by the choice of programming language. I doubt Rimworld or Minecraft would have the thousands of mods they do if modders had to write OCaml instead of Java or C#.

We were already doing mods back in the MS-DOS days, and sharing them over BBS and Usenet, before any of those languages were invented.

Re: Why Rust Is the Future of Game Development

#184
post #36

Earlier quoted context omitted.

Not directly relevant, but the use of the phrase “democratization” to describe a process that has nothing whatsoever to do with democracy (“anarchization”?) has become a pet peeve of mine.

I'm assuming it means getting public involvement? Getting people to participate in the process. That said, I do feel most of the examples are not that. The old shareware scene was much closer to the spirit. Now that we are pushing winners only, feels more like corporate control than it does people control. :(

Go visit http://itch.io/ and search around for a bit. There are thousands of games to explore here made by people from all walks of life. Most of these will see zero to minor financial success, but people are still making them because they are inspired to share some experience.

Even on the major platforms, you'll find stuff like Umurangi Generation, a game about taking photographs in a surreal autocratic environment. That game is not a 'winner only', but it's fascinating and only exists because people who want to make that experience had access to tools they could understand and use.

Democratic processes and tools are tools that are widely available to the public. It's not only AAA studios making games, everyone around the world is making games.

Re: Why Rust Is the Future of Game Development

#185
post #15

I think Rust would eat into C++ more than C#. Microsoft is pushing C# and the tooling fairly hard right now. Performance is pretty good and even though Rust seems like a rising star, it won't reach C# levels of tooling for quite some time. I don't think the population of studios that chose C#'s performance and convenience over C++ but would now choose Rust is all that large. But hey, lets start talking about bindings…

> even though Rust seems like a rising star, it won't reach C# levels of tooling for quite some time. Just curious; what's the tooling gap between Rust and C#, according to you? I work in C# profesionally, and dabble in Rust, and haven't really found Rust tooling lacking yet -- but maybe that's because I'm only working on small hobby projects.

Try to do something like WinUI in Rust, or debug a mixed code base like in C# and C++ on Studio.

Re: Why Rust Is the Future of Game Development

#187
post #93
post #47

Having tried writing a game engine in Rust, I can't imagine that Rust would become the future of game development. Lack of safety is a feature in game development, because the optimizations required are typically unorthodox and a super strict language slows development down. Additionally, object ownership can be unclear in a game development setting, which typically makes use of global variables for state. The benefi…

Isn't this basically saying that you can't have the compiler guaranteeing you aren't including bugs in those optimizations / global variable usage because it's more efficient to just write and then ultimately ship some bugs? To me it seems like this would require a significant adjustment in how certain problems are approached, but the outcome would likely be more effective development as you could eliminate a lot of…

unsafe is sometimes necessary because Rust's safe APIs are needlessly inefficient.

For example, consider a function for 16 byte equality:

    fn equals(v1: [u8; 16], v2: [u8; 16]) -> bool {
       v1 == v2
    }
rustc emits a branch to test if v1 and v2 point to the same thing, which is unnecessary (it can never be true!) and can ruin loop vectorization, etc. The useless branch is not serving any safety purpose but requires unsafe to avoid.

https://rust.godbolt.org/z/6973jG

The efficient version is quite a bit more verbose :(

Re: Why Rust Is the Future of Game Development

#188
post #61

Earlier quoted context omitted.

But Pfhreak's point is that most people don't want to "build their own engine", they just want something that lets them make a game, and Unity and GameMaker are very good at giving you that running start, even if you know very little programming. The Rust gamedev community, so far, hasn't even tried to create that experience.

Most people don't want to build their engines since it's hard in cpp. If building an engine consists of selecting a couple of crates, people might have a different opinion.

No, most people don't want to build their engines because building engines is a different thing than making a game. People want to build just the part that's unique to their game. Very, very game devs care about how things are drawn to the screen or what's happening in their physics engine -- they just expect those things to be easy to use default features.

Re: Why Rust Is the Future of Game Development

#189
post #171

Earlier quoted context omitted.

I'm try to not sound rude, but I don't think I can. Every C++ developer with even some significant amount of experience will identify this as bad code with one eye closed. Of course this looks wrong to someone that doesn't know the language. People freak out because it crashes your program, but in the end it's just a bug and producing bugs that are not obvious to someone that doesn't use the language much is very eas…

> People freak out because it crashes your program People freak out because it _doesn't_ crash your program (until it's running in production of course). On my system without optimizations it prints "xyz" just fine, with optimizations it prints nothing, even though I'm accessing to the middle of memory. I think on most systems this will not actually crash unless you have explicit out of bounds memory tracking inserte…

In VC++ also not, as I do static analysis as part of the build.

Re: Why Rust Is the Future of Game Development

#190
post #80

When discussing games, where players demand excellent performance but are tolerant of initial startup times (i.e. launching the game from Steam or the Start Menu) being long, then I question why Java isn't the future. By all accounts Java has the most sophisticated runtime out there, it has all the safety features of Rust without fucking around with the borrow checker which seems like a huge piece of complexity just…

There is nothing wrong with Java except the issues surrounding protecting your code from reverse engineering.

That applies to any language.

Hex-Rays and similar are also a thing for native compiled code.

Post reply on HN