A-Maze

In-game screen.

Initial map screen.

Program listing on 48K Spectrum.

Text Listing

1 DIM m(862):
 READ n,p,z,q,g:
 FOR g=g-1 TO g:
 LET p=p-z:
 LET m(p)=1:
 POKE 22496+p,9:
 NEXT g:
 LET z=68-CODE "d$CE"(RND*3+1):
 LET j=p/32-z/16:
 POKE (m(p-z-z)<(j>1)*(j<23)*(j>INT j))*n,3:
 LET p=64*INT (RND*11)+2*INT (RND*15)+66:
 POKE (g<165)*n,11-3*m(p):
 POKE n+53,0:
 FOR p=32 TO 767:
 POKE 22496+p,9*m(p)+9*(p=q):
 NEXT p:
 LET k=CODE INKEY$:
 LET d=(k=55)-(k=54)+32*((k=56)-(k=57)):
 POKE (d=0)*n,17-3*(k=48):
 LET q=q+d*m(q+d):
 LET t=50-PEEK 23673:
 CLS :
 IF q<>671 THEN PRINT #0;t:
 LET k=k*(k<48)+5-4*m(q+(k=8)-(k=20)+32*((k=2)-(k=14))):
 DRAW 4*CODE "W[OXOJaPUPKPPEQHQV?PKPUPPIzIWPIW&WIP"(k)-320,4*CODE "WPKPUPP[OXOJaPUPKPPEQHQV?IPWIzIWPIW&"(k)-320:
 POKE n,17+8*((t>0)*k<36):
 DATA 23620,672,1,130,0*USR 7766

Download the game

The Story

You've had an enjoyable visit to the museum today, but now it is about to close. An announcement is heard on the P.A. system "The museum closes in five minutes". You have five minutes to escape the building or you will find yourself locked in overnight! Luckily you do have a map of the museum layout in your pocket, and you may find this very helpful in case you get lost. Don't spend too long looking at it though as time is of the essence!

Instructions

In-game keys are 6-left, 7-right, 8-down, 9-up, 0-view map or Sinclair Joystick.

Initially, the layout of the museum is generated and eventually the background will turn black. The game has a real time counter and it starts from the moment the screen has been filled in. You would be wise to study the map carefully but quickly. Your starting position is marked with a red square somewhere near the top left of the screen. The exit can always be found on the right hand side, sticking out from the rest of the maze. After briefly studying the map, press 6,7,8 or 9 (the direction keys) to start the game. Be carful not to press 0 at this point, as it will cause the map to get redrawn, wasting valuable time.

During the game, you will see a top-down view of the room you are currently in including any available exits. You will also see a real time counter in the bottom left of the screen. This counter is decremented roughly once every five seconds in real time, however take care as it is only refreshed on the screen every time you walk into another room. If this counter reaches zero, then you are trapped in the museum overnight and the game is lost. Try to escape the maze before this happens in order to win. If you get really lost, then press 0 to view the map. It takes a while to draw the map, using up some of your valuable time. Realistically you probably only have enough time to look at the map up to three times and still escape within the available time. Although, the maze is randomly generated so this varies slightly with each game. After viewing the map, again press any directional key (not 0 again!) to return back to the game. The goal is not only to escape, but to try to escape in record time!

About the game

The maze generator was entirely developed and implemented by Einar Saukas, and it was also Einar's idea to make a game with an "Atic-Atac" style screen layout and with a real time counter. The in-game room graphics were developed by Digital Prawn using a simple separate BASIC program to generate compressed DRAW statements using string encoding. The real time counter uses the middle byte of the system variable FRAMES/TVCOUNT. The initial "complete" version of the game was put together by Digital Prawn, but this was way too big to fit into a single screen of code. Again, many optimisations making this game possible were provided by Einar Saukas and Dr. BEEP. The backstory was created by Digital Prawn.

Back to index