Jump to content
  • Advertisement
  • entries
  • comments
  • views

Eller the smart feller

Sign in to follow this  


Spent much of the day working on financial stuff (read: taxes), but I did get a chance to make a much-needed improvement on ConFusebox.

I'd been using an easy-to-debug but glacially slow homebrew algorithm to generate the puzzles. With a little research, I discovered Eller's Maze Generation Algorithm (because a ConFusebox level is really a maze, only with lines where the path should be), which is a truly wonderous (although not well documented) thing. Basically it can generate mazes of arbitrary length with very low computing resources (at most three array-lookups per cell) and no more storage than is required to store a single row --not even the entire maze.

And that's important in Flash, as the Flash Player wants to shut down your app if you spend more than five seconds on a single frame. I had to distribute my maze-generation algorithm over four frames with a progress-indicator to let you (and Flash) know that things aren't crashed, and that just made things ugly.

With Eller's, however, things are so fast that putting it in a single frame isn't a problem. Generating a 12x12 maze my old slowass way took 3 seconds on the main development box. Now it's instantaneous.

What this means for you the player is that doing an "X-treme ConFusebox" with hugeass 15x15 mazes isn't going to tie your machine up for a half-minute generating the puzzle.

Happy happy.
Sign in to follow this  


Recommended Comments

There are no comments to display.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Advertisement

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!