jumpy
jumpy copied to clipboard
Map Rotation Flow
After one fish is left standing, move on to another pseudo-randomly selected level.
Partially outdated notes:
After one of the default maps have been played 3 times, go to one of the next maps. Next map is pseudo-randomly selected; if a map hasn't been selected in a while we'll start prioritizing it.
Some of the hardcoded behavior herein will be replaced by player-determined selection of some hand-picked or randomized levels bundle.
What is the game finish criteria?
We don't currently have a score or anything. Will that eventually be something that we put in the match setup menu in a settings section or something like that. Like a "points to win"?
A single 'map' or 'round' concludes when one (sometimes zero, meaning a draw) player is left standing.
I'll throw in an additional mini-spec here, adopted from Duck Game: As soon as only 1 player remains, start a 3-second countdown. If the remaining player is still alive after the countdown, they win the round.
Yeah, we will have a basic tournament and points system in place for v1.0.
Probably best to simply mimic the DG scoring system, starting with hardcoded default off ‘first to 15 points, breaks every 7 points’ (a saner default would be longer, but best to keep it shorter while we’re light on content).
We’ll need some aquatic themed score board art assets, but we could start with a simple GUI screen.
Gonna add some feature tracking here for my own reference / review from others. Using term "Match" for collection of rounds / whole game flow, and "Round" for single death-match until all players die.
Score Tracking
- [x] Track match score per player (rounds won in match)
- [x] On 1 or fewer players left, start round end timer. If one player alive, assign score
- [x] Visual feedback on player won round (+1 popup)
Round Transitions
- [x] Game selects next map after round (pseudo-random for now) and loads it
Match End
- [ ] Score screen, celebrate winner
- [x] First pass of just showing score on menu
- [ ] UI flow to leave game or play again
- [x] Player's ready up to restart?
- [ ] Enter player select / match setup flow to change hats / skin or game settings (or a quick play skipping this?)
Polish tasks (2nd pass polish / future features)
- [x] Sound effect for player winning round
- [ ] Camera zoom in on player winning round
- [ ] Polish map transition
- [ ] Smooth and quick fade to black
- [ ] Count down ...3.2.1 to start / make sure players get heads up it's go time
- [ ] UI for selecting pool of maps
- [ ] Some sort of break halfway through match
- [x] First pass just a menu racking score / determining if match is complete
- silly minigame? scoring animation like DG? some sort of brief and skippable (if unanimous) intermission?
Long Term Multiplayer Stuff (Hook into online backend)
- [ ] On match completion, log a match win on player profile for stats.
- [ ] Save match for review in history somewhere, to find players played with, or review game replay (if we do this), etc.
- [ ] On win screen allow adding players to friends (if we have our own friends list type deal)
One thing will need to sort out is handling a tie.
I think duck game does a tie breaking round with only tied players contending for the win. Single round breaks tie, and repeats if both players die and neither win the round. We may also consider having special tie breaker map(s), but is not required.
For first pass I am going to just have the game continue on tie. One of the requirements for implementing this will be allowing next round to have the players not competing in tie be spectators. This is not something we currently support, but is a feature in GGRS and hopefully will not be too bad to get setup.
The default tie-breaker in DG is a best-of-one. I never enjoyed this, because getting a tie Is an exceedingly rare event (like 1/100) and it feels very anticlimactic to settle a session of 50++ matches with a single decider match.
Better to add a whole round more. Players could also make draws happen more frequently by playing with ping pong style rules of having to win with more than 1 point.
The next set of rounds should include all players? (losers can make come back) or just the ones tied? I kind of like having everyone included, and that is that is how it currently is setup.
Yeah include everyone 👍