Let’s Get Started!

Hi! Welcome to the first email of this project. I’m so glad you’re here.

I should first start with *why* I’m doing this.

As a long-time web developer I can sit down at a computer and build a perfectly fine web app in well under an hour. I’ve built so many apps over the years (25? eesh) that I think I’m pretty good at it. It wouldn’t look that great, but if you wanted to stuff things into a database, twist them around, and output them on a page, it’s a snap.

I think it would be much more interesting if I could do that with a game.

I’m not just learning how to make games, I’m also learning JavaScript at the same time. And I’m trying to do as much as possible without frameworks, but I’ll probably try some out when I need to do physics.

That first maze over on dungeon.cc that you used to signup was my first attempt. The algorithm is the easiest (binary tree) to learn and the method by which I’m chaining the cells together was an idea I saw in a book.

This second one https://dungeon.cc/game2.html was fun because I had a chance to rewrite everything and improve things a bit. I also had a chance to write a much more interesting maze algorithm called Prim’s Algorithm[1][2].

I’m so proud of it so I chose to have it draw itself on load. Refresh! It’s neat!

The first time I implemented it there was a bug where it was biased toward selecting only north/south paths, so the maze looked like a very confusing parking lot or some kind of demented game of tennis.

Because of that I started with teal for the background and then started thinking about how when I was a kid C64 games would use rich colors like purple and blue so I added those too.

Also since I am literally learning JavaScript as I do this, I discovered the `set()` function which solved a bunch of problems I was having in the first maze I made and it let me get rid of some utility functions that `set()` takes care of.

For those of us who learned HTML in the 90s by typing in a text editor and refreshing a browser over and over again: making these feels a lot like that.

So I’m going to keep doing these little sketches of games for as long as it’s fun and I feel like I’m learning new things. Ultimately I’d like to make a much bigger game, perhaps in JavaScript, maybe Unity, or maybe something else?!

Let’s find out!


P.S., originally I thought I’d get ahead and release games a week after they’re done so I’d always have something ready to go in case I didn’t find time one week, but before I could find time to send this out I’d already made another maze. Here is a BONUS maze: https://dungeon.cc/game3.html where it’s your job to find four pieces of gold. Have fun!

[1] https://en.wikipedia.org/wiki/Prim's_algorithm

[2] https://medium.com/@cantwell.tom/prims-algorithm-as-a-maze-in-javascript-aec7415ad2cd