Home
JAQForum Ver 20.06
Log In or Join  
Active Topics
Local Time 22:45 02 May 2024 Privacy Policy
Jump to

Notice. New forum software under development. It's going to miss a few functions and look a bit ugly for a while, but I'm working on it full time now as the old forum was too unstable. Couple days, all good. If you notice any issues, please contact me.

Forum Index : Microcontroller and PC projects : PicoMite 3D MonsterMaze

Author Message
Martin H.

Guru

Joined: 04/06/2022
Location: Germany
Posts: 903
Posted: 12:41pm 11 Apr 2024
Copy link to clipboard 
Print this post

Hello

What was planned as a small project for over the Easter holidays ended up taking even longer.
But now, here is :

a playable Version of ZX81 Classic 3D Monster Maze for PicoMite, Running in a VT100 Terminal (TeraTerm)





For the correct representation, pay attention that your terminal program uses a font that contains the graphic symbols in the range above 128.

Especially CHR 176-178, 219, 220 and 223 are important here.
I Use a Font called TERMINAL


VTMaze1.0.zip

Stay tuned..Versions for the PicoMiteVGA and Game*Mite are being planned

Cheers
Martin
Edited 2024-04-11 22:42 by Martin H.
'no comment
 
Volhout
Guru

Joined: 05/03/2018
Location: Netherlands
Posts: 3551
Posted: 01:33pm 11 Apr 2024
Copy link to clipboard 
Print this post

Hi Martin,

Nice !!
Did you even reach the exit of the maze, or where you eaten every time ?
Is there a strategy, or is it not possible to reach the end ?

Volhout
PicomiteVGA PETSCII ROBOTS
 
Martin H.

Guru

Joined: 04/06/2022
Location: Germany
Posts: 903
Posted: 01:53pm 11 Apr 2024
Copy link to clipboard 
Print this post

  Volhout said  Hi Martin,

Nice !!
Did you even reach the exit of the maze, or where you eaten every time ?
Is there a strategy, or is it not possible to reach the end ?

Volhout

Yes I reached the exit of the maze. But it is difficult (as it was on the ZX 81 too) and it runs faster than the original. Rex runs only half as fast as you do, but of course you have to react immediately.

Is there a strategy?

For orientation: You always start at the bottom right, facing left, the exit is in one of the top 6 rows.  

You might extend the Pause 250-(Timer -tt%) in the main loop to give you more chances.
Cheers
Martin
PS:
Another tip: If the program stops with an error, you have the problem that the terminal no longer shows you a cursor,Since this was switched off for a better game impression.
That makes editing really difficult.
Simply type CURON to make the cursor flash again.
Edited 2024-04-12 04:59 by Martin H.
'no comment
 
Martin H.

Guru

Joined: 04/06/2022
Location: Germany
Posts: 903
Posted: 09:55am 26 Apr 2024
Copy link to clipboard 
Print this post

so here we have the PicoMite VGA Version

3DMonsterMazeVGA.zip
runs on VGA, Game*Mite and MMB4W
Game*Mite controlls are not implemented jet

It uses a resolution of 256x192 pixels because I couldn't find a way to implement a 10x10 Pixel font in MMBasic.

Have Fun
Cheers
Martin
Edited 2024-04-26 20:03 by Martin H.
'no comment
 
thwill

Guru

Joined: 16/09/2019
Location: United Kingdom
Posts: 3848
Posted: 10:08am 26 Apr 2024
Copy link to clipboard 
Print this post

Thank you Martin. I'm very distracted at the moment but when things settle down I look forward to checking it out.

Best wishes,

Tom
Game*Mite, CMM2 Welcome Tape, Creaky old text adventures
 
Martin H.

Guru

Joined: 04/06/2022
Location: Germany
Posts: 903
Posted: 10:29am 26 Apr 2024
Copy link to clipboard 
Print this post

  thwill said  Thank you Martin. I'm very distracted at the moment but when things settle down I look forward to checking it out.

Best wishes,

Tom

At the moment I have enough other things that need my time, 3 doctor's appointments this week alone. That's why development has been a bit slow.




I have already imported the functions for the GameMite controller (from Petscii Robots) but have not yet got around to implementing them in the program.

Cheers
Martin
Edited 2024-04-26 21:15 by Martin H.
'no comment
 
Volhout
Guru

Joined: 05/03/2018
Location: Netherlands
Posts: 3551
Posted: 11:31am 26 Apr 2024
Copy link to clipboard 
Print this post

Hi Martin,

I tried....

I died.....

Life is hard !

Volhout
P.S. On my MMB4W (5.07.03) I had to comment out the CONSOLE commands at program start.
Edited 2024-04-26 21:33 by Volhout
PicomiteVGA PETSCII ROBOTS
 
Martin H.

Guru

Joined: 04/06/2022
Location: Germany
Posts: 903
Posted: 11:50am 26 Apr 2024
Copy link to clipboard 
Print this post

  Volhout said  Hi Martin,

I tried....

I died.....

Life is hard !

Volhout
P.S. On my MMB4W (5.07.03) I had to comment out the CONSOLE commands at program start.

Harm,
You are right, and I haven't tested the last version under Windows...
I had only implemented it as a variable so that I could possibly use it later if necessary.
So it can be removed
The game was never easy,as there is no overview of the labyrinth or the positions. So always pay attention to the hints in the status message. At the latest when “Rex has seen you” it's time to run, this message appears when there is no longer a wall between REX and you.

Have fun
Martin
'no comment
 
Martin H.

Guru

Joined: 04/06/2022
Location: Germany
Posts: 903
Posted: 05:21pm 27 Apr 2024
Copy link to clipboard 
Print this post

Here is the cleaned multi-platform version
3dMonsterm1.zip
Supported systems:
PicoMiteVGA
Game*Mite
MMBasic 4 Windows
-----------
for a pure PicoMite continue to use the VT Terminal version from the beginning of this post

Game*Mite Controlls are included:

A/Start = Enter instructions
B/Down  = Space
Select  = Escape
direction buttons  Navigateion


have a nice Weekend
Martin
Edited 2024-04-28 03:24 by Martin H.
'no comment
 
stanleyella

Guru

Joined: 25/06/2022
Location: United Kingdom
Posts: 1647
Posted: 11:11pm 27 Apr 2024
Copy link to clipboard 
Print this post

  Martin H. said  Here is the cleaned multi-platform version
3dMonsterm1.zip
Supported systems:
PicoMiteVGA
Game*Mite
MMBasic 4 Windows
-----------
for a pure PicoMite continue to use the VT Terminal version from the beginning of this post

Game*Mite Controlls are included:

A/Start = Enter instructions
B/Down  = Space
Select  = Escape
direction buttons  Navigateion


have a nice Weekend
Martin


it works, nice
 
thwill

Guru

Joined: 16/09/2019
Location: United Kingdom
Posts: 3848
Posted: 11:50am 28 Apr 2024
Copy link to clipboard 
Print this post

Hi Martin,

You use two variables trex.x and trex.y without declaring them, are perhaps typos and supposed to be rex.x and rex.y, without the 't' ?

Best wishes,

Tom
Game*Mite, CMM2 Welcome Tape, Creaky old text adventures
 
Martin H.

Guru

Joined: 04/06/2022
Location: Germany
Posts: 903
Posted: 12:05pm 28 Apr 2024
Copy link to clipboard 
Print this post

  thwill said  Hi Martin,

You use two variables trex.x and trex.y without declaring them, are perhaps typos and supposed to be rex.x and rex.y, without the 't' ?

Best wishes,

Tom

of course, You're right, my typo.The variables should be without "t". Fortunately, this only affects the messages REX HAS SEEN YOU, not the game mechanics.

'no comment
 
thwill

Guru

Joined: 16/09/2019
Location: United Kingdom
Posts: 3848
Posted: 12:38pm 28 Apr 2024
Copy link to clipboard 
Print this post

Hi Martin,

A couple of other observations from watching videos of the original:

- the score should increase by 5 every time the player moves.
- a horizontal wall in the far distance should be rendered in black.

Critique aside can I put this code in a public git repository ?

Best wishes,

Tom
Game*Mite, CMM2 Welcome Tape, Creaky old text adventures
 
Martin H.

Guru

Joined: 04/06/2022
Location: Germany
Posts: 903
Posted: 12:58pm 28 Apr 2024
Copy link to clipboard 
Print this post

  thwill said  Hi Martin,

A couple of other observations from watching videos of the original:

- the score should increase by 5 every time the player moves.
- a horizontal wall in the far distance should be rendered in black.

Critique aside can I put this code in a public git repository ?

Best wishes,

Tom

Hi Tom,
I used two sources for the Program, the 3D Monster Maze Dissected Page and the documented Sourcecode.

From the ZX81Source Code :

; --------------------------------------------
; Score Increment of 200 for Escaping the Maze
; --------------------------------------------
; The most significant digit is first.

L453A:  DEFB $00, $02, $00, $00

; -----------------------------------------
; Score Increment of 5 for Avoiding Capture
; -----------------------------------------
; The most significant digit is first.
...

The 5 points per move are therefore only awarded if you are in danger.

Yes, you can put this code in a public git repository

cheers
Martin
'no comment
 
thwill

Guru

Joined: 16/09/2019
Location: United Kingdom
Posts: 3848
Posted: 01:27pm 28 Apr 2024
Copy link to clipboard 
Print this post

  Martin H. said  The 5 points per move are therefore only awarded if you are in danger.


Not according to videos, or IMO according to the disassembly:
; --------------------------------
; Display Status Message and Score
; --------------------------------

L4CB0:  CALL L4C8F                              ; Insert the status message into the display file, setting the clear message timeout as appropriate.

L4CB3:  LD   HL,L4087                           ; Point at the flags byte.
       LD   A,$48                              ; The flags for the player moved forward and Rex moved.
       AND  (HL)                               ; Keep only these flags.
       CP   $48                                ; Did the player move forward and Rex also moved?
       RES  6,(HL)                             ; Clear the player moved forwards flag.
       JR   NZ,L4CC5                           ; Jump ahead if not.

; The player moved forwards and Rex also moved so increment the score by 5 points.

       LD   DE,L453E+$0003                     ; Point to the score increment of 5 for step avoiding capture.
       CALL L4D0D                              ; Add the increment to the score


There is no check that Rex is in range or for a particular status, the score always increments by 5 if the player moves.

  Martin H. said  Yes, you can put this code in a public git repository


Thanks,

Tom
Game*Mite, CMM2 Welcome Tape, Creaky old text adventures
 
thwill

Guru

Joined: 16/09/2019
Location: United Kingdom
Posts: 3848
Posted: 01:36pm 28 Apr 2024
Copy link to clipboard 
Print this post

Just a quick bit of "look at me" .

Graphical (not VT100) version running on a ClockworkPi DevTerm running the latest (in development) version of MMB4L:

   https://youtu.be/T7S_SyMbLss

Unfortunately the vertical screen resolution of the DevTerm is only 480 pixels, so once you take into account the menu-bar and window decorations there is no room to x2 scale the MMB4L 320 x 240 display window. "Full Screen" will have to wait until v0.8.0 or later.

Best wishes,

Tom
Edited 2024-04-29 07:47 by thwill
Game*Mite, CMM2 Welcome Tape, Creaky old text adventures
 
Martin H.

Guru

Joined: 04/06/2022
Location: Germany
Posts: 903
Posted: 03:24am 29 Apr 2024
Copy link to clipboard 
Print this post

  thwill said  Just a quick bit of "look at me" .

Graphical (not VT100) version running on a ClockworkPi DevTerm running the latest (in development) version of MMB4L:

   https://youtu.be/T7S_SyMbLss

Unfortunately the vertical screen resolution of the DevTerm is only 480 pixels, so once you take into account the menu-bar and window decorations there is no room to x2 scale the MMB4L 320 x 240 display window. "Full Screen" will have to wait until v0.8.0 or later.

Best wishes,

Tom
Tom,
nice, the first "like" was from me.
For double size you would need an area of 512 x 384 pixels (double ZX resolution).
This would fit in the vertical screen resolution. The image is always drawn with an x,y offset 32,24 to center it. if you leave this out, it starts at the top left.
If you now use a 16x16 font, the image should be able to be placed on the display, because what does not fit are only empty lines.

The gap in the middle and the uneven scoring compared to the original is something I can live with, because it has imho. no effect on the feel of the game.
Cheers
Martin

I had written a more detailed reply yesterday, but the forum wouldn't open when I tried to send it.
'no comment
 
Volhout
Guru

Joined: 05/03/2018
Location: Netherlands
Posts: 3551
Posted: 08:05am 29 Apr 2024
Copy link to clipboard 
Print this post

  Martin H. said  
I had written a more detailed reply yesterday, but the forum wouldn't open when I tried to send it.


That happens to me quite often. Apparently (under water) there is some form of time-out, and you are logged out without knowing it.
I currently copy all messages just before pressing the save button. So I can log in again, and paste the text again. Good thing is that the pictures and ZIP's are still in the system, so the re-pasted text is immediately valid.
For the training PIO course, I type verything in Notepad, and pasted the test. Because I knew this would haunt me every chapter.

I estimate the timeout is after 10 minutes. So when you type quick....

Volhout
Edited 2024-04-29 18:06 by Volhout
PicomiteVGA PETSCII ROBOTS
 
thwill

Guru

Joined: 16/09/2019
Location: United Kingdom
Posts: 3848
Posted: 08:35am 29 Apr 2024
Copy link to clipboard 
Print this post

Hi Martin,

  Martin H. said  For double size you would need an area of 512 x 384 pixels (double ZX resolution) ...


Thanks for the hints, but I'm reluctant to hack individual programs to work. Fortunately MMB4L's graphics use SDL and shortly after my last post I investigated using non-integer scaling when copying from the surface to the renderer and it just worked (tm) so now the DevTerm can show a 320x240 surface at x1.9 resolution.

  Martin H. said  I had written a more detailed reply yesterday, but the forum wouldn't open when I tried to send it.


In addition to the endemic problem that @Volhout listed I think TBS was down yesterday afternoon and evening (GMT).

Thanks again for 3D Monster Maze,

Tom
Game*Mite, CMM2 Welcome Tape, Creaky old text adventures
 
Martin H.

Guru

Joined: 04/06/2022
Location: Germany
Posts: 903
Posted: 08:52am 29 Apr 2024
Copy link to clipboard 
Print this post

  thwill said  Fortunately MMB4L's graphics use SDL and shortly after my last post I investigated using non-integer scaling when copying from the surface to the renderer and it just worked (tm) so now the DevTerm can show a 320x240 surface at x1.9 resolution.

Hey, that sounds like a good progress
'no comment
 
Print this page


To reply to this topic, you need to log in.

© JAQ Software 2024