BDS Software

Maze Number 1

Welcome to BDS Software's Maze Number 1. This is a simple maze, and will serve as an introduction to how my mazes generally work. Future mazes will become progressively more complex.

This is a one-player game. Your job is to arrive at the Finish Square      with as many points as possible.

Enter your nickname for scoring (ten characters max.) and then click the "New Game" button.

Your Player Avatar      appears on the Start Square      and you're ready to go.


You start the game with a beginning Score of 1000 points.

Every time you move onto a new Blank Square,   ,   10 points are subtracted from your score.

For this purpose, all squares except Wall Squares,   ,   are counted as blank squares, that is the Start Square   ,   the Finish Square   ,   the Text Squares   ,   ,   ,   ,   and the Power Pill Squares   ,   all count as Blank Squares.

BUT, when you land on a Power Pill Square ,   in addition to the 10-point subtraction for moving onto the square, you automatically eat the Power Pill, i.e. it is removed from the maze, and 150 points are added to your score.

But BEWARE: If you (accidentally or intentionally) try to move into a Wall Square   ,   nothing happens (that is, your Avatar doesn't move) but 20 points are subtracted from your score.

You may not notice it, but your nose will also probably be bent and your forehead will be bruised: Walking into Walls is NOT productive. :-(


A Whimsical Addition

In January of 2022, my Grandson, Daniel Weston Johnson, wrote to me, "It is completely impossible to see the bent nose and bruised forehead when walking into walls in the game maze 1 because I attempted to see the bent nose and bruised forehead but I didn't. A way to fix this is by having a wall hit value and when the value reaches a point, the character sprite will be updated to the certain injuries."

I responded, "That's a cool idea. Could you put together a drawing of how you think the bent nosed and bruised foreheaded avatar should look?"

So he sent me back avatars      (Bent Nose) and      (Bruised Forehead) which I've incorporated into the Maze.


So now -- Completely separate from your Game Score itself: Each time you walk into a wall, your BentNoseScore increases by one. Each time you eat a power pill, that BentNoseScore decreases by one (but it never goes below zero):

          BentNoseScore = 0 to 1 ==> Normal Avatar is displayed.
          BentNoseScore = 2 to 4 ==> Bent Nose Avatar is displayed.
          BentNoseScore = 5 & up ==> Bruised Forehead Avatar is displayed.


Thanks, Daniel!


The first time you land on the Finish Square      the game is over.


On the keyboard, press the Up Arrow to move North, the Right Arrow to move East, the Down Arrow to move South, and the Left Arrow to move West.

Alternatively, you can click on the "N", "E", "S", and "W" buttons to the left of the map - these alternates may be required, for example, if you're using an iPad or an iPhone which doesn't have arrow keys on its on-screen keyboard.


If you need to stop the game for a short period, just click the "Pause Game" button. It then changes to a "Resume Game" button which you can use to continue the game at a later time.

If you need to stop the game for a longer period, use the "Save Game" button. You will be asked to enter a game name for your game file. Be sure to remember the game name. You'll need it when you return to your game.

Someone else can then play while you're away from the computer.

When you're ready to resume your game, use the "Load Game" button.

Your Current Score:

 High Scores:

Rank Nickname Score



● Your nickname can be a maximum of ten characters and spaces long. If you enter a longer nickname, it will be truncated to the first ten characters and spaces. You cannot use "nobody" as your nickname.

● If you pause a game and somebody comes along and clicks "New Game", your game will be lost. Take appropriate precautions.

● I recommend using short game names when saving a game - they're easier to remember. For example, I use game file names like "p1", "p2", etc. When the file is saved, the Game Name is decorated to minimize the likelihood of game name collisions. For example, if you use "p1" as your Game Name, and your nickname is "Dan-J", then the game will actually be saved as "mdjbdsMaze01_Dan-J_p1".

● When you go to load an existing game, make sure your nickname is in the textbox above the "New Game" button. Otherwise, the "Load Game" button won't find the correct game file.

● The saving and loading of games conforms to HTML5's security restrictions against access to anything out of its local domain. For example, if you save a game while playing the Matching Game in a Firefox browser, you won't be able to access that saved game when you're later playing the Matching Game in a Chrome browser. If you go back to the Firefox browser, that saved game will be available.

● The game saving and loading is also local to the computer you're using. If you save the game at home, it won't be available on your neighbor's computer. But, it'll still be there when you come back to your own computer.

● The saving and loading of games and high scores may not be possible on library or other public computers if they have Local Storage disabled. Local Storage should, however, be available on your private home computer, unless you've disabled it yourself. Local Storage is safe - we DO NOT access any personal data on your computer at any time! This game does NOT use cookies. Your game files are entirely private.

● To explore this game's code, just right-click this page and then click on "View Page Source" (in Firefox browsers - other browsers are similar.

● To download this game's image files, click here.

● To download this game's sound files, click here.

● The button and canvas (board) key press (i.e. "click") sounds were constructed in Audacity 2.1.0. They work in Edge, Firefox, Chrome, Opera, and Slimjet browsers, but not in Internet Explorer. In order to get these .wav sound files to work in Firefox, I had to make sure they were exported at 48kHz rather than at Audacity's default 44.1kHz.


                                                                                                                                                                M.D.J. 2018/08/29



Atli's response in