from Hacker News

Hands-On Rust: Effective Learning Through 2D Game Development and Play

by nallerooth on 10/14/21, 7:59 AM with 75 comments

  • by halvnykterist on 10/14/21, 11:13 AM

    I can't help but be heavily skeptical of approaches to a (traditional) roguelike that use ECS. The idea is very entrenched in the rust gamedev community, but for a turn based tile based game there's extremely little benefit and a lot of added complexity. Bob Nystrom has an excellent talk on roguelike architecture [0] and rust as a language itself doesn't prevent any of these approaches. If anything, the existence of sum types as enums make many of them all the more powerful.

    [0]: https://www.youtube.com/watch?v=JxI3Eu5DPwE

  • by uDontKnowMe on 10/14/21, 3:43 PM

    Consistently interesting content coming out of Pragmatic Bookshelf publishers these days. Recently, I have particularly enjoyed the Ray Tracer Challenge (https://pragprog.com/titles/jbtracer/the-ray-tracer-challeng...) and Web Development in Clojure (https://pragprog.com/titles/dswdcloj3/web-development-with-c...)
  • by dudul on 10/14/21, 2:59 PM

    I started reading this book a few months ago. It is pretty good, I really like learning while working on a "sort of real world" project.

    However, being completely new to Rust I find that the author doesn't spend enough time discussing the language, it's syntax and nuances. It is hard to talk both about rust alongside video game design techniques.

    I put it down after reading 1/4th of it. I'm planning to spend some time on a book that focuses on the language first and then get back to it ;)

  • by dopu on 10/14/21, 2:08 PM

    Looks pretty good! I will say, as someone who programs in their day job and has been trying for ages to get into game dev as a hobby, love2d [0] has been excellent for getting started. My github has a few repos of previous attempts at making simple games (in .cpp, .rs, etc) which I abandoned from the amount of work it took.

    If you're in a similar boat, I would recommend checking the framework out. Lua's a pleasure to program in and you can focus on the game development itself instead of getting bogged down in the details of rust / cpp. In fact I've been thinking lately about how easy it would be to use it for things other than games -- quick prototyping of graphical simulations, psychophysics experiments, etc.

    [0]: https://love2d.org/

  • by greenail on 10/14/21, 2:41 PM

    I don't think most non-rust programmers know what ECS is.

    ECS is a pattern to manage composable logic and shared behavior. very very loosely like splitting logic in to class level and object level.

  • by Zolomon on 10/14/21, 10:51 AM

    I worked through this book a couple of weeks ago and I had a blast. I heartily recommend it to roguelike fans that haven’t tried out participating in the 7DRL game jam yet.
  • by Camas on 10/14/21, 12:38 PM

  • by ttymck on 10/14/21, 7:20 PM

    It is a very good learning guide. Keep in mind I am someone who negotiates the borrow checker by adding-and-removing */&/to_owned() rather haphazardly.

    I found it especially satisfying to port the game from racketlib/rltk to bevy afterwards.

  • by myth_drannon on 10/14/21, 1:35 PM

    It's a great book but I struggled with an additional overhead of ECS library usage. Don't know if it would have been better just roll out it's own simple logic for ECS , but then it would probably double the length of the book.
  • by igh4st on 10/14/21, 2:50 PM

    The book sounds awesome to get your hands dirty with Rust :)

    is there a promo code for Latin-american countries?

  • by vjust on 10/14/21, 2:18 PM

    His explanations seem very clear and simple, I'd dig into it, just to get a better understanding of rust, and the game dev part also seems do-able, unlike other authors where they dive into some complex pieces causing frustration to the learner.
  • by cius on 10/14/21, 3:11 PM

    I recently finished this book and highly recommend it. Very fun stuff, a decent introduction to rust, and does a great job of setting the reader up for exploring further. Kudos to Mr. Wolverson.