A downloadable game

LADDDER - Commodore 64 - WILD

BASIC 10 Liner videogame for the Commodore 64 (also available for the Sinclair ZX Spectrum)

by Marco's Retrobits (Marco Varesio) https://retrobits.itch.io/

Laddder homepage (download/play online): https://retrobits.itch.io/lader3d

YouTube video:

English language blog: https://retrobits.altervista.org/

Italian language blog: https://somebitsofme.altervista.org

Please refer to the attached laddder.pdf file for full documentation and source code explanation.

Laddder is, as the name implies, the... er... "3D" sequel to the Lader (https://retrobits.itch.io/lader) platformer.

It's a pseudo-3D game for the Sinclair ZX Spectrum and Commodore 64 home computers, inspired by the classics 3D Monster Maze (Sinclair ZX81) and Treasure Hunt (PC/DOS).

Oddly, there are no ladders in this game.

You find yourself in a maze, which you must explore in order to find the treasures.

When you find a treasure, you'll score 1 point and will be teleported to a new maze.

Avoid being touched by the ghosts, otherwise you'll lose one life.

If you are in trouble, you can teleport to another maze, but this will cost you 1 point.

Laddder has been coded in ugBASIC (https://ugbasic.iwashere.eu/) 1.18 for the 15th Edition (2026) of the BASIC 10 Liner Contest.

Due to the size of the compiled binary for the Commodore 64, which prevents the ugBASIC runtime

- and thus the possibility of LISTing the program as required by the rules -

from being included, the Commodore 64 version is enlisted to the WILD category of the contest.

Instructions

When in the title screen, press any key to start the game.

You will be projected into a randomly generated maze. On the right side of the screen, you can see your current score "S" and remaining lives "L". A compass will help you navigate the maze.

The purpose of the game is to find the treasure chests (depicted as a yellow blocks).

Once you reach the treasure, the border will turn green, you will score 1 point and you will be teleported to a new maze to continue your quest.

Beware of the magenta ghost. The yellow border indicates that at least a ghost is in the nearby, so be careful! If you cannot escape, you can teleport to another maze, but this will cost you 1 point.

The red border indicates that the ghost got you. You'll lose a life and start again in a new maze.


Controls

e: Forward

o: Turn left

p: Turn right

t: Teleport


ugBASIC listing

0 OpDftTyInt:c=ScCms:Sc2:s=35840:ww=17:bb=102:bw=1:yy=119:mm=68:Diz AsWo:P1dt[l,o,ig]:Srp,z,s,c,yy,mm:Diu AsWo:Div AsWo:Foi=p-(3-l)*2Top:u=s+i*c:v=u+22:z=u+11-(3-l)-o*(2*(l=3)+6*(l=2)+12*(l=1)+20*(l=0)):Foj=0To(3-l)*2:Ifz>=u Anz<=v Th:Ifig Th:Poz,mm:El
1 Poz,yy:Ei:Ei:INC z:Nx:Nx:EePrb:dn="WSEN":Didx()AsSgndBy=#{-1,0,1,0}:Didy()AsSgndBy=#{0,1,0,-1}:Dif(4,3)=#{0,22,4,4,18,4,8,14,2,10,12,1}:Dim(19,19)AsBy:BoWht:PaWht:IkBl:Cl:Foi=0To87:Lni,i Toi,183-i:Ln183-i,i To183-i,183-i:Nx:ng=2:Digx(3),gy(3),g(3)
2 P1gn[h]:Srx,y,gx,gy,ng:Foi=0Tong:IfAb(gx(i)-x)<h AnAb(gy(i)-y)<h Th:RtTr:Ei:Nx:RtFa:EePrb:P1dg[l,o,x,y]:Srgx,gy,ng:Foi=0Tong:Ifx=gx(i)Any=gy(i)Th:dt[l,o,Tr]:Ei:Nx:EePrb:Diz AsWo:Do:Lc8,ScRws-1:?"LaDDDer";:WtKy:RdmTmr:sc%=0:lv=2:Do:BoWht:Lc0,ScRws-1:Cln
3 Iflv=-1Th:Wt1000MS:Ex:Ei:Film Wi1:Foy=1To17Stp2:Fox=1To17Stp2:m(y,x)=0:a=-1:IfRr(1)>0.4Th:Ifx>1Th:m(y,x-1)=0:a=0:Ei:Ei:Ifa ORRr(1)>0.2Th:Ify>1Th:m(y-1,x)=0:Ei:Ei:Nx:Nx:x=1:y=Rr(17)+1:d=Rr(4):b=Rr(17)+1:a=Rr(9)+9:m(b,a)=2:Foi=0Tong:g(i)=i:gx(i)=a:gy(i)=b
4 Nx:Lc24,2:Cln:?"S:";sc:Lc24,4:Cln:?"L:";lv:Do:z=s:Foi=0To22:Foj=0To22:w=ww:Ifi=11Th:w=bb:Ei:Poz,w:INC z:Nx:z=z+c-23:Nx:Fol=3To0Stp-1:a=dx(d)*l+x:b=dy(d)*l+y:If(a>=0Ana<19Anb>=0Anb<19)Th:o=f(l,0):p=f(l,1):q=f(l,2)-1:dm=1:If(d=0ORd=2)Th:dm=-1:Ei
5 u=a+dy(d)*dm:v=b+dx(d)*dm:Ifm(v,u)=1Th:Foi=o Top:z=s+i*c:Foj=0Too+q:w=bb:Ifj>=o Th:w=bw:Ei:Poz,w:INC z:Nx:Nx:Ei:Ifm(v,u)=2Th:dt[l,-1,0]:Ei:dg[l,-1,u,v]:u=a-dy(d)*dm:v=b-dx(d)*dm:Ifm(v,u)=1Th:Foi=o Top:z=s+i*c+p-q:Foj=p-q To22:w=bb:Ifj<=p Th:w=bw:Ei:Poz,w
6 INC z:Nx:Nx:Ei:Ifm(v,u)=2Th:dt[l,1,0]:Ei:dg[l,1,u,v]:Ifm(b,a)=1Th:Foi=o Top:z=s+i*c+o:Foj=o Top:Poz,bb:INC z:Nx:Nx:Ei:Ifm(b,a)=2Th:dt[l,0,0]:Ei:dg[l,0,a,b]:Ei:Nx:?At(27,15);Mi(dn,d+1,1):Ifgn[1]Th:Dclv:BoRe:Wt1000MS:Ex:Ei:Ifm(b,a)=2Th:BoGre:INC sc
7 Wt1000MS:Ex:Ei:Tmr=0:Do:Ifgn[4]Th:BoYe:El:BoWht:Ei:ko=KyStt(KyO):kp=KyStt(KyP):Ifko ORkp Th:Add,-ko+kp,0To3:Ex:Ei:IfKyStt(KyE)Th:a=x+dx(d):b=y+dy(d):Ifm(b,a)<>1Th:x=a:y=b:Ex:Ei:Ei:IfKyStt(KyT)Th:Dcsc:Ifsc<0Th:sc=0:Ei:Ex2:Ei:IfTmr>=25Th:Tmr=0:Foi=0Tong
8 a=gx(i)+dx(g(i)):b=gy(i)+dy(g(i)):Ifm(b,a)<>1Th:gx(i)=a:gy(i)=b:El:g(i)=Rr(4):Ei:Nx:Ifgn[5]Th:Ex:Ei:Ei:Lp:Lp:Lp:Lp:' Laddder by marco's retrobits 26 https://retrobits.itch.io

License

Creative Commons Attribution-NonCommercial-ShareAlike (CC BY-NC-SA 3.0): https://creativecommons.org/licenses/by-nc-sa/3.0/

Download

Download
laddder.c64.txt 5.1 kB
Download
laddder.pdf 1,011 kB
Download
laddder_10liner.c64.prg 28 kB
Download
listing.c64.txt 2.1 kB

Install instructions

Emulator instructions (VICE - the Versatile Commodore Emulator: https://vice-emu.sourceforge.io/)

* Start the VICE C64 executable (e.g. x64sc.exe)

* Load the laddder_10liner.c64.prg file:

  either open it by choosing "File" -> "Smart attach..." and then ,when the "READY" prompt is shown, type "run" (without quotation marks) and tap ENTER.

  or drag and drop it into the VICE C64 window; this will automatically start the game.

Comments

Log in with itch.io to leave a comment.

very good

Thank you!