Roguelike Development

This is a place where i have collected and compiled info relating to the development of Roguelike games.
All tutorials, code, and information is (c) 2020 Max Goren and is made available under the terms of the MIT License.


9/19/2020 UPDATE: I have introduced a new template world that differs dramatically in both quality and features
Most of the topics covered in the articles are now standard features of the template world with a much more choherent
design. i urge you to follow the link below to the new template as that will be whats used as the basis for future articles. - max


Taking a look at color_t - With many of todays terminal emulator libraries using unsigned int's to store color in their ARGB form this article looks at using bitwise operations to manipulate colors


Scrolling Maps - using and displaying maps that are larger than the viewing area


FOV the easy way - An easy field of vision algorithm using ray casting with proper shadowing


Basic 2d Shooting mechanics A brief explaination of how i implemented "shooting" projectiles in 2d games


Basic Shooting mechaics pt. 2 Picking up where part one leaves off this article discusses collision detection and using pathfinding for "smart bullets"


Langton's Ant - Discussing basic cellular automata by exploring Langton's Ant using C++ and NCURSES


Swift-TCOD - Tutorial for creating Roguelike games using the Swift language and LibTCOD in conjunction with the wrapper code i wrote




C++/BearLibTerminal Tutorial - another "How to make a roguelike" tutorial, this one focusing on using the BearLibTerminal library in C++




Making Goblins Move - Generating flow fields from euclidean distance to automate NPC's, or, making Goblins move..



Making Goblins move Better - addressing the issues raised by the first article, this article goes on to talk about
various other ways of automatic NPC movement, including the Breadth First Search Algorithm.



Making Goblins Move: Part three - in this installment of making goblins move i present a more in depth look
at the common algorithims used for pathfinding in Roguelike development: BFS, Dijkstra's Algorithm, and A* search. I also re-visit the topic of influence
maps discussed in part one, this time using a modified BFS algorithim to make whats commonly called "Dijkstra Maps".



(new) Template World - This is a feature rich and coherently thought out template
i use as the "base world" for my how-to's as it is difficult to explain how a tecnique relates to a roguelike without having a roguelike to show it in.
while this is not a complete game, or a game at all for that matter, it does have almost all of the components needed to make one.