Saturday, March 26, 2016

Episode 119: Coding Practices

This is episode 119 of Roguelike Radio, where Mark Johnson, Josh Ge (Kyzrati) and Nicolas Casalini (DarkGod) discuss Coding Practices.

You can download the mp3 of the podcast, play it in the embedded player below, or you can follow us on iTunes.

Topics Discussed:

  • Structuring code, and Mark's infamous single 420k line code file for Ultima Ratio Regum vs DarkGod's many thousand filed engine for Tales of Maj'Eyal
  • Commenting code, and Kyzrati's distrust of his future self when coding Cogmind
  • Determination and how to approach large first projects
  • Optimizing code and the dangers of optimising in advance
  • Debugging and testing with automation and players
  • Coding practices for different goals
  • Source access and keeping secrets
  • Tips for large projects, and avoiding the Shockfrost effect
  • How 7DRLs tend not to produce great code

Join us next time for more roguelike-y goodness!


  1. Over-promised Kickstarters that collapse and leave a poor taste in one's mouth? No idea what game you're talking about!

  2. Excellent episode, thanks a lot!

    Mark, re: splitting the massive file into several smaller ones - between "spending one week doing it" and "not splitting it at all" there are other intermediary options. The one I would recommend in your particular case would be doing it in small steps, and as part of something else. For example: if you are going to work on the FOV code, you start by moving the FOV code to a new file - and only the FOV code. You leave the rest in the big file. And next you work on the graphics, you move them to a new file. Only the graphics. And so on. This way it wouldn't be a massive several-days task, but something you can invest minutes here and there from time to time.

  3. You can practically hear minds blow when Mark is explaining his coding practices.

  4. It's a testimont to the quality of Roguelike Radio that I'm remotely interested in listening to a podcast about programming!

    1. ..testament even. But that was a testimony so I was half right.

  5. This comment has been removed by a blog administrator.

  6. This comment has been removed by a blog administrator.

  7. This comment has been removed by a blog administrator.

  8. "This is meant to be a door, not the edge of reality" made me laugh. :D