Elabyrinth 1984 reloaded

Find your way out of an electronic labyrinth
DescriptionThis is a microcontroller version of a 1984 elektor game (dutch edition: Elektuur, march 1984, page 42).
You must find your way out of a labyrinth of 16x16 cells. But you can see only the cell you are actually in.
There are walls on some sides, openings or eventualy a gate for which you need a key.
To make things nastier there are also a few traps in which you can enter but never leave (Hotel California).
But you will also get some help messages to warn you or to tell you where (aproximately) you are.
The original game was build around a 2kB EPROM, a lot of TTL chips and 22 LED's.
My new version contains a microcontroller and an LCD display.
This is the first step, to test if the game can be realised in a simple way.
To make things easy for me I use an existing Elektor platino board with no need for additional hardware.
The platino is equipped with a 4x20 LCD-display, a rotary encoder and an additional pushbutton.
Jumper settings are described in the sketch. Processor on my platino is an ATmega328.
Operation of this test versionat startup a menu is shown with 4 lines (picture 1). By rotating the encoder the required line can be selected.
the switch on the encoder can be considered as "yes", the additional button as "no".
line 1 = (re)start game: yes=start game, no=continue pending game
line 2 = select game: not operational yet; there is only one game
line 3 = game with key: yes=you also need to find a key for a gate somewhere, no=no key needed
line 4 = additional help: yes=show the cell number you are in, no=no info
After selecting line 1 and pressing a key the game is started (picture 2).
On the left of the display the cell you are in is shown. Solid walls are represented bij blocks,
openings by dots and a gate by 'x'. On the far right of the display the traveling direction is shown (N, E, S, W).
The direction can be changed by rotating the encoder. By pressing the encoder key you enter the next cell in the
traveling direction (if possible). By pressing the additional button the menu appears.
On the right part of the first line some instructions are shown such as the aproximate position you are or a warning
that you are near a trap. The second line shows if you found the key. The fourth line shows additional help (if selected).
Development targetsAs this is a first test, I have some wishes for the future:
- add the other 7 labyrinths from the original version (after check)
- replacement of the encoder by 4 pushbuttons
- sound
- software to build and check labyrints on a PC
- display playing time
- more additional help for players
- grafic OLED instead of LCD, eventually with touchscreen
- three dimensional labyrinths (size 8 x 8 x 8)
- stand alone (without Arduino)
At this moment I can't yet promise all wishes will ever be realised.
You must find your way out of a labyrinth of 16x16 cells. But you can see only the cell you are actually in.
There are walls on some sides, openings or eventualy a gate for which you need a key.
To make things nastier there are also a few traps in which you can enter but never leave (Hotel California).
But you will also get some help messages to warn you or to tell you where (aproximately) you are.
The original game was build around a 2kB EPROM, a lot of TTL chips and 22 LED's.
My new version contains a microcontroller and an LCD display.
This is the first step, to test if the game can be realised in a simple way.
To make things easy for me I use an existing Elektor platino board with no need for additional hardware.
The platino is equipped with a 4x20 LCD-display, a rotary encoder and an additional pushbutton.
Jumper settings are described in the sketch. Processor on my platino is an ATmega328.
Operation of this test versionat startup a menu is shown with 4 lines (picture 1). By rotating the encoder the required line can be selected.
the switch on the encoder can be considered as "yes", the additional button as "no".
line 1 = (re)start game: yes=start game, no=continue pending game
line 2 = select game: not operational yet; there is only one game
line 3 = game with key: yes=you also need to find a key for a gate somewhere, no=no key needed
line 4 = additional help: yes=show the cell number you are in, no=no info
After selecting line 1 and pressing a key the game is started (picture 2).
On the left of the display the cell you are in is shown. Solid walls are represented bij blocks,
openings by dots and a gate by 'x'. On the far right of the display the traveling direction is shown (N, E, S, W).
The direction can be changed by rotating the encoder. By pressing the encoder key you enter the next cell in the
traveling direction (if possible). By pressing the additional button the menu appears.
On the right part of the first line some instructions are shown such as the aproximate position you are or a warning
that you are near a trap. The second line shows if you found the key. The fourth line shows additional help (if selected).
Development targetsAs this is a first test, I have some wishes for the future:
- add the other 7 labyrinths from the original version (after check)
- replacement of the encoder by 4 pushbuttons
- sound
- software to build and check labyrints on a PC
- display playing time
- more additional help for players
- grafic OLED instead of LCD, eventually with touchscreen
- three dimensional labyrinths (size 8 x 8 x 8)
- stand alone (without Arduino)
At this moment I can't yet promise all wishes will ever be realised.
Updates van de auteur
robvh 3 jaar geleden
The operation is equal to version 3; there is no second menu level any more.
Only difference with version 3: by pushing the center key in menu-mode the help level is set (0 .. 2)
el-lcd-2a.jpg (1302kb)
robvh 3 jaar geleden
Although not finished mechanically, I can show the result here.
The operation is as follows:
Menu (the program starts in menu mode):
- The upper button is used to select the labyrint; this is shown by the number 1..8
- The lower button is used to select game with/without key; this is shown by 2 LED's upper right
- A game is started from the beginning by pressing the left key
- A game is resumed by pressing the right key. For all games the latest situation is kept in EEPROM
- The middle button shows the position in the labyrinth for the actual game
Game:(lower left, upper left, middle, lower right, upper right)
the LED in the middle of the opening is on
el-play.jpg (2054kb)
el-key-found.jpg (2145kb)
el-near-key.jpg (2531kb)
el-menu-select.jpg (1401kb)
el-near-exit.jpg (1326kb)
elabyrint.zip (7kb)
robvh 4 jaar geleden
My game is still running on Platino (this time without library), but in fact this version can run on any standard Arduino.
All games of the original 1984 article are included, but only game1 is tested by me. Be warned: don't get lost in a labyrinth without exit!
The operation of the menu has been changed slightly: you can only enter and leave the menu with the middle button (select).
When in menu mode the up and down buttons are used to select one line; the left and right buttons change the setting of the selected line.
When in a game the operation of the buttons is simple: up (north), right (east), down (south), left (west) and middle (menu).
sw_board.pdf (18kb)
sw_schematic.pdf (11kb)
el-buttons.jpg (467kb)
el-game2.jpg (565kb)