Jump to content
IGNORED

Writing More of My First Lines of Code in Batari Basic - Night Driver Arcade


Recommended Posts

BRAINSTORMING IDEAS FOR NEW NDA GAME MODES

 

Spoiler

So, I'm currently in a phase where I'm brainstorming ideas for potential new game modes for NDA.  Here are my current ideas.  

 

THE BRAINSTORMING LIST

Spoiler

'PACE CAR' (GHOST CAR - PACE CAR) - SINGLE RACE - REPLAY

 

Spoiler

OVERVIEW

  • The player chooses the speed of the pace car and then races against it, 1v1, in a single, one-off race for 99 seconds.  

DESCRIPTION

  • At the end of 99 seconds, whichever car is in the lead is the winner.  
  • The 6-digit display would show "+" or "-" and how far ahead or behind your car is compared to the pace car, as in RACING AGAINST YOUR GHOST CAR.  
  • You only see the red tail lights of the pace car when it comes into view in front of you.  
  • The pace car is a ghost car.  Your car passes through the pace car when they meet.  There are no collisions between your car and the pace car.  
  • At the end of the race, your odometer reading (-99 to +99) is your score; meaning, how far ahead or behind the pace car you finished.  Also, the speed of the pace car must be noted.  

WHAT I LIKE ABOUT THIS GAME MODE

  • It provides a fun, alternate way to enjoy playing NDA.  
  • The one-off format is great for a quick race when the player only has a little time to play.  
  • This game mode could also be called "Practice Mode."  It would be a great way for the player to practice before trying to get a new high score in arcade mode.  

IMPLEMENTATION

  • Programming-wise, this game mode would be very similar to CHASING YOUR GHOST CAR, GHOST RALLY RACING and CATCH THE PACE CAR.   

PROBLEMS/ISSUES

  • This game mode is probably the most fun for the player when the speed of the pace car is set "just right" - not too easy and not too hard.  

 

'CATCH THE PACE CAR' (GHOST CAR - PACE CARS) - SERIES - REPLAYS EACH RACE

Spoiler

OVERVIEW

  • A series of races in which the player must catch the pace car within 99 seconds to advance to the next race.  The player catches the pace car by driving up to the pace car and touching it from behind with his or her car.  It starts out easy and gets progressively more difficult.   

DESCRIPTION

  • From behind, you only can see the two tail lights of the pace car.  
  • The pace car does not need to accelerate to its final speed.  It starts at its final speed.  Example.  Suppose the pace car is supposed to go at a speed of 125.  It does not start at 0 and build up speed to 125.  It will just start out going 125.  This allows the pace car to gain some distance in front of the human player and effectively get a good head start.  
  • The player has 99 seconds to catch the pace car.  
  • When the player catches the pace car, the race ends.
  • The player will receive points for catching the pace car as follows: points equal to the speed of the pace car plus a time bonus equal to the number of seconds remaining on the game timer.  Example: Suppose the player catches a pace car that had a speed of 100 with 50 seconds left on the clock.  Then the player will get 100 + 50 = 150 points for catching that pace car.
  • The player may watch the Instant Replay of his or her last race if he or she wishes.
  • The player will then be asked to continue.  If the player says yes, then the next race will be set up.
  • In the next race, the same, except the pace car will be a little faster.  
  • If the player catches this faster pace car, then the player again gets points and again advances the next race.
  • In each successive race, the pace car is a little faster than before.  
  • Eventually, the player will find that the pace car he or she is chasing is just too fast, and the player will fail to be able to catch the pace car.  In that case, the player's final score is totalled and the player's game is over.   

WHAT I LIKE ABOUT THIS GAME MODE

  • I think it has a nice crescendo to it.  A nice build up.  It starts out easy, but over the course of 10-or-so races, it will gradually get harder and harder and by the end of the game, the racing excitement will be at a peak.  
  • This game mode will produce some racing thrills and exciting last-second finishes!   
  • A single game of CATCH THE PACE CAR could last 10+ minutes, twice as long if the player watched the replays.  I think players will like having the option of a game mode with a longer lasting game that has a nice build up to it and an exciting finish (the last race will be an adrenaline rush!)  

IMPLEMENTATION

  • Programming-wise, this game mode would be very similar to CHASING YOUR GHOST CAR and GHOST RALLY RACING.    

 

'GHOST CAR RALLY RACING' (GHOST CAR - PACE CARS) - SERIES - REPLAYS EACH ROUND

Race to win in a series of rally races against ghost car pace cars.  Details 

 

'RACING AGAINST YOUR GHOST CAR' (GHOST CAR/INSTANT REPLAY) - SINGLE RACE - NO REPLAY

A single race against a ghost car re-creating your last performance.  Details 

 

'WATCH THE CPU DRIVE THE CAR' (GHOST CAR/CPU DRIVER) - SINGLE RACE - REPLAY

Watch how a CPU driver handles the road.  Also used in Attract Mode.  

 

'RACE AGAINST A CPU DRIVER' (GHOST CARS/CPU DRIVERS/CPU PERSONALITIES) - SINGLE RACE - NO REPLAY

Race 1v1 in a one-off, single race against against either Bobbi, Nitro, Kareem, Ling or Mikhail, your CPU driver opponents. 

 

COMMENTARY - CPU PERSONALITY/CPU DRIVERS

Spoiler

The idea is that you create several CPU "personalities;" that is, you give to each one a face and a name.  Each CPU PERSONALITY can have a bio, a backstory.  How they got into racing.  Their favorite music to listen to.  Something things about them, personally.  We can get to know each one of the CPU PERSONALITIES that we will be racing against.

 

Then, for each CPU PERSONALITY, you create an appropriate driving algorithm tailored to their personality type.  For example, for a more aggressive type of CPU PERSONALITY, the driving algorithm would have that CPU DRIVER attempt higher speeds, risking more crashes.  A cautious CPU PERSONALITY opponent's algorithm would let it drive slower and hopefully avoid more crashes.  An emotional CPU OPPONENT might become "angry" if you pass it, and then go all out to pass you back again.  A laughing, flirtatious CPU PERSONALITY might drive past you just for fun, just to tease you.  And it's driving algorithm would be designed to let it do that.  

 

During the races, we'd like - and this might not be possible - a Mario Kart-style indicator showing the real-time updates about which cars (yours + the CPU OPPONENTS'S cars) are in 1st, 2nd, 3rd, 4th, 5th and 6th (if there is a 6th, not sure how many cars there would be in the race, exactly).  

 

Further, during the races, we'd like - and this might not be possible - voice or text updates about events that are happening during the race.  For example, an AtariVox voice announces, "Kareem passed Bobbi!"  Later, "Mikhail passed Kareem!"  Or "Mark crashed!"  

 

Part of the fun of competing in this type of race featuring CPU PERSONALITIES CPU DRIVERS is that we feel like we "know" the other drivers, we can emotionally connect to their good luck and their bad luck.  We can feel happy for them when they win and feel bad for them when they lose.  They can feel like our CPU friends on the race track.  

 

'RACE AGAINST MULTIPLE CPU DRIVERS' (GHOST CARS/CPU DRIVERS/CPU PERSONALITIES) - SINGLE RACE - NO REPLAY

Race against Bobbi, Nitro, Kareem, Ling and Mikhail in a wild, six-car dash to the finish.  

Spoiler

MARIO KART-STYLE POSITION TRACKER 

Spoiler
  • We will modify the 6-digit score to turn it into a Mario Kart-style race car position tracker.  
  • Modify score_graphics.asm file so that the 6 hex characters are as follows: P1 for Player 1, referring to the human player, condensed into one character, and the letters B, N, K, L and M, corresponding to the first letters of the names of the five CPU drivers' CPU Personalities.   
  • Let the 6-digit score show P1BNKLM with no spaces at the start of the race.  The meaning is the Player 1 is in first place, Bobbi is in 2nd, Nitro is 3rd, Kareem is 4th, Ling is 5th and Mikhail is 6th.  
  • image.jpeg.2e8ba84fede526b9f5c8bae156e39895.jpeg
  • During the race, let the program change the order of the symbols in real time to reflect the positions of the 6 cars in the race.  
  • That is, if Nitro passes Bobbi and Mikhail passes Ling, then the new order of the race cars would be Player 1 in 1st, Nitro 2nd, Bobbi 3rd, Kareem 4th, Mikhail 5th and Ling 6th.  And then the 6 digit display would be updated in real time as follows to show P1NBKML.  
  • image.jpeg.82f237dd70ce47cbc3f14a27db6c4a71.jpeg
  • In this way, the 6-digit score will be used to create a real-time representation of the positions of the 6 cars in the race similar to Mario Kart.  

 

GAME TIME AND MARIO KART POSITION TRACKER

Spoiler

The special, modified display for this 6-car race would be as follows.  

image.jpeg.6d8125bc512bca7d06a259cc7a8822be.jpeg

  • The top line of the display shows that there are 99 seconds left in the race.  
  • To clarify, this is a normal NDA track.  It twists and turns, but, generally, it goes straight ahead.  It is not a loop.  
  • The 6-digit display at the bottom will show the Mario Kart-style position tracker as described above.  For example, 
  • image.jpeg.2e8ba84fede526b9f5c8bae156e39895.jpeg

 

Special thanks to @CurtisP for sharing his 2-4 player, 2-digit minikernel.  

 

FLICKER MANAGEMENT

Spoiler
  • Unlike the pace cars which maintain equal spacing and can only appear on the screen one at a time, these CPU opponents with CPU personalities behave much differently and it is possible for up to five CPU cars to appear on the screen at one time. 
  • Each CPU car will appear on the screen as only two tail lights.  
  • As more CPU cars appear on the screen, the program will draw fewer white road markers (WRM's).
    • If there are 0 CPU cars on the screen, draw 14 WRM's.
    • If there is 1 CPU car on the screen, draw 12 WRM's + 2 tail lights.  
    • If there are 2 CPU cars on the screen, draw 10 WRM's + 4 tail lights.
    • If there are 3 CPU cars on the screen, draw 8 WRM's + 6 tail lights.
    • If there are 4 CPU cars on the screen, draw 6 WRM's + 8 tail lights.
    • If there are 5 CPU cars on the screen, draw 4 WRM's + 10 tail lights.  
  • When multiple CPU cars appear on the screen at once, some WRM's will not be drawn, but I think the player can still drive his or her car simply by following the CPU cars' tail lights for a moment.  

 

 

MARIO KART-STYLE CLOSED LOOP RACE (GHOST CARS/CPU DRIVERS/CPU PERSONALITIES) - COUNT LAPS - NO REPLAY

Race against Bobbi, Nitro, Kareem, Ling and Mikhail in a wild, six-car dash to the finish, Mario Kart-style.  

Spoiler

MARIO KART-STYLE POSITION TRACKER 

Spoiler
  • We will modify the 6-digit score to turn it into a Mario Kart-style race car position tracker.  
  • Modify score_graphics.asm file so that the 6 hex characters are as follows: P1 for Player 1, referring to the human player, condensed into one character, and the letters B, N, K, L and M, corresponding to the first letters of the names of the five CPU drivers' CPU Personalities.   
  • Let the 6-digit score show P1BNKLM with no spaces at the start of the race.  The meaning is the Player 1 is in first place, Bobbi is in 2nd, Nitro is 3rd, Kareem is 4th, Ling is 5th and Mikhail is 6th.  
  • image.jpeg.2e8ba84fede526b9f5c8bae156e39895.jpeg
  • During the race, let the program change the order of the symbols in real time to reflect the positions of the 6 cars in the race.  
  • That is, if Nitro passes Bobbi and Mikhail passes Ling, then the new order of the race cars would be Player 1 in 1st, Nitro 2nd, Bobbi 3rd, Kareem 4th, Mikhail 5th and Ling 6th.  And then the 6 digit display would be updated in real time as follows to show P1NBKML.  
  • image.jpeg.82f237dd70ce47cbc3f14a27db6c4a71.jpeg
  • In this way, the 6-digit score will be used to create a real-time representation of the positions of the 6 cars in the race similar to Mario Kart.  

 

CLOSED LOOP CIRCUIT TRACK

Spoiler
  • For this type of race, we could design a closed loop circuit as our race track.  For example, like this.
  • image.jpeg.ac1eccf04b7425953e31bcd177bf4442.jpeg
  • The race would then consist of a number of laps around this track.  For example, 3 laps.  
  • Faster cars could then pass slower cars on this looped track, as in Mario Kart.  

 

LAPS, GAME TIME AND MARIO KART POSITION TRACKER

Spoiler

The special, modified display for this closed loop, 6-car race would be as follows.  

image.jpeg.6185e89364c77d137abc45a62bfa9baa.jpeg

  • The top line of the display shows that this is the first of three laps.  
  • This race has no timer.  The race ends when the player finishes his or her last lap.  
  • There can be races of varying number of laps.  
  • The 6-digit display at the bottom will show the Mario Kart-style position tracker as described above.  For example, 
  • image.jpeg.2e8ba84fede526b9f5c8bae156e39895.jpeg

 

Special thanks to @CurtisP for sharing his 2-4 player, 2-digit minikernel.  

 

FLICKER MANAGEMENT

Spoiler
  • Unlike the pace cars which maintain equal spacing and can only appear on the screen one at a time, these CPU opponents with CPU personalities behave much differently and it is possible for up to five CPU cars to appear on the screen at one time. 
  • Each CPU car will appear on the screen as only two tail lights.  
  • As more CPU cars appear on the screen, the program will draw fewer white road markers (WRM's).
    • If there are 0 CPU cars on the screen, draw 14 WRM's.
    • If there is 1 CPU car on the screen, draw 12 WRM's + 2 tail lights.  
    • If there are 2 CPU cars on the screen, draw 10 WRM's + 4 tail lights.
    • If there are 3 CPU cars on the screen, draw 8 WRM's + 6 tail lights.
    • If there are 4 CPU cars on the screen, draw 6 WRM's + 8 tail lights.
    • If there are 5 CPU cars on the screen, draw 4 WRM's + 10 tail lights.  
  • When multiple CPU cars appear on the screen at once, some WRM's will not be drawn, but I think the player can still drive his or her car simply by following the CPU cars' tail lights for a moment.  

 

CLOSED LOOP/4 PACE CARS/LADDER/3 SEC. RELEASE/GHOST CARS/3 LAPS - SINGLE RACE - REPLAY

Four ghost car pace cars in a ladder arrangement released 3 seconds apart.  The player's car likewise is released 3 seconds after the last pace car.  The player chooses the speed of the pace cars and then races against them in a single, one-off race consisting of 3 laps.  Narrow track, no collisions, all cars pass through each other.  Player's car only collides with the road.  Score: position (1st-5th).  

 

CLOSED LOOP/4 PACE CARS/LADDER/3 SEC. RELEASE/GHOST CARS/3 LAPS - SERIES - REPLAY AFTER EACH RACE

Four ghost car pace cars in a ladder arrangement released 3 seconds apart.  The player's car likewise is released 3 seconds after the last pace car.  A series of races.  In the first race, the pace cars move at a modest speed.  You must finish in 1st, 2nd or 3rd place to advance to the next race.  There are always four pace cars, but in each subsequent race, the pace cars are faster.  Narrow track, no collisions, all cars pass through each other.  Player's car only collides with the road.  Score: points based on position and the number of races.  

 

LAP PROGRESS DISPLAY FOR CLOSED LOOP TRACKS

Spoiler

DESCRIPTION

  • Use Super Chip kernel in order to have the high resolution playfield w/ 48 rows and 32 columns
  • Use playfield pixels to create a rectangular track around the outer edge of the screen
  • Let one pf pixel on this rectangular track be a different color.  That pixel represents the player's car.
  • The rectangular border around the screen is an abstract representation of the closed loop track.  It represents one lap around the track, but it is not the same shape.  That is, when the player's dot is half way around the border, the player's car is halfway around the track.  If the player's dot is one quarter of the way around the border, then the player's car is one quarter of the way around the track.  
  • Perhaps a pause menu can be made available which would momentarily stop the game and show a detailed drawing of the track, showing its correct shape.  

 

NDA BOWLING - FOR 1-2 PLAYERS (ALTERNATING) - PADDLE CONTROLLERS

Spoiler

Statistics show that people who like to drive fast at night also like to go bowling at night.  

 

Actually, that's not true.  I just made that up.  But who knows?  It might be true.  

 

No cars in this game.  Real bowling.  Can be a very pleasant diversion from all of the heated racing.  A chill out game.  The computer arranges ten white road markers (WRM's) on the screen as your 10 bowling pins.  Then, the computer uses sprites to create a ball.  Then, you and a friend can use the paddle controllers to play a real game of bowling.  The computer keeps score, of course.  

 

 

 

REORGANIZED AS OPTIONS

Spoiler

The options menu for all of these brainstormed ideas would look like this

 

TRACK TYPE

  • STRAIGHT (IT TWISTS AND TURNS, BUT IT GENERALLY GOES STRAIGHT)
  • CLOSED LOOP

RACING AGAINST

  • THE CLOCK (NO OPPONENT CARS; THE PLAYER RACES THE CLOCK)
  • PACE CARS (CONSTANT SPEED; NO SHIFTING, NO ACCELERARING, NO STEERING; NO COLLISIONS; THEY STAY IN THE CENTER OF THE ROAD)
  • CPU DRIVERS (THE CPU DRIVER SHIFTS, ACCELERATES AND STEERS JUST LIKE A HUMAN PLAYER)

CPU DRIVER TYPE

  • PERSONALITY (HAS UNIQUE COMBINATION OF DRIVING BEHAVIORS) 
  • NO PERSONALITY (JUST DRIVE)

NUMBER OF OPPONENT CARS

  • ONLY ONE
  • MULTIPLE

ARRANGEMENT OF PACE CARS

  • "LADDER" (EQUALLY SPACED AND CONSTANT SPEED, RELEASED X SECONDS APART)

TEMPORAL OR ETHEREAL? (OF THIS WORLD OR OF THE SPIRITUAL WORLD?)

  • WIDE ROAD + TEMPORAL CARS + COLLISIONS BETWEEN CARS
  • NARROW ROAD + GHOST CARS + CARS PASS THROUGH EACH OTHER/NO COLLISIONS BETWEEN CARS

END OF RACE IS DETERMINED BY

  • TIME
  • LAPS
  • SPECIAL - CATCH THE PACE CAR (TOUCH IT WITH YOUR CAR)

 

 

 

 

 

Link to comment
Share on other sites

REVISING THE BRAINSTORMING LIST

 

Spoiler

Suppose our game already has the following things:

Spoiler

NIGHT DRIVER ARCADE

INSTANT REPLAY

ATTRACT MODE (B&W ARCADE VERSION)

 

Then, which of the proposed, new game modes might we add to our game?  

 

LIST A - EASIEST TO IMPLEMENT

Spoiler

These game modes would be the easiest to add to our game.

 

RACING AGAINST YOUR GHOST CAR - Race against a replay of your last performance.  

 

Anything with ghost car pace cars on a standard NDA track (it twists and turns but it generally goes straight ahead): 

  • A single race 1v1 ('PACE CAR') 
  • A series of races 1v1 ('CATCH THE PACE CAR') 
  • A single rally race - You versus a group of pace cars in a ladder
  • A series of rally races ('GHOST CAR RALLY RACING') - You versus group of pace cars in a ladder

If the basic NDA game were working, then these alternate game modes should not be too difficult to add.  

 

LIST B - HARDER TO IMPLEMENT

Spoiler

These alternate game modes would be more difficult to implement.  

 

Anything with a closed loop race track and ghost car pace cars, such as:

  • A race against the clock (no pace cars, just you and the track)
  • A single race 1v1 
  • A series of races 1v1
  • A single group race - You versus a group of pace cars in a ladder
  • A series of group races - You versus group of pace cars in a ladder

PROBLEMS/ISSUES

Spoiler

GAMEPLAY WILL BE AFFECTED

A closed loop track will not turn wildly left and right like the arcade version of Night Driver.  A closed loop track will be more calm.  Think of the tracks in Pole Position and Mario Kart.  A few sharp turns, but mostly long straightaways.  The issue isn't that we couldn't make a closed loop track.  The issue is that, if we did, I'm afraid it might be too easy and lack the thrill and excitement of the standard NDA game version.  

 

 

LIST C - HARDEST TO IMPLEMENT

Spoiler

Any race involving CPU drivers with CPU PERSONALITIES 

  • A single race 1v1 
  • A series of races 1v1
  • A single race against a group of up to 5 CPU PERSONALTIES
  • A series of races against a group of up to 5 CPU PERSONALTIES

PROBLEMS/ISSUES

Spoiler

The problem of how to program the CPU PERSONALITIES so that each one has a different driving behavior seems easy enough but actually I'm having trouble coming up with a clear plan on how to do it.  

 

Any race involving opponent cars that are "real" in the game and have collisions (they are not ghost cars)  

  • single races - 1v1 or group races
  • series of races - 1v1 or group races

PROBLEMS/ISSUES

Spoiler

If the opponent cars (whether pace cars or cars driven by the CPU) are "real" in the game and have collisions, then this changes the game play.

  1. The road must be wider - so the human player has room to pass these "real" cars on the road
  2. There can be no instant replay - the interactions between the cars bumping and crashing into each other would produce too much data, we don't have enough RAM to store it all to make a reasonable facsimile of it later.  
  3. The difficulty of programming these "real" cars that bump and crash into each other and must pass around each other will be much higher.  Programming ghost cars that pass through each other is frankly much easier.  

Well, #1 is a problem.  If the road is wider, then when the human player is not passing cars, the game will be too easy.  The human player will never crash into the sides of this new, wider road when there are no other cars.  

 

I personally don't like #2.  A whole new set of game variations, none of which can have instant replay.  I think NDA doesn't become better by adding game variations that are incompatible with Instant Replay.  

 

Regarding #3, my feelings are that for this project, being my first (or one of my first), I'd like to limit the programming difficulty to make the programming work more manageable for me.  So my thoughts are to stick with all ghost cars at this time.  

 

 

My current thoughts are to stick to List A.  By sticking to List A:

  • Programming will be much easier
  • Everything will be compatible with Instant Replay

 

Link to comment
Share on other sites

 UPDATED PLAN FOR THE NDA ROM

 

Spoiler

My current thoughts as to what the final product would consist of.  Previous version.  

 

Just penciling things in since at this point I have no idea, really, how much ROM space these program sections are going to use up.  

 

32k ROM

  • It will use RevEng's Multikernel Framework so that each 4k bank can have its own score_graphics.asm file with six customizable characters.  
  • All banks will use the Super Chip kernel with kernel_options no_blank_lines and readpaddle (Cost: loss of missile0.)  
  • Bank 8 needs the playfield to be turned on in order to draw the arcade cabinet.  
  • Not sure yet if it will have some kind of a menu or use the old-style game select matrix.  Going with a game select matrix for now.  

4K BANK 1

NOTE: Not a full 4k bank.  The bB software is stored in Bank 1.  

score_graphics hex characters: colon, space, "T", "S", "+" and "-"

  • SIMULATED ARCADE SELF-TEST
  • B&W ARCADE GAME ATTRACT MODE
  • GAME SELECT MATRIX

4K BANK 2

score_graphics hex characters: colon, space, "T", "S", "+" and "-"

  • NIGHT DRIVER ARCADE

  • SCRIPTED ROADS FOR NOVICE, PRO AND EXPERT

4K BANK 3

score_graphics hex characters: colon, space, "T", "S", "+" and "-"

  • INSTANT REPLAY
  • AUTOPILOT (The computer drives the car in place of the human player)

4K BANK 4

score_graphics hex characters: colon, space, "T", "S", "+" and "-"

4K BANK 5

  • PSEUDO-RANDOMLY GENERATED ROADS

4K BANK 6

score_graphics hex characters: colon, space, "T", "S", "+" and "-"

4K BANK 7

score_graphics hex characters: "st", "nd", "rd", "th" and space and 1 unused.  

4K BANK 8

score_graphics hex characters: colon, space, "T", "S", "+" and "-"

 

NOT USED (MAY BE USED LATER)

Spoiler
  • ALTERNATE, SCRIPTED ROADS FOR NOVICE, PRO AND EXPERT
  • CINEMATIC VIEW for INSTANT REPLAY
  • WATCH THE CPU DRIVER THE CAR
  • RACE AGAINST A CPU DRIVER (no CPU PERSONALITIES)
  • Any kind of races involving CLOSED LOOP TRACKS
  • Any kind of races involving CPU PERSONALITIES
  • NDA BOWLING

 

COMMENT

Spoiler

I feel pretty good about the content I've selected for the NDA game ROM.  It's a nice blend of the arcade version plus fun alternate game modes such as racing 1v1 against pace cars and pace car rally racing.  Plus instant replays that you can watch after every race.  And especially, I like this one, racing against your own ghost car!  And there's even a mini game.  

 

 

Link to comment
Share on other sites

MENU SYSTEM

 

Spoiler

Just an idea I had.  Not sure if I want to do it this way.

 

MENU OVERVIEW

Spoiler
  • 100% couch compliant
  • Paddle controllers come in pairs, do they not?  If you are sitting on your couch holding a paddle controller, then there is another, unused paddle controller near you, is there not?  We can use the button on paddle #2 to enter the Pause Menu in NDA.  
    • The Main Menu appears any time that the button on paddle #1 is pressed while in the Attract Mode.  
    • The Pause Menu appears any time that the button on paddle #2 is pressed while in Game Mode (that is, while a game is in progress).  
  • Menus would appear in minimalistic fashion.  A bare minimum of information on a pure black background.
  • The ball and missile1 would be used to draw "bullets" to give the menu its structure.  
  • The player uses the paddle controller to navigate the menus.
  • A "back <---" option always appears at the bottom since the paddle controller only has one button.
  • If we need more ROM to implement the menus, I would not hesitate to go up to a 64K ROM size.  

 

THE MAIN MENU

Spoiler

The Main Menu appears any time that the button on paddle #1 is pressed while in the Attract Mode.  

 

THE MAIN MENU

Spoiler
Quote

MENU

  • ARCADE
  • 1V1
  • RALLY
  • MINI GAME
  • BACK <---
  • The bullets are made using the ball and missile1.  
  • The words are made using P0 and P1 sprites using flicker.  
  • The P0 and P1 sprites generally form words 2 letters at a time.  For example: AR CA DE.  P0 draws AR.  P1 draws CA.  Then on the next frame, P0 draws DE using flicker.
    • But not always 2 at a time.  Some letters need more pixels to be formed.  For example, "W" needs more pixels.  
  • The background is black.  The words are the same color as the white road markers, a light gray.

HOW THE MENUS WORK

  • The main idea is that there are several words on the menu, but they only appear on the screen one at a time.  
    • At first, the word "MENU" appears.  The bullets appear below it, made of the ball and the missile, but the other words don't appear.  It looks like this.
Quote

MENU

  •  
  •  
  •  
  •  
  •  

Then, the player turns the paddle knob, and the other words appear one-by-one.  Like this.

Quote

 

  • ARCADE
  •  
  •  
  •  
  •  

Then this

Quote

 

  •  
  • 1V1
  •  
  •  
  •  

Then this.

Quote

 

  •  
  •  
  • RALLY
  •  
  •  

Then this.

Quote

 

  •  
  •  
  •  
  • MINI GAME
  •  

And then finally this.  

Quote

 

  •  
  •  
  •  
  • BACK <---
  • By turning the paddle left and right, the player can cause each of the five words to appear.
  • By pressing the paddle button, the player selects the option shown.  
  • BACK <--- on the Main Menu exits the Main Menu.  The game then returns to doing whatever it was doing before the Main Menu was called up.  

 

ARCADE MENU

Spoiler
Quote

ARCADE

  • NOVICE
  • PRO
  • EXPERT
  • BACK <---

 

1V1 MENU

Spoiler
Quote

RACE TYPE

  • SINGLE RACE
  • SERIES
  • BACK <---

"SINGLE" and "RACE" might alternate on the screen to reduce flicker.  

 

1v1 SINGLE MENU

Quote

SPEED

  • BACK <---

When SPEED is selected, then the 6-digit display will activate, and the player will be able to turn the paddle and press the paddle button to choose the desired speed in the range of let us say 25-300.  

After the player has selected the desired speed, a dialogue will appear...

Quote

CONFIRM

  • Y
  • N
  • BACK <---

...to make sure that the player entered the desired value correctly.  

 

1V1 SERIES MENU

Quote

STARTING SPEED

  • BACK <---

NOTE: STARTING and SPEED will alternate.  They will not appear at the same time.  

The player chooses the starting speed of the 1V1 race series.  

The same as for the single race, the player uses the paddle and paddle button to choose the speed on the 6-digit display.

 

And then

Quote

CONFIRM

  • Y
  • N
  • BACK <---

 

 

RALLY MENU

Spoiler
Quote

RACE TYPE

  • SINGLE RACE
  • SERIES
  • BACK <---

"SINGLE" and "RACE" might alternate on the screen to reduce flicker.  

 

And then

 

RALLY SINGLE RACE MENU

Quote

SPEED

  • BACK <---

And

Quote

CONFIRM

  • Y
  • N
  • BACK <---

Or 

 

RALLY SERIES MENU

Quote

STARTING SPEED

  • BACK <---

And then

Quote

CONFIRM

  • Y
  • N
  • BACK <---

 

 

MINI GAME MENU

Spoiler
Quote

MINI GAME

  • NOVICE
  • PRO
  • EXPERT
  • BACK <---

 

 

 

THE PAUSE MENU

Spoiler

The Pause Menu appears any time that the button on paddle #2 is pressed while in Game Mode (that is, while a game is in progress).  That is to say, any time you are playing NDA and you want to pause the game, just reach over and press the button on paddle #2.  The game will be paused and the following menu will appear on the screen (one word at a time).  

 

THE PAUSE MENU 

Quote

GAME PAUSED

  • PLAY
  • WATCH
  • QUIT
  • BACK <---
  • PLAY returns to the game.  The human player drives the car.  A 3, 2, 1 courtesy countdown is displayed on the screen, giving the human player a moment to get ready before being submersed into the action.  
  • WATCH returns to the game; however, AUTOPILOT takes over driving the car.  The human player can then take a break and watch the computer play the game for you.  
  • QUIT forfeits the current game.  Any saved data about the current game is discarded.  The program then goes into ATTRACT MODE.  A confirmation dialogue will appear before the QUIT action takes effect.
Quote

QUIT GAME?  

  • Y
  • N
  • BACK <---

QUIT and GAME may alternate on the screen to reduce flicker.  

 

That is to say that the PAUSE MENU allows the human player the opportunity to pause the game at any time and resume it again (following a 3, 2, 1 courtesy countdown).  The PAUSE MENU also allows the human player at any time to pause the game and by choosing WATCH, let the computer take over driving the car.  The human player could let the computer finish the game for him or her.  Or, the human player could pause again and take over the driving controls again at any time.  And the human player may do any of these things as many times during a game as he or she desires.  

 

 

And that is approximately my idea of what the main menu would look like in NDA using this method of creating it on the screen.  Minimalistic.  Couch compliant.  

 

Again, not sure if I want to do it this way.  Just an idea I had.   

 

 

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...