But N7 version ....
Not exactly the same PAT.
Not exactly the same world.
And definitely not the same difficulty.
There may be a few surprising waiting for anyone who thinks they already know what's coming.
Will you be ready ?
Probably not.
But that's the fun part
The original PAT, written in N6 by JSM (John Master), has a lot of things to learn. To make it easier for me to understand the code and remake the game, I'm going to break the project into a series of smaller episodes. The first episode is quite simple. It's mainly meant to give you a little practice with the basics - running, jumping, and collecting jewels...before things get more challenging in the episodes to come !
Use a joystick to control the player
- LEFT, RIGHT
- JUMP = Joybutton(1)
Code:
'=============================================================================================
'
' PAT N7 (Training #1)
' Enter a dangerous world filled with bats, obstacles, mysterious paths, and precoius jewels !
' - Run & Jump : Master your movement and navigate challenging stages.
' - Throw Rocks : Take down bats before they take you down.
' - Use bombs : Blast through obstacles and open new paths.
' - Collect every jewel : Explore every corner and collect them all.
' Can you survive the dangers, collect every jewel, and make it to the end ?
'
' Use a joystick to control the player
' - LEFT, RIGHT
' - JUMP = Joybutton(1)
'
' Acknowledgment :
' - NES style platform game
' N6 version by John Master
'
'==============================================================================================
#win32
include "tilemap.n7"
set window "PAT N7 (Training #1)", 256, 240, false, 2
set redraw off
'Tilemap : Get Loader flags
flags = TM_GetLoaderFlags()
foreach f in flags
if f.flag = 1 'player
ply.x = (f.x * 16)
ply.y = (f.y * 16 + 16 - ply.h)
endif
next
'Tilemap : Get Cell
for y = 0 to TM_MapHeight() - 1
for x = 0 to TM_MapWidth() - 1
c = TM_GetCel(x, y)
if c = 42 'jewel
hud.JewelCount = hud.JewelCount + 1
endif
next
next
'Tilemap : Set View
TM_SetView(0, 0, width(primary), height(primary))
endfunc
function UpdatePlayer()
'Player animation counter
ply.ac = ply.ac + 1
if ply.ac >= 10 then
ply.ac = 0
ply.f = (ply.f + 1) % 4
endif
function ShowMenu(opt1, opt2)
cursor = 0
do
' Menu Box
set color 100, 100, 100, 100
draw rect 20, 10, 120, 40, true
' Option 1 (Restart)
set color 255, 255, 255
if cursor = 0 then set color 255, 255, 0
set caret 50, 20
wln opt1
' Option 2 (Quit)
set color 255, 255, 255
if cursor = 1 then set color 255, 255, 0
set caret 50, 30
wln opt2
redraw
fwait 60
' Input Navigation
if joyy() < -0.5 or keydown(KEY_UP,true) then cursor = 0
if joyy() > 0.5 or keydown(KEY_DOWN,true) then cursor = 1
if joybutton(1) or keydown(KEY_SPACE,true) then return cursor
if keydown(KEY_ESCAPE, true) then return 1
loop
endfunc
09-23-2026, 09:47 AM (This post was last modified: 09-23-2026, 11:34 AM by 1micha.elok.)
(09-23-2026, 09:29 AM)johnno56 Wrote: Cool... That worked!
Are you planing on an N7 conversion of Pat or something based on the game?
A full conversion isn't what I'm planning. For now, something based on the original version's game logic seems more likely, with PAT sprites being the more probable direction.
More updates will be coming as I continue getting and understanding the N6 version.
Later, when the time comes, would you be willing to help me create some more complex tilemap stages, like the ones you've shown in the Space Pooper game ? I'd really appreciate your help. Thank you in advance !
It's been quite a while since I have tackled the tile map editor. I have always found it relatively easy to "draw" the map... when it comes to coding.... not so easy... lol That being said, if help is what you need... then help is what you will get...
(09-23-2026, 11:34 AM)johnno56 Wrote: It's been quite a while since I have tackled the tile map editor. I have always found it relatively easy to "draw" the map... when it comes to coding.... not so easy... lol That being said, if help is what you need... then help is what you will get...