Hacker News new | ask | show | jobs
by Eridrus 3975 days ago
If your primary goal is to learn a modern language, and you're ok with it being maybe a bit too modern and not quite polished yet, Rust is a very interesting choice.

It seems like it could fit well with the needs of game developers since it offers fast and predictable performance, compared to anything with a garbage collector, but it also offers compiler infrastructure to make it a lot harder to shoot yourself in the foot, though it does feel restrictive to start.

Piston is a game engine that folks have written in rust that you might be interested in playing with: http://www.piston.rs/

2 comments

Chiming in for Rust. It's trying to be a C++ killer, so it has a shot at a very entrenched part of the current game development ecosystem. It's definitely not a safe and solid bet yet though, the whole language might still end up fizzling in the marketplace, and even if it thrives, it might not end up getting a foothold in professional gamedev.

If you want to learn a modern language with interesting ideas and a robust paradigm for developing efficient programs, and are happy to work in the single developer indie gamedev space for the time being, Rust is good and occasionally mindbending fun.

It depends a bit on what OP wants here though. You're not going to get a job writing a game in Rust for anyone else anytime soon. If you want to be an industry game programmer, you pretty much have to know C++. Knowing Rust will help in learning C++, but if you want to be sensible and efficient, you'll just go straight for C++.

If you want to go the indie route, nothing stops you from starting your own game project in Rust right now. But again if you want to be a sensible and efficient indie game developer, you'll pick up an established engine like Unity, and start making your focus-group tested game concept with market projections and publicity plan using all the ecosystem juice you can get. Rust has no established engines yet, Piston is work in progress and doesn't have any big games done with it, so your game development endeavor is going to be more about developing your own basic engine technology than being an efficient and competitive player in the indie game marketplace.

I'm going to agree with this choice, especially since the OP wants something new.

Since the OP comes from a JavaScript background, the static typing and low-level of Rust will be great things to learn. One also gets first-class functions that aren't insanely verbose (a problem with C# and Java 8). The structure of the game engine will also translate well to the more popular languages in game dev (C++, C#, Java).

OP, keep in mind that older languages do keep getting updated so that they stay fairly modern. In particular, Java 8, C# 6.0, and C++14. C++ especially is very common in the game dev world.