from Hacker News

Game dev in Rust: a year later

by claytonwramsey on 1/5/25, 6:44 AM with 68 comments

  • by indy on 1/5/25, 9:46 AM

    Tiny Glade (https://store.steampowered.com/app/2198150/Tiny_Glade/) is an impressive example of a game written in Rust.

    Apart from that exception, Rust game development seems more about releasing half baked crates than actual games

  • by yodsanklai on 1/5/25, 10:22 AM

    I'm learning Rust at the moment (I'm going to join a new team that uses Rust). I'd say it's quite fun and I'm not good enough to have a strong opinion on the language, but I have a few thoughts though.

    So far, I find the language design not super elegant. There are restrictive ownership rules, which are fine, but then a myriad of data structures that let you circumvent these rules. It feels somewhat ad-hoc.

    Regarding pattern-matching and enum types, I can see why a C++ programmer is impressed with such constructs, but it's really underwhelming for an OCaml/Haskell programmer.

    That being said, C++ is hard and complex and it's refreshing to be able to use a more modern language. Assuming you're certain you can't live with the performance overhead of a GC, Rust fills a gap, but it doesn't seem it's the end of the story. I even wonder if it's necessarily a better choice than modern C++ for someone starting a new project.

  • by galleywest200 on 1/5/25, 7:00 PM

    Surprised not to see Godot mentioned in the article which has support for several languages, including Rust, via GDExtension.

    https://docs.godotengine.org/en/stable/tutorials/scripting/g...

    C++ is official, with community support for D, Go, Haxe, Rust, and Swift.

  • by purple-leafy on 1/5/25, 9:15 PM

    I'm keen to try re-making my little 2.5D Ray-caster engine [0][1] in Rust.

    Current implementation/s are both in C, only ~500 lines of poor code.

    I tried a refactor and broke my ray-caster lol, C has been a blast but so many footguns man.

    Heres the repo/s

    [0] - https://github.com/con-dog/sdl-test/blob/main/README.md

    [1] - https://github.com/con-dog/sdl-textured/blob/main/README.md