TRON: LIGHT CYCLES 64

This is an on-going game development all the way back from my PET days.

The ultimate goal for this page is to have a dissection of the game in it's current configuration, with a commented BASIC and Assembly Source as well as the logic behind the mechanics and how some of the cooler routines work (like the joystick routine, which could be used with other Commodore 64 games). With these beginning BASIC and ML programmers mat get some ideas for their own games. (unfortunately time has kept me from preparing and commenting the listings for web publication but I hpe to get too it eventually)

What is Light Cycles?

Light cycles is an adaptation of the classic computer/video game Surround (on the Atari 2600 - there was a Surround cartridge for the Intelevision it was called Snafu) where you and your opponent(s) move about as you leave lines on a grid, hitting any of the lines or the walls surrounding the grid before your opponent(s) loses you a life. The main differences in Light Cycles is that a) if an opponent crashes into a wall his trail will disappear thus free up the space for the remaining players, b)the computer can control multiple opponents, and c) the player and opponent has an option to speed up.

Light Cycles was a key element in the 1982 Disney movie TRON, which was about a programmer, Kevin Flynn, being trapped in a world with many of the video games and programs he and others had created trying to defeat the misguided “Master Control Program” that put him there. If you like video games and computer animation it is a 'must see film' even though by today's standards the effects are minimal; this was the first movie that featured a significant amount of computer animation and mixed computer graphics with live action characters. (btw: currently in production is TRON 2.0!)

Development History of Larry's Version:

  • The first generation was on PET mainly BASIC one-player almost entirely basic except for a simple screen invert routine.
  • Second generation (moved and enhanced on the VIC-20) still one-player, color, later custum characters, finally mostly BASIC but with ML to make the enemy trails dissapear. (with the enemy trails disappearing the game played more like the movie and less like the old Surround type games)
  • Third generation - Commodore 64 - (is related to the Flash Attack project - in I needed to test my player window routines), two player joystick, with dual windowns on a 40×60 game map, no other enemies.
  • Fourth generation [download the 64 game]- back with 1 player on the 64, kept joystick too, enemies actions are now all ML, player now in an 80×100 grid with window display, can now have up to 255 opponents.
  • Added 'bit brains' to enemies to lessen them from turning into a 'circle of death' trap, added ML joystick routine to quickly do diagonal positions (NE would return up-right-up-right.., etc).
  • My most recent addition is: the enemy cycles now can have multiple lives like the players have (those video game character unions are sure getting powerful). This latest feature I sacrificed the speed variation for the opponents as they are more dangerous than when they had only one life)

lightcycle2.prg - LARRY'S LIGHT CYCLES FOR THE COMMODORE 64

Screenshots and Information about the Current 64 Version:

Game Options Screen

Here is the game options screen, I recently re-designed the look to better emulate the TRON feel, corrected outdated contact (the previous one still had my old Q-Link ID!) and added the keyboard/joystick controls and enemy lives option (I prefer the keyboard controls myself, more precise response!). Also made it less obtrusive, before it came up whenever you started to play, now you can skip it and go right to the game.

One idea I would like to implement in the options is a joystick/keyboard interface (to change values, etc) for LS, but I haven't devoted much time to that yet.

Game Start Screen

I'm proud of this animated intro display, I rigged the game window routine to recognize a 'don't print' character so I could do this animated intro (enemy cycles auto playing the game) with static title and info amongst the action. With the addition of multiple enemy lives it now resembles the way I had imagined the intro would look like when I first envisioned it (like a of worms going all over the place).

Image of a Game in Progress

This screen is during play with 7 opponents, down from 45 (many die in the first few seconds as the 80×100 grid is kinda small) it is easier to win with greater number of opponents as they foul themselves over.

To make the opponents more challenging than most normal Light Cycles game the enemies have 'bit brains' which let them remember what direction they turned last, so when they are forced or decide to turn they will first try to turn the opposite direction from the last turn (and avoid the dreaded 'death spiral' which many lesser games' opponents regularly get into.)

For a 'real challenge' give your opponents as many lives as you have and start with a mid-range number like 50 or so, you will realize that you can't 'wait them out so easily as with only one life for the elite cycles.

At the end of the last player, you are presented with a display of the game board as it was when you crashed, you can look about with the CURSOR keys and exit with the RETURN, but you can also make the computer cycles keep playing by holding down the SPACEBAR (just to see how it would have ended.)

Future Generation?

(no real work yet on this one, just an idea) - Light Cycles 3-D… though, now that I've played Armagetron I think I would be outclassed (except for the AI) check it out!

Last modified:: 2020/11/22 08:55
   
Except where otherwise noted, content on this wiki is licensed under the following license: CC Attribution-Share Alike 4.0 International