Mazes for Programmers: Code Your Own Twisty Little Passages
D**N
Simply Delightful
By day I'm an enterprise developer working within the MSFT stack (C#, SQL Server, etc.) . I've been doing this kind of programming for 15+ years and to be frank I was starting to get burned out. But I think Mazes for Programmers reignited my passion for programming and given me new ideas/areas to pursue in the future.I would get up every morning around 4am just to work through a new algorithm! I first had to learn just enough Ruby to read the sample code before converting it to C#. But this process of going line-by-line forced me to understand what was actually going on. An unexpected side effect was that it forced to learn some interesting concepts about dynamically typed languages (Ruby) and see how they could be used to improve my C# (which is a statically typed language).My only gripe is that I couldn't do some of the weaving algorithms because I couldn't find a good ASCII-to-PNG converter for .NET to pick up on the visualizations that are needed for those. Also I never managed to get the Masking Grid and Recursive Backtracker algorithms to display nicely because of some oddities with .NET's System.Console implementation (at least that's what I've concluded).
J**S
This guy is not just a programmer, a great teacher as well, and it shows.
I've had this book for a while now, and I was able to convert from Ruby to C++ (OpenGL), because Jamis describes the algorithms step by step, which is absolutely wonderful. On a side note, I started studying Ruby programming at work, and this book definitely helped me get the hang of Ruby, because instead of converting the algorithms to C++, I just started typing the cody directly into my Ruby environment. It has inspired me to focus on creating artwork with code. I'm over half way through the book, but I plan on starting over and converting everything to C++ again, but more object-oriented, instead of just hashing through the code as I understand it...! Anyways, highly recommend this book for anyone wanting to learn to code mazes, you'll be an expert with this book at your side. (at least that's where I hope to be soon!)
P**R
Algorithms for the less technically inclined
I originally got this book to get more into programming, to have a hobby that I could make performing tree/graph based algorithms more intuitive for myself (as what you use, you retain better). Unfortunately, I do find the book hard to get into (I generally don't read text books or technical books unless it's for a class and I bought this for myself, and not for a class).What I can tell is, it has a lot of breadth. What I may not like about it is: it may not be as modular as it could be. Being a programming book, I don't know if they get into the computational complexity, the efficiency of the maze algorithms.
T**N
Super fun! Gives you the ground work to start tinkering with mazes.
Gives you the ground work to start tinkering with mazes.
E**V
Unexpected application of commonly-used algorithms
I saw my 9-year-old niece playing "Mazes" game, and wanted to research the topic of maze generation some more.This book was a good starting point. I was surprised to discover that a maze is essentially a spanning tree representation. Even more surprising was to see algorithms like Dijkstra, Kruskal, Prim, random walk, typically used in networking or EDA (Electronic Design Automation tools - compilers for chips) to generate complex mazes.One thing I didn't like about the book was the choice of Ruby programming language. Python or C++ would have been a much better option, in my opinion.
E**.
Way cool!
Great book if you're interested in mazes. The code samples are all in Ruby, which, alas, is not one of the languages which I know. No matter, though, the author does a fine job of explaining the different maze generation algorithms, using words as well as code, and I've been able to get a half-dozen working already, with more in the works. He also includes some statistics about different mazes, which I found very interesting. If you've got an interest in mazes, and how to create, solve and analyze them, this is an excellent, very readable book, which I highly recommend.
"**"
Great overview of major maze algorithms
Excellent and authoritative review of major families of maze algorithms. Like so many programmers embarking on this kind of journey I knew of a couple of these first hand and had heard of a couple others. This book presents them as an organic progression that builds on itself very naturally and the result is a more intuitive understanding of the characteristics of each algorithm that you wound get if you jumped straight into hunt-and-kill and never looked back.
J**
pretty great, but why Ruby?
So, I would give it 5 stars if the author had chosen C, C++, or Python, or even Java, or pretty much any mainstream language. I think most people would have a much easier time following along if this had been the case. Ruby is sort of niche, whereas a lot more people are used to reading C-style code for algorithms. That said, the discussions of different mazes are the best I've found.
K**N
A-Maze-Ing (yup, pun #9,000 on the title, sorry!)
When I first started looking into Maze Generation, from the simpler labyrinths to more complex dungeons, basically any search/ research you do will eventually lead you to Jamis Buck. The man is legendary in this space. His blog posts are plentiful, code examples and online tutorials are excellent, and he is approachable. When I discovered he literally wrote the book on this topic, I didn't hesitate to order it. He deserved some financial support. But this book is excellent - it goes above and beyond. It covers many different algorithms, recursive and non-recursive, the style o the maze (ie, some are carved with biases), speed, pseudo code and Ruby code examples, solving mazes, non-standard shapes (like circles), 3D mazes, and more. It's a catalog of different approaches and strategies for generating mazes. From this I made some cool large resolution mazes, and found the magic of it enjoyable. That's what it's all about - recapturing the magic and fun of programming that got you into the field in the first place. My only gripe is the Ruby code; I had to become familiar with it to appreciate it. I would have prefered a neutral or common base language like Python or C, but that's just my gripe. I got over it. At the end of the day, math is math and I've written C#, C++, and Python implementations from it. Great book, highly recommended.
R**Z
Descripción
Un buen libro con lo esencial para hacer buenas creaciones de laberintos, ruby no es de mis lenguajes favoritos pero ya que cada capitulo esta dividido en la explicación de los algoritmos generadores y después su implementación en código a los programadores con experiencia en otros lenguajes no les sera complicado mudarse
R**H
Awesome and fun!
A nice break from "serious" programming.The code in the book is written in ruby, which I've never used, but the code is well structured and explained, so that wasn't a problem. I worked through the book translating all of the code to the Go programming language.First you'll write algorithms to generate mazes. Then you'll write programs to solve them. Then you'll expand your programs to create 3D mazes. It really is a fun time.I'd also recommend picking up Grokking Algorithms by Aditya Bhargava at the same time.Have fun!
Z**D
Spaß beim Programmieren!
Ein didaktisch sehr schön aufgebautes Buch!Viele Programmierbücher wollen dem Leser eine Sprache beibringen und saugen sich die Codebeispiele aus den Fingern. Dieses Buch ist erfrischend anders. Es geht um Irrgärten und die Algorithmen, die dabei halt so anfallen. Ruby ist nur das Werkzeug. Nebenbei wird einem zwar Ruby beigebracht, aber das ist definitiv nicht das Thema des Buches.Zwei *kleine* Probleme:1.) Es setzt völlig unnötiger Weise auf Ruby 2.0, was schade ist, da IDEs wie das Eclipse Ruby Plugin noch Ruby 1.x erwarten. 2er Spezifika werden kaum benutzt und an den Stellen, wo sie vorkommen, nicht erwähnt. Man kann das Buch mit Ruby 1 durcharbeiten, trifft aber manchmal auf Fehler, die man ohne Ruby-Erfahrung erstmal deuten lernen muss. Sowas könnte man aus didaktischer Sicht vielleicht sogar als Feature ansehen ;-)2.) "Wenn es das Buch doch nur auf deutsch geben würde." Das Englisch ist gut lesbar, aber dieses Buch schreit inhaltlich danach, in der Unterstufe im Informatikunterricht eingesetzt zu werden. Und das ist wegen der Sprache halt ein Problem. Vielleicht findet sich ja noch ein Übersetzer.
R**B
Brilliant
Absolutely cannot fault this - whether you're just interested in the theory behind mazes, or want to be able to program them, this book is brilliant. Each algorithm is explained concisely, with the relatively advantages and disadvantages, but never in a dry way - it's a great read even from a theoretical basis.
Trustpilot
3 weeks ago
4 days ago