[HN Gopher] Yet Another Roguelike Tutorial
       ___________________________________________________________________
        
       Yet Another Roguelike Tutorial
        
       Author : sebg
       Score  : 150 points
       Date   : 2022-01-06 14:33 UTC (8 hours ago)
        
 (HTM) web link (rogueliketutorials.com)
 (TXT) w3m dump (rogueliketutorials.com)
        
       | themodelplumber wrote:
       | I found some great resources here for other languages, too,
       | including even FreeBasic:
       | 
       | https://github.com/marukrap/RoguelikeDevResources (Tutorials
       | section)
       | 
       | There are also a lot of frameworks out there which may be useful
       | without a tutorial. For example Valkyrie for the Free Pascal
       | Compiler, which integrates Lua and was used to create DoomRL.
        
       | juice_bus wrote:
       | /r/Roguelikedev also has yearly group threads where people go
       | through similar guides/tutorials for various languages!
        
         | TStand90 wrote:
         | I actually wrote both versions of this tutorial during such
         | events! First tutorial was written during the first event (2017
         | I think?) and the most recent version was done in 2020. Many
         | others have done something similar since. It's a bit hectic
         | trying to write ahead of the event, but I find having a
         | deadline to get the "parts" done is a fantastic motivator.
        
       | adorton wrote:
       | Here's a great one for Rust:
       | https://bfnightly.bracketproductions.com/rustbook/chapter_0....
        
         | ABraidotti wrote:
         | It looks like it's unfinished. At the bottom of the last
         | existing chapter, it says "We now have the second-to-last
         | section done!" and mentions something about building "the
         | Abyss." I wonder if the author(s) meant to finish it but never
         | returned from the depths...
        
           | swsieber wrote:
           | In progress might be a better way to put it.
           | 
           | The copyright looks old on that page but if you view the
           | source code for that chapter it was modified last month.
        
             | JasonCannon wrote:
             | The author is pretty active on /r/roguelikedev and
             | definitely still works on this and the original library
        
       | throw10920 wrote:
       | I really, really like the "diff" style for code fragments - it
       | makes the tutorial so much nicer to read, and I don't see any
       | significant downsides. This should be the standard for all
       | tutorials where you progressively modify a non-trivial body of
       | code.
        
         | TStand90 wrote:
         | Author here; the idea came from frustrations with the original
         | Python roguelike tutorial on Roguebasin. Since the entire thing
         | was written in one file, it was difficult sometimes (for me
         | anyway) to tell what was going on.
         | 
         | While I'm happy with the way the diff style turned out, I will
         | say there is one big downside for me: It's a _huge_ pain to
         | write. Not only did I do a  "git diff" every time I made
         | changes and documented it, but if you end up changing something
         | later down the line, then I basically had to go back to the
         | very beginning of the chapter, follow the tutorial along, and
         | double check _everything_. Maybe there 's a more efficient way
         | to do this, but it was a bit tedious and time consuming.
         | 
         | Still worth the effort in the end though, I think.
        
           | munificent wrote:
           | My book _Crafting Interpreters_ has a similar snippet style
           | where it shows you the surrounding context for inserted code
           | so you can see where it goes. It doesn 't show the deleted
           | code (because that would probably get too noisy in most
           | cases), but I could if I wanted to.
           | 
           | I ended up writing a whole little custom build system to
           | automatically generate the snippets and their surrounding
           | context based on comments in the source code [1]. It was a
           | fairly complex program to write, but it makes it completely
           | automatic and error-free. I can't imagine trying to maintain
           | it all manually.
           | 
           | [1]: http://journal.stuffwithstuff.com/2020/04/05/crafting-
           | crafti...
        
           | lozenge wrote:
           | https://craftinginterpreters.com/ is a bigger project with
           | automated tests at each stage making sure the diffs line up.
           | I'm not sure it's open sourced though.
        
             | munificent wrote:
             | The content of the book isn't open source, but the code in
             | it and the code for the build system is:
             | 
             | https://github.com/munificent/craftinginterpreters
        
           | mysterydip wrote:
           | Maybe there's a way to programmatically update the diffs the
           | page? have each section tagged as a build or something.
        
             | distrill wrote:
             | yeah this sounds like kind of a fun problem tbh
        
           | croes wrote:
           | Someone has to struggle sometimes. Either the author or the
           | readers.
        
           | qart wrote:
           | Thank you for making the effort to experiment with the diff
           | style. Now that people are seeing this documentation and
           | appreciating the output, maybe someone else will come up with
           | a way to automate it for future authors.
        
       | novaleaf wrote:
       | it's a big ask, but anybody know of similar for C#? I find it
       | really difficult to find any intro to programming via gamedev for
       | C#...
        
         | ziggus wrote:
         | Not sure how out-of-date this one might be:
         | https://roguesharp.wordpress.com/
        
         | pharmakom wrote:
         | Unity and MonoGame are both C# communities.
        
       | ermir wrote:
       | I would have absolutely loved this book as a student, and I'm
       | writing a similar book for JS and gamedev, I'm really liking the
       | diff style and I might adopt it myself.
       | 
       | https://suldashi.github.io/gamebook
        
       | lambic wrote:
       | The fake ascii sprite sheet is a weird choice.
        
         | LAC-Tech wrote:
         | I assume it's to let you represent the world with squares, like
         | dwarf fortress.
         | 
         | IF you did it with the terminal it would be tall and narrow.
        
         | ipsin wrote:
         | I like it, because it makes the transition to real sprites much
         | easier. You don't have to support a TTY library and a GUI
         | client at the same time.
        
           | beaconstudios wrote:
           | Yeah it's nice - I'm tinkering with a game in similar style
           | to roguelike at the moment and considered doing the graphics
           | ascii-style for rapid development instead of making 3d
           | placeholder art. It ended up being quicker to learn the
           | basics of blender and go 3d immediately, than to do text
           | first and 3d later.
        
       | edem wrote:
       | If you're not into Python and would rather use the JVM (Kotlin),
       | then I can suggest another guide too: [0]. Note that I'm the
       | author.
       | 
       | [0]:https://hexworks.org/posts/tutorials/2018/12/04/how-to-
       | make-...
        
         | japhib wrote:
         | Nice! I've been looking to start using Kotlin for game
         | development, and this seems like an awesome starting point!
        
           | edem wrote:
           | I hope you'll like it!
        
       | TStand90 wrote:
       | I did a bit of a double take seeing this on HN. Seeing something
       | I helped to create on here is... a strange feeling, to say the
       | least.
       | 
       | While I'm not completely satisfied with the way this tutorial
       | stands right now, I certainly hope that it has given a few people
       | some ideas and motivation for their own roguelike projects.
       | 
       | Feel free to shoot any issues with the site or tutorial text over
       | to the Github page: https://github.com/TStand90/roguelike-
       | tutorials-website (fair warning: I'm pretty bad at responding to
       | issues, and I sincerely apologize for that)
        
       ___________________________________________________________________
       (page generated 2022-01-06 23:01 UTC)