Big changes are coming to maxcodes.info! The Roguelike Dev section from
now on will be called: The Dev Spot. With the new name comes a new format
and of course, new content. Rest assured there will still be weekly articles,
but now there will be MORE. And in the addition to the Roguelike content
some more general programming topics will be covered: Algorithms, Data
structures, cool libraries, and what ever it is i find interesting at the
moment. To kick off the new format ive posted an article about Graph
Data Structures
and will be posting a follow up on various graph algorithms.
Enjoy! -max


More and more projects in the works, which means more and more how-to's. What started
off rather informally has certainly turned in to a regular occurence. The latest up is a new
method for FOV using Bresenhams line drawing algorithm. You can check that out Here.
I'm about two thirds of the way done with an article on Procedural Generation for 2d landscapes,
so that should be up by the weekend. After that i think revisiting graph algorithms, and maybe
a short writeup of different line drawing techniques wouldn't hurt. stay tuned! -max


I've been busy working on what i'd call a "discussion piece" about procedural
generation. It breaks format from my usual "How-to's" in that i wont being explaining
so much as demonstrating various methods of Cave, Dungeon, City and terrain generation
and some musings about each. I'm also planning on an article about the swiss-army like
nature of the breadth first search algorithm when it comes to Roguelikes, so there is
some exciting things in the works. In the mean time i was inspired by a recent thread
in /r/roguelikedev about scrolling maps, and put together an article about traversing
and displaying maps that are larger than the view. You can check that out here
That's it for now! -max


It's been a busy but productive few days, after completing the Langton's Ant's demo a few days ago
I took some time to make a few a changed to the website it's self. I've never liked php very much but when i first launched the site
i used it in order to get MaxCodes.info up quickly. My original goal was to have a Perl based site serving dynamic pages (you might
be wondering if i reversed php and Perl just now, but no, you read that right). I've always LOVED Perl, and after putting it for a while
I started putting together a Perl based content management system. The site your reading now is being diplayed by it. Hopefully soon
i will have a comments section at the bottom of the projects/code examples for people to ask questions, or talk about the topic.
I also put together a fun little project introducing shooting mechanics to 2d grid based games, so definitly give that a gander
Here. until next time -Max


I've been studying algorithms pretty intensivly the past two months or, boning as my quest for a job in software development kicks
into high gear. (If you have any leads please email me) And man has my personal library grown.
When it comes programming books i'm a little oldschool. I like a hardcopy of the book sitting on my desk. In the past month my
collection has positivley exploded. Last count 21 books related to C++, Algorithms, and Data structures. And thats not even counting
books about Perl or Swift. I've taken a bried detour from messing with Goblins, but i do have a new project on Github just for
the Goblins out there, MCTk - The MaxCodes Tool Kit is a library with all sorts of goodies
for simplifying making a RogueLike in C++. Check out the link, i think people will enjoy it. I also have a new article up.
In this article i explore and discuss Langton's Ant, so give that a peek as well! -max

August 9th, 2020
Making Changes

True to my word, another installment of Making Goblins move is available in Roguelike dev tutorials section.
This article goes into greater detail of the Breadth First Search algorithm, as well as demonstrating both
Dijkstra's Algorithm, and its newer variant A*. I also bring back the concept of influence maps discussed
in part one and how to implement them using Breadth First Algorithm to create whats called "Dijkstra Maps"
in the RoguelikeDev community, with some insight on how that god awful term came to be.. With the 2020 Reddit
Roguelike Code-along completed, I'm now going through the process of editing the C++/BearLibTerminal tutorial,
most importantly ive started using Google's "prettyprint" javascript library( available on github here) for
displaying source code examples, and it looks much, MUCH better. Well thats it for now! -max

July 29th, 2020
Time goes by, and the tutorial section grows.

It seems i've fallen into a pattern of creating new tutorials. I can't help it, when i learn something new, i like share that
information with other people, This installment is a follow up on the last tutorial. In it i discuss the Breadth First Search
algorithim for graph traversal and how it can be used to make goblins move. Since the last article was titled Making Goblins Move
This one is Making Goblins Move Better and i recommend taking a peep here, because it certainly is a better way to get
those Goblins moving! The RogueDev codealong is wearing town, so i'll be focusing on polishing up and completing the C++/BearLibTerminal
tutorial and the SwiftTCOD tutorial, and i'm also planning on bringing out another
installment or two of the Goblin series (so many algorithims!) -Max

July 16th, 2020

Reworked Roguelike Section, and a new tutorial

I've been working on developing more content and code examples for the site, i changed the link at the top to reflect the
change from being just Swift/TCOD related to content relating to Roguelike Development in all languages and all libraries.
In the spirit of that i created and added a tutorial for using influence maps for NPC movement. Expect more articles on Roguelike
development in the near future! Along with my SwiftTCOD tutorial i've also added an easy
link for getting to my C++/BearLibTerminal tutorial. The new article on influence maps
can be found: Here. Enjoy! -Max

July 4th, 2020
Happy Independence Day weekend!
Happy Independence Day weekend! I've been rather busy updating both the Swift-TCOD tutorial and the C++/BearLibTerminal
to coincide with the weekly sections of this years /r/RoguelikeDev code along. I've also been compiling(no pun intended) some
other material that i'm in the process of turning into a procedural dungeon compendium. Fairly soon, i believe i'll be changing
the section listed at the top from SwiftTCOD tutorial, to Roguelike development topics that will obviously still include the
SwiftTCOD tutorial, but along with other information for and code examples relevant to the topic of programming Roguelikes as it would
appear I've been bit by the RogueDev bug and have amassed quite a bit of practical info i would like to share with others. I'm both happy
and a bit suprisd to report that this site, for what it is has been gathering a decent amount of traffic (~1000unique visitors/week).
Not bad for a personal project launched a about a month ago. In light of that, expect more content and frequent updates.
Until then, be safe. -Max

June 15th, 2020
The /r/roguelikedev 2020 tutorial codealong is upon us! I will be participating in this
year's /r/roguelikedev code a long. The language and library I will be using is Swift and
libTCOD. I'll be doing the whole project with the wrapper i developed for using libtcod in
Swift 4.2. I am also writing a tutorial for using the wrapper that follows a similar format
to the well known Python Tutorial written by /u/TStand90. Just click on the banner below or
link above to be taken to the Swift Roguelike development tutorial. In a totally unforseen
development, in addition to the swiftTCOD tutorial, I'm simultaneously producing a tutorial
for using BearLibTerminal in C++, which can be viewed Here.

Happy Coding!

(c) 2020 Max Goren