The SPLASH SCREEN is a pretty simple object. Nothing more than a picture showing our logo.
The TITLE SCREEN will display the name of the GAME along with a START button. Clips of gameplay can be shown or perhaps a showcase of each class (a la Street Fighter). It could also delve briefly into the campaign story.
The GAME is the actual application itself. The compiled executable that will be launched by the user.
When the user press the START button, they will be presented with the MAIN MENU. The MAIN MENU will serve several functions. It will allow a PLAYER to:
- Receive notifications about new content
- View PLAYER STATistics such as wins, losses, total hours played, etc.
- Start or continue a single player campgaign
- Start an online match against other PLAYERs. This will take the PLAYER to the LOBBY
In addition the MAIN MENU will have an OPTIONS submenu. Inside OPTIONS, the PLAYER can do the following:
- CONTROL LAYOUT - used to configure the PLAYER's inputs
- PERSONALIZE (or CUSTOMIZE or something else) - used to customize a PLAYER's AVATAR
- MUSIC VOLUME - adjust the volume of a GAME's music
- SFX VOLUME - adjust the volume of a GAME's sound effects
- VOICE VOLUME - adjust the volume of a GAME's voice over dialogue
The CONTROL LAYOUT will give the PLAYER a selection of 2 or 3 predefined button layout SCHEMEs. For the Web version of the game, we'll also have to allow the player to choose between keyboard/mouse or joystick as the input.
The PERSONALIZE submenu will give the PLAYER the ability to customize their AVATAR's appearance. They will be able to choose a SKIN color, HAIR color and style, EYE color and style, FACIAL hair color and style, and GENDER. ACCESSORIES such as glasses, head bands, headphones, earrings, and tattoos could also be used. I'm debating whether or not LIPS, NOSE, and EARS should be customizable. It may make things too complex.
MUSIC VOLUME will be a simple slide bar that will increase/decrease the background MUSIC of the GAME. Ditto for SFX VOLUME and VOICE VOLUME.
The PLAY SOLO (or w/e we call it) will begin a single player CAMPAIGN. The PLAYER may have the choice to start a new CAMPAIGN or continue an existing one. When continuing a CAMPAIGN, the GAME will pick up from the last completed a LEVEL. New LEVELs will be unlocked as each one is completed. A previous LEVEL can be selected and replayed as well. LEVELs will be played in a predetermined order. Once the last LEVEL have been completed, the CREDITS screen will be shown and they'll be returned to the MAIN MENU.
The PLAY ONLINE button will connect the PLAYER to an online game LOBBY. From here, they will be given a list of available MATCHes currently in progress. They can join any MATCH so long as it has an available slot and it is not password protected. The PLAYER can also filter the list by a particular LEVEL and/or MODE. They should also be able to filter the list to show only those MATCHEs that include their FRIENDs. Not sure which way is better: the FP way where there's a separate list of FRIENDs and by selecting one, you see which MATCH their currently in. Or filter the list of MATCHes to only those that include friends (using a toggle button) and have a separate list showing which FRIENDs are in the selected MATCH. I'm leaning towards the latter. A list of FRIENDs would also be available. Selecting a FRIEND would allow you to view their PLAYER STATs (and perhaps compare yours to theirs), and join in their MATCH if they're in one. Below is a rough draft of what I'm proposing.
In the console version, the user would navigate the screen by pressing left or right on the D-Pad or analog stick. There would be a visual clue as to which section is currently in focus, such as a blinking border. Pressing up or down would let the user scroll through the items in the selected list. The bumper buttons could be use for pagination if the list is very long. The user selects an item by pressing the ENTER button (in the case of PS3, it's usually the X button). Pressing the CANCEL button would take the user back to the MAIN MENU. The lower left hand corner would show the available actions for each section along with the corresponding button to trigger the action. For example, if the focus is currently on the list of matches, the lower left hand corner would show:
Up/Down = Scroll up/down
L1/R1 = Page up/down
X = Select/Join match
[] (square) = Refresh list
/\ (triangle) = Create match
O (circle) = Return to Main Menu
Only a small number of available MATCHes (25 or so) will be displayed to the PLAYER as there could be hundreds of matches taking place. The MATCHes returned would be randomly selected each time the list is refreshed. If there are any FILTERs, only those MATCHes would be returned.
The PLAYER can also create a MATCH of their own. This would be done through a separate screen. They can specify the LEVEL, MODE, max number of PLAYERs, and whether or not it's PRIVATE. A PRIVATE MATCH requires a password to join. I'm thinking of also adding a HIDDEN option as well. This would keep the MATCH from showing up in the list of matches. The only way to join would be through the FRIEND's list. If your FRIEND is currently in a HIDDEN MATCH then you would select the FRIEND and join their match. This is more inline with how FP handles matchmaking now; all matches are hidden until you pick a friend, though they may or may not be password protected.
When a PLAYER creates a match, they are considered the LEADER of the MATCH. The LEADER will have limited admin rights such as WARN another PLAYER, EXPEL a PLAYER from the match, BAN a PLAYER from the MATCH, and RESET the MATCH. I'm thinking of also allowing the LEADER to select PLAYERs for each team at the start of a MATCH, though not sure how that would work out yet.
When a PLAYER is WARNed, they'll receive a visual notification of the warning. If a PLAYER receives 3 WARNings, the will be BANned from the MATCH and no longer allowed to rejoin. WARNings are a way to (hopefully) discourage bad behavior without resorting to BANning.
A LEADER can also EXPEL a player from a MATCH at anytime. This method could be used when the LEADER believes that another PLAYER is idling and taking up space. By EXPELing the PLAYER, a PLAYER slot becomes available. EXPELed players can rejoin the MATCH if they want to.
BANning results in a player being EXPELed without the option to rejoin.
RESETing a MATCH brings everyone back to the PREMATCH screen and restarts the MATCH from the beginning.
To be continued...