A downloadable game

Chase

=====

Commodore 64 Game - BASIC 10 Liner Contest, 2025

Author: Josip Retro Bits (Josip Kalebic)

Platform: C64

Language: Commodore BASIC V2

Category: PUR-80


Play and rules:

===============

To put this game in one sentence would be "Run for your life or die!".

Use the joystick to control the player and run from the enemy. You can kill the enemy by dropping a bomb (hold the fire button until the bomb drops). Bombs have timers and will last only a few seconds before they disappear so better aim well and in close range of the enemy. Good luck!


Controls:

=========

Joystick in Port B

Fire button drops a bomb.

Use numpad if running in VICE emulator.


Code overview:

==============

(code is written using CBM prg studio)

------------

Line 0

?"{clear}{yellow}":fOi=.to17:?sP9);:fOj=.to21:?cH(160-(j*i=0orj=21ori=17)*6);:nE:?:nE

Build the wall around the game area.

------------

Line 1

a$(0)="UI{down}{left}{left}JK":a$(1)="NM{down}{left}{left}MN":x=10:y=2:w=26:z=10:pO53281,0:j=.:gO6

Define player strings and other game parameters; Jump to line 6 to generate player init. position. 

------------

Line 2

d=pE(56320):c=.:n=w:m=z:goS8:w=w+1+(w>x)*2:z=z+1+(z>y)*2:w=w-(w<10)*2+(w>28)*2

Read Joystick inputs; Delete the current enemy position. 

Calculate enemy direction based on player location.

Calculate next enemy x value.

------------

Line 3

z=z-(z<2)*2+(z>16)*2:j=1:c=6:n=w:m=z:goS8:j=.:ifx=waNy=zort=waNh=zgO9

Calculate next enemy y value. Create enemy at new position.

Detect enemy hits player or bomb.

------------

Line 4

g=g+f:on-(g>3)gO7:on-(d=127)gO2:j=.:c=l:n=x:m=y:goS8:o=(nOdaN1)*-2+(nOdaN2)

Increment bomb alive time. 

If no joystick input, jump to line 2.

Else delete the current player position or drop the bomb.

Get new player y direction. 

------------

Line 5

u=(nOdaN4)*-.5+(nOdaN8)*.25:x=x+u:y=y+o:x=x-(x<10)*2+(x>28)*2:s=nOdaN16aNf=0

Get new player x direction. Verify x.

Calculate new x,y position for the player

Detect fire button press

------------

Line 6

y=y-(y<2)*2+(y>16)*2:c=1:n=x:m=y:goS8:l=0:ifs>0aNf=0tHt=x:h=y:f=1:l=2:s=0:gO2

Verify player y position.

Create player on the new x,y position.

If fire button is pressed; mark the bomb position and start the bomb timer.

------------

Line 7

a=-(x<>wory<>z):on-(s=0aNg<3)gO2:c=l:n=t:m=h:f=0:g=0:goS8:t=0:h=0:?"{home}{down}{green}s:"e:gO2

If no fire button is not pressed and the bomb timer is less than 3; jump to line 2.

Else, delete the bomb, prints kill score on screen.

------------

Line 8

pO781,m:pO782,n:sys65520:pO646,c:?a$(j):reT

Subroutine for generate/delete player, enemy and bomb at a defined position.

------------

Line 9

ift=waNh=zaNa=1tHa$(2)="MN{down}{left}{left}NM":c=2:n=w:m=z:j=2:goS8:e=e+1:fOa=.to5^4:nE:gO2

If the enemy hits the bomb, create an exploded enemy.

Pauze a short time.

Jump to line 2 and start again.

------------

Download

Download
chase.bas 816 bytes
Download
chase.prg 699 bytes
Download
chase_description.md 3.1 kB

Install instructions

Loading in VICE(C64 emulator):

==============================

Start VICE; Choose "File"->"Smart attach" and select "chase.prg" file.

Type RUN <enter> to start the game.

Drag and drop into "chase.prg" VICE window  into the VICE window.

Game will automaticly strart.

Comments

Log in with itch.io to leave a comment.

Arcade mechanics in BASIC, very nice.

very good