Jump to content
IGNORED

Game idea: Port of ZX81 game "City Patrol"


palmheads

Recommended Posts

Hey

 

Whenever I'm mucking around with my other retro computers, if I see a game they could be cool on the TI-99 for TI-BASIC & mini memory (perhaps for next 4k challenge) I make a note of it. Been playing this game on my ZX81 (real & emulated).

 

http://www.zx81stuff.org.uk/zx81/tape/CityPatrol

 

You are a turret that turns 360 degrees. In front of you is a city scape. The city is in layers - some buildings closer, some further away. You have a gun sight. UFO's fly up/down/between buildings. You have to aim with your sight & shoot them. You can blow up buildings but you lose points. The UFO is also shooting at you (quite effective - a white square with an asterisks when it shoots.

 

Its really playable & enjoyable!

 

cheers

Daryn

 

 

 

 

Link to comment
Share on other sites

Here's a quick demo drawing the city. I don't think TI BASIC is up to the task here since just drawing one screen already takes too long...

100 CALL CLEAR
110 RANDOMIZE
120 CALL CHAR(36,"FFFFC3C3C3C3FFFF")
130 CALL CHAR(37,"FFFFFFE7E7FFFFFF")
140 CALL CHAR(38,"FFFF000000000000")
150 REM  BACKGROUND BUILDINGS 
160 CALL HCHAR(22,1,38,32)
170 FOR X=1 TO 32
180 Y=INT(RND*13)
190 IF Y>8 THEN 210
200 Y=0
210 CALL VCHAR(22-Y,X,37,Y)
220 NEXT X
230 REM  FOREGROUND BUILDINGS 
240 FOR X=1 TO 32
250 Y=INT(RND*18)
260 IF Y>10 THEN 280
270 Y=0
280 W=INT(RND*3)+1
290 FOR I=0 TO W-1
300 IF X+I>32 THEN 330
310 CALL VCHAR(24-Y,X+I,36,Y)
320 NEXT I
330 NEXT X
340 CALL CLEAR
350 GOTO 150

  • Like 1
Link to comment
Share on other sites

 

Here's a quick demo drawing the city. I don't think TI BASIC is up to the task here since just drawing one screen already takes too long...

100 CALL CLEAR
110 RANDOMIZE
120 CALL CHAR(36,"FFFFC3C3C3C3FFFF")
130 CALL CHAR(37,"FFFFFFE7E7FFFFFF")
140 CALL CHAR(38,"FFFF000000000000")
150 REM  BACKGROUND BUILDINGS 
160 CALL HCHAR(22,1,38,32)
170 FOR X=1 TO 32
180 Y=INT(RND*13)
190 IF Y>8 THEN 210
200 Y=0
210 CALL VCHAR(22-Y,X,37,Y)
220 NEXT X
230 REM  FOREGROUND BUILDINGS 
240 FOR X=1 TO 32
250 Y=INT(RND*18)
260 IF Y>10 THEN 280
270 Y=0
280 W=INT(RND*3)+1
290 FOR I=0 TO W-1
300 IF X+I>32 THEN 330
310 CALL VCHAR(24-Y,X+I,36,Y)
320 NEXT I
330 NEXT X
340 CALL CLEAR
350 GOTO 150

 

Oh wow that is slow. Graphically it does look doable though!

 

Could be an XB/Assembly job then

Link to comment
Share on other sites

Now mind you there are ways to optimize this significantly using arrays to store the VCHAR data and possibly not having a random cityscape, but I didn't have the energy to get into the weeds that much! :D Regardless though, I doubt it would still be fast enough to be reasonably playable...

Link to comment
Share on other sites

It would be nice to think TI-Basic could be used here but I agree with Vorticon, it's simply too slow. It was rated as second only to the ZX81 for speed of execution within Basic.

 

I realized it's limitations with the TI Basic version of "Mummy's Tomb" because I wanted four mummies on screen at once and it could do it but you had time to boil the kettle and serve up a cup of coffee before all four of the mummies had decided to move anywhere.

 

XB and the Compiler would probably be your best bet. The only thing faster than that would be Assembly (Which for the ZX81, this game was written in Z80 Assembly)

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...