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)
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!)
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.
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).
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.)
(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!