[stella] Fortitude I Quadraside

Subject: [stella] Fortitude I Quadraside
From: Christopher Tumber <christophertumber@xxxxxxxxxx>
Date: Sun, 06 Jul 2003 19:38:14 -0400
Fortitude I Quadraside (I already have some ideas for a very different but thematically similar sequel) is a 1 to 4 player ball and paddle game using 2 sets of paddle controllers. There are up to 4 balls on screen and the center playfield can be animated and/or the configuration of walls canged for each level. 

You can force paddle controller use on the most recent version of z26 with the command line switches: -k0 -p1 however if you can, you should see these running on a real TV where the images look a lot more stable (ie: Virtually no flicker on TV). If you're using an emu you'll have to hold down the right arrow a while to get the paddle "centered" as the code only uses a portion of the paddle's available movement (That is, if the paddle is capable of 360 degrees of rotation, the attached binaries only used about 90 degress of motions. Trust me, it works...)

Attached are 2 files, eventually they'll be the two 4k banks of an 8k ROM but since I'm using a Supercharger for testing, they won't be merged until the end.

TEXT.BIN is a game option selection menu. There are going to be an awful lot of possible game combinations so along with the usual Game Select switch type of input I'm going to provide a menu. This menu uses my snazzy new "text mode" which is capable of 24 characters per row and about 11 rows per screen, double spaced. Text is double spaced to keep RAM usuage in check (data for the next row of text is pushed into RAM between rows). If you were doing something like, say, an RPG where you'd only need a couple rows of text in a pop-up window, you could easily single space it if you have the extra RAM free (About 40 bytes per line) but for more than a couple lines it's quickly get out of hand. Looks pretty good on a real TV if I do say so myself...

BUMPER.BIN is the game itself. Each physical paddle controls 1 of 4 on screen paddles around the perimeter of the screen. When this version starts, all four players are "off" and instead of their paddle, a solid wall is shown. Pressing the corresponding paddle button will activate any paddle (This is largely for testing purposes - It's a bit tricky to handle 4 paddles by yourself!). Center walls are currently animated (you'll see) this configuration can vary completely on a level by level basis. They can be animated or not and they can take any pattern as long as it's reflected.

This is still WIP, there are probably bugs and there's still a pretty large todo list. I won't even try to list them here.

Below are design notes which I'll post because they're handy and if anyone's interested it'll give you a good idea where this is going:

;   =Starting a Game=
;Players will be presented with a simple menu:
;<Game #>
;# Players
;Selecting Quickstart or the Game Start switch on the console proceeds directly to game. Options proceeds to a menu which ;allows all the Game Settings to be changed.
;In addition, each combination of Game Settings is associated with a corresponding number. This number is displayed
;at the top of the Options menu. This number may be entered directly on the opening screen through the use of the Game ;Select switch on the console.
;   =Game Settings=
;# Players:       1-4
;# Balls:         1-4 (must be >= # of players)
;Game Type:       Solitaire (1 Player only)
;                 Head To Head (2 or 3 Players - No AI)
;                 Competitive (# Players filled out to 4 by AI)
;                 Sides (Player 1 and Player 2 each control 2 opposite sides)
;                 Corners (Player 1 and Player 2 each control 2 sides adjacent)
;                 Team Opposites (4 Players only, 2 opposite sides share score)
;                 Team Adjacent (4 Players only, 2 adjacent sides share score)
;Controls:        1 Paddle each
;                 2 Paddles each (Solitaire, Sides and Corners only)
;Ball Sizes:      Random
;                 Small
;                 Medium
;                 Large
;Difficulty:      Easy
;                 Medium
;                 Hard
;AI Difficulty:   Easy
;                 Medium
;                 Hard
;Starting Level:  Random
;                 1-??
;Level Sequence:  None (Remains at Starting Level)
;                 Random
;                 Series
;Power-Ups:       On
;                 Off
;Ball Restarts:   Player who was scored upon
;                 Player of same colour as ball
;Points per Game: 10
;                 15
;                 20
;Wins per Match:  3
;                 5
;                 7
;   =Quickstart=
;1-4 Players 
;Other settings: Game Type: Competitive
;                Ball Sizes: Random
;                Difficulty: Medium
;                AI: Medium
;                Starting Level: Random
;                Level Sequence: Random
;                Power-Ups: On
;                Ball Restarts: Player who was scored upon
;                Points per Game: 15
;                Wins per Match: 3
;   =Game Types=
;In solitaire one player controls all 4 paddles, using either 1 or 2 controllers. If using 2 controllers, each controller
;controls opposite paddles. Score 1 point each time a ball hits a paddle. Loose X balls and game over.
;Head to Head: 
;1-3 players compete with no computer AI. Any "unused" players are solid walls.
;1-4 players compete. Any "unused" players are filled with computer controlled opponents.
;2 players compete. Each player controls 2 paddles. Player 1 is Up and Down. Player 2 is Right and Left. Controls may be 
;with 1 or 2 controllers each. With 1 controller, each controller corresponds with 2 paddles. With 2 controllers, each
;paddle is controlled sperately.
;2 players compete. Each player controls 2 paddles. Player 1 is Up and Right. Player 2 is Left and Down. Controls may be 
;with 1 or 2 controllers each. With 1 controller, each controller corresponds with 2 paddles. With 2 controllers, each
;paddle is controlled sperately.
;Team Opposites:
;4 players compete in two teams. Up and Down and one team, Right and Left are the other team.
;Team Adjacent:
;4 players compete in two teams. Up and Right and one team, Left and Down are the other team.
;In Sides, Corners or Team play you cannot score on yourself or your own team. Any ball which is hit by your paddle
;and goes directly to your own or your teammate's goal without hitting anything on the way will automatically
;be blocked.
;   =Power-Ups= 
;Double width paddle - Paddle gets big.
;Small paddle - Paddle gets small.
;Dual paddles - 2 paddles side by side.
;Make balls largest - Ball gets big when hit.
;Make balls smallest - Ball gets small when hit.
;Make balls medium - Ball goes to normal size when hit.
;Bouncy paddle - Balls always speed up when hit.
;Soft paddle - Balls always slow down when hit.
;Catch & release - Balls are held until button pushed.
;Reverse paddle direction - Paddle moves opposite to normal.
;Intangiable ball - Ball pases right though interior walls but not perimeter walls or paddles.
;Invisiball - Ball turns invisible. Lasts only until next bounce.

Attachment: TEXT.BIN
Description: Binary data

Attachment: BUMPER.BIN
Description: Binary data

Current Thread
  • [stella] BiiggerBoing26
    • David - Sun, 6 Jul 2003 07:20:07 -0400 (EDT)
      • Rob - Sun, 6 Jul 2003 11:55:34 -0400 (EDT)
        • David - Sun, 6 Jul 2003 18:05:27 -0400 (EDT)
      • Christopher Tumber - Sun, 6 Jul 2003 19:40:38 -0400 (EDT) <=