Mazes are everywhere. From psychology experiments involving mice to robotics demonstrations to movies, video games, books, and puzzles, we all encounter mazes at some point or other in our lives. Working with mazes is like going on a voyage of discovery where you never know quite what you’ll find when you crest the next hill.
In this course, you’re going to look at ideas to inspire you and learn to generate your own mazes. After taking this course, you’ll have taken your existing knowledge of software engineering and applied it to generating puzzles in a variety of shapes and sizes. You’ll make mazes out of squares, circles, triangles, hexagons, cylinders and cubes, spheres, and even Möbius strips. You’ll stretch them into other dimensions, squeeze them into arbitrary outlines, weave them, braid them, print them, and fold them. You will discover yourself brimming with ideas and hopefully find inspiration to tackle the programmer’s block, burnout, and gray days.
Mazes are everywhere. From psychology experiments involving mice to robotics demonstrations to movies, video games, books, and p...Show More
WHAT YOU'LL LEARN
An understanding of the usefulness of mazes to generate interesting puzzles
Hands-on experience designing algorithms and programs to solve different puzzles
Familiarity with different types of mazes including grids and circular, weaving, and folding mazes
Hands-on experience creating different mazes and solving them using a variety of algorithms
Ability to traverse mazes, render mazes, and exploit well-known graph theoretic algorithms to solve underlying problems in mazes
An understanding of the usefulness of mazes to generate interesting puzzles
Show more
Content
1.
Our First Random Mazes
8 Lessons
Learn how to use algorithms for creating diverse mazes, emphasizing practical coding in Ruby.
2.
Automating and Displaying our Mazes
9 Lessons
Walk through automating maze grids, generating with algorithms, and rendering for visual representation.
Introducing Our Basic GridImplementing the Grid ClassImplementing the Binary Tree AlgorithmDisplaying a Maze on the ConsoleImplementing the Sidewinder AlgorithmRendering a Maze as an ImageQuiz Yourself on Automating and Displaying MazesExercise: Interactive Fiction DisplaySolution: Interactive Fiction Display
3.
Solving Mazes
10 Lessons
Work your way through solving and visualizing mazes using Dijkstra's algorithm and enhanced coloring techniques.
4.
Avoiding Bias with Random Walks
8 Lessons
Grasp the fundamentals of unbiased maze generation using random walk algorithms and optimization techniques.
5.
Adding Constraints to Random Walks
8 Lessons
Map out maze generation via two algorithms, Hunt-and-Kill and Recursive Backtracker, balancing dead ends and paths.
6.
Fitting Mazes to Shapes
7 Lessons
Tackle maze masking techniques including class implementations, ASCII and image masks, and geometric mask exercises.
7.
Going in Circles
8 Lessons
Build on polar grids to craft visually appealing, adaptive, and structured circular mazes.
8.
Exploring Other Grids
9 Lessons
Get familiar with alternative grid types by implementing and displaying hex, triangle, and zeta mazes.
9.
Braiding and Weaving Our Mazes
11 Lessons
Get started with designing versatile mazes using braiding, weaving techniques, and cost-aware pathfinding.
10.
Improving Our Weaving
7 Lessons
Master the steps to generate well-structured, predictable weave mazes using Kruskal's algorithm.
11.
Growing With Prim's
7 Lessons
Grasp the fundamentals of Prim's algorithm and its maze generation applications.
12.
Combining, Dividing
8 Lessons
Dig deeper into advanced maze algorithms, including Eller's, Recursive Division, and a unique Aldous-Broder application.
13.
Extending Mazes into Higher Dimensions
8 Lessons
Tackle higher-dimensional maze creation, from transitioning 2D to 3D, visualizing, and implementing complex grid structures.
14.
Bending and Folding Our Mazes
10 Lessons
Build on various 3D maze structures like cylinders, Möbius strips, cubes, and spheres.
15.
Conclusion
2 Lessons
Learn how to use maze algorithms and advanced maze generation techniques in Ruby.
Certificate of Completion
Showcase your accomplishment by sharing your certificate of completion.
Course Author:
Developed by MAANG Engineers
Trusted by 2.8 million developers working at companies
"These are high-quality courses. Trust me. I own around 10 and the price is worth it for the content quality. EducativeInc came at the right time in my career. I'm understanding topics better than with any book or online video tutorial I've done. Truly made for developers. Thanks"
Anthony Walker
@_webarchitect_
"Just finished my first full #ML course: Machine learning for Software Engineers from Educative, Inc. ... Highly recommend!"
Evan Dunbar
ML Engineer
"You guys are the gold standard of crash-courses... Narrow enough that it doesn't need years of study or a full blown book to get the gist, but broad enough that an afternoon of Googling doesn't cut it."
Software Developer
Carlos Matias La Borde
"I spend my days and nights on Educative. It is indispensable. It is such a unique and reader-friendly site"
Souvik Kundu
Front-end Developer
"Your courses are simply awesome, the depth they go into and the breadth of coverage is so good that I don't have to refer to 10 different websites looking for interview topics and content."
Vinay Krishnaiah
Software Developer
Hands-on Learning Powered by AI
See how Educative uses AI to make your learning more immersive than ever before.
AI Prompt
Code Feedback
Explain with AI
AI Code Mentor
Free Resources