Working on a character color select screen as of now. Since I only have one character sprite right now, sometimes players have trouble figuring out which "side" they are on when the game starts, which usually ends with the first round having them just randomly firing and figuring out which player they represent on screen (this is due to Unity's sometimes random assignment of controller ports to actual player numbers).
So I've decided to solve this (at least temporarily) by having the players select a character color before going in to the game. It's a veiled attempt to get them to just verify what side they are on before the game starts, sure, but it also let's them customize their character, even just a little bit. In the future, I'll have multiple character sprites to choose from, so this code will not go to waste.
Here's the menu flow.
Might as well talk about a few of the options contained in my menu for now.
Right now the game is separated into two distinct modes:
- Endless Mode - Here, players just continue playing endless rounds on random stages until they decide to quit. The stage list it draws from is about 30, containing some stages that are a little too crazy for "regular" point-based mode (combining many obstacles and hazards at once, for example). It still keeps score, but it's purely a for fun or even practice type mode for two players.
- Classic Mode - This mode consists of (ideally) 7 rounds where players compete for the most points on at seven stages. Within classic mode, players have the option of choosing from a stage list (list of seven base stages to compete on), that all contain different stages with different hazards and obstacles with limited overlap. Players can also choose what kind of scoring they want the game to use here.
For scoring, I have two distinct "systems" for scoring. First off, rounds begin on a new stage and players score a point from winning on a stage (shooting the other player). After a point is scored, the next round begins on a different stage. This continues until one player has enough points to win the entire game.
The two scoring systems I have are:
- One is your typical best-of-seven system that, at the end of seven rounds just gives the win the the player who has the most point. Of note, the game does not end immediately when a player reaches four points, it just continues for seven rounds, even if the other player has no chance to come back. This is a problem I've fiddled with a lot, but I generally like to give players the ability to play on every stage they've selected, or else they just might never get a chance to play on the later stages in a list.
- The other scoring system is a tennis-similar advantage based scoring where the winning player must win by at least two points, with a minimum of 5 points to win the entire game. Starting at 4-4, players go into deuce similar to tennis. Gaining a point here gives a player the advantage, and winning another point awards them the game. If at any time the other player scores while their opponent has the advantage, the game goes back to deuce. Even though there are 7 "set" stages for advantage scoring, once the allotted stage list runs out (this is only possible if deuce is achieved) stages begin to be selected randomly until a winner is determined.
Although that second scoring system seems convoluted in explanation, it seems to be extremely intuitive to players in my playtests, albeit occasionally taking them one game to fully get. The other fun thing about advantage scoring is it allows the (completely optional) intensity modifier that makes everything faster on each consecutive round after the first deuce. Generally makes games end faster, but also makes them more and more well intense as they go.
Anyway, those are the current game modes and such in A Quick Death. I'm happy with the amount of options I have, even though they don't sound like too many. My other big "mode" addition is going to be a Hero Mode that gives each player a set of special abilities they can use throughout a game activated by building a gauge from round to round. I have a lot of this implemented in code already, but I need to get new sprites for each individual hero. I think my next update I'll focus on some design of what I have for my hero characters, if there's any interest in that.