Product: Skybite (Android)
Applies to: 1.0.0, version code 1 and later · package com.sventlasic.skybite
Document version: 1.5 · 2026-11-09
Status: Baseline for closed testing
Reading a saved or printed copy? Check the document version above against https://sventlasic.github.io/skybite/frs.html before reporting a finding.
This document lists what the game is required to do, so that testers can check its behaviour against a written baseline. Every requirement has a unique ID; quote it when reporting a finding (for example "FR-RUN-03 fails: my thumb was still on FIRE and it restarted").
Skybite is a free Android arcade game of six survival scenes, each getting harder until the player loses, plus a two-phone Versus mode over local Wi-Fi. There is no account of the game's own, no paid tier and no server: scores and settings stay on the device, and the game is funded by a banner ad and by an optional video ad that unlocks a scene. The one exception is the optional online rankings (1.0.5), which run through Google Play Games for players who sign in to it from RANKINGS.
Testers, the developer, and anyone checking that the game is complete. Section 3 is the part to test; Sections 2 and 4 give the context needed to judge whether behaviour is correct.
| Term | Meaning |
|---|---|
| Scene | One of the six games: Survival, Balloon Climb, Monkey Memory, Sky Bridge, Monkey Whack, Shrinking Land |
| Run | One attempt at a scene, from the start until the player loses |
| Best | The scene's record on this phone: the longest time, or the most found (Monkey Memory) or the greatest height (Balloon Climb) |
| Locked scene | Sky Bridge, Monkey Whack or Shrinking Land before it has been unlocked (Balloon Climb instead of Shrinking Land before 1.0.2) |
| Gear | The settings button shown during a run |
| House banner | A banner for one of our own apps, shown in the ad space when no ad is available |
| Host / joining phone | In Versus, the phone that runs the game, and the phone that connects to it |
| # | Constraint |
|---|---|
| C-1 | No account of the game's own. The only sign-in is Google Play Games, offered only on the RANKINGS screen (FR-RNK-02). |
| C-2 | Scores, settings and unlocks are stored on the device. Only a player signed in to Play Games sends results anywhere: to Google's rankings (FR-RNK-08). |
| C-3 | No iOS version. |
| C-4 | Nothing stands between a game over and the next run except one tap: no menu, no ad, no prompt. |
| C-5 | No difficulty setting. Every scene keeps getting harder; a long survival is meant to be rare. |
| Scene | Lock | Ends | Best is |
|---|---|---|---|
| Survival | Open | When the player is hit | Time survived |
| Balloon Climb | Open (Video ad before 1.0.2) | When the last balloon pops | Height in metres |
| Monkey Memory | Open | When the 3 coconut lives are gone | Characters found |
| Shrinking Land | Video ad (Open before 1.0.2) | When hit or fallen, or cleared at 10:00 | Time survived |
| Monkey Whack | Video ad | When the 3 coconuts are gone | Time survived |
| Sky Bridge | Video ad | When hit or fallen | Time survived |
| ID | Requirement | Priority |
|---|---|---|
| FR-NAV-01 | The game shall open on the home page, showing SKYBITE, SINGLE PLAYER, VERSUS BATTLE (LAN), RANKINGS (on phones with Google Play Games) and SETTINGS, with no sign-in, no Play Games sheet and no age question in front of it (1.0.7; see FR-RNK-02). | M |
| FR-NAV-02 | SINGLE PLAYER shall open the SCENES list. | M |
| FR-NAV-03 | On the home page, pressing Back once shall show "Press back again to exit"; a second press within 2 seconds shall close the game. | S |
| FR-NAV-04 | The launch shall show the monkey on a dark green background, with no white or black flash, straight through to the home page. | S |
| ID | Requirement | Priority |
|---|---|---|
| FR-SCN-01 | The list shall show the six scenes in the order of 2.3, each as a button marked PLAY or UNLOCK. | M |
| FR-SCN-02 | Under each scene the list shall show its best on this phone, and a tutorial switch. | M |
| FR-SCN-03 | A locked scene shall read "- LOCKED" and say, before it is tapped, that it plays a short ad: "watch a short ad to the end - unlocks it for good". | M |
| FR-SCN-04 | Watching the ad to the end shall unlock that scene permanently and open it. | M |
| FR-SCN-05 | Closing the ad before the end shall unlock nothing and say so ("closed before the end - watch it all to unlock"). | M |
| FR-SCN-06 | When no ad can be loaded although the phone is online, the list shall say how many tries are left; after three such failed tries for a scene, that scene shall unlock free. | M |
| FR-SCN-06a (1.0.1) | With no internet connection, the list shall say "no internet connection - connect and try again", and the try shall not count toward the free unlock. | M |
| FR-SCN-07 | Unlocking one scene shall not unlock the others. | M |
| FR-SCN-07a (1.0.2) | A player who unlocked Balloon Climb, or has played Shrinking Land, before 1.0.2 shall find Shrinking Land unlocked, with no ad. | M |
| FR-SCN-08 | The whole list, and BACK, shall be reachable without anything sitting under the banner ad, on small phones too. | M |
| FR-SCN-09 (1.0.1) | While the ad loads, a "LOADING THE AD..." panel shall cover the list, so no other scene can be started, with a bar and "giving up in N seconds" counting down from 20. CANCEL, or the phone's Back button, shall close it at once; cancelling is not a failed try. | M |
| FR-SCN-09a (1.0.1) | When no reward came, the panel shall say why (NO AD RIGHT NOW with the tries left, NO INTERNET, CLOSED EARLY) and offer TRY AGAIN and BACK; on the third failed try it shall say IT'S OPEN and offer PLAY. | M |
| FR-SCN-10 (1.0.1) | An ad that finishes loading after CANCEL shall never be shown. No video ad shall ever appear during a run. | M |
| FR-SCN-11 (1.0.1) | A video watched to the end shall unlock its scene even if the player is no longer on the SCENES list when it ends. | M |
| ID | Requirement | Priority |
|---|---|---|
| FR-TUT-01 | The first run of each scene shall teach itself with prompts over the real game, never a separate screen before it. | M |
| FR-TUT-02 | Every tutorial shall offer SKIP. Finishing or skipping it shall turn that scene's tutorial switch off, and only that scene's. | M |
| FR-TUT-03 | Turning a scene's switch back on shall give the lesson again on its next run. | S |
| FR-TUT-04 | During the first lessons of a tutorial the wave shall wait, and a hit shall cost nothing. | S |
| FR-TUT-05 (1.0.1) | In Survival's first lessons the roof monkey shall stay on the roof, however long the player stands still. | M |
| FR-TUT-06 (1.0.1) | The first time the monkey winds up a bite on the player's row during a Survival tutorial, the game shall freeze with "MOVE UP OR DOWN!", and one step up or down shall resume it, the bite missing. | M |
| FR-TUT-07 (1.0.1, all scenes 1.0.8) | If a run ends during a tutorial, in any scene, the lesson's words and its SKIP button shall not stay over the game-over screen. | S |
| ID | Requirement | Priority |
|---|---|---|
| FR-RUN-01 | Every run shall show a gear opening SETTINGS with Background music, Sound effects, RESUME and BACK TO SCENES. | M |
| FR-RUN-02 | In Survival, Shrinking Land, Sky Bridge and Balloon Climb the gear shall pause the run. In Monkey Memory and Monkey Whack it shall not pause: it shall cover the board completely and say the game is still running. | M |
| FR-RUN-03 | The settings screen shall close by itself if the run ends while it is open. | M |
| FR-RUN-03a (1.0.7) | Leaving the game mid-run (Home, a call, a notification, switching apps) shall pause the run, exactly as the gear does, in every scene the gear pauses; coming back shows the settings screen with RESUME. In Monkey Memory and Monkey Whack the clock is the challenge and keeps running (FR-RUN-02). | M |
| FR-RUN-04 | BACK TO SCENES shall leave the run without recording it and open the SCENES list. | M |
| FR-RUN-05 | A game over shall show the result and the best, and a tap anywhere shall start the next run straight away. A tap in the first moment after the loss (a thumb still on the screen) shall not count. | M |
| FR-RUN-05a (1.0.5) | Every game-over screen shall say TAP ANYWHERE TO PLAY AGAIN on its own line, above SCENES and SHARE, in green, pulsing gently. | M |
| FR-RUN-06 | The game-over screen shall offer SCENES and SHARE. | M |
| FR-RUN-07 | SHARE shall open the phone's share menu with a line naming the scene, the result and the best, plus the Play Store link. The game shall send nothing itself. | M |
| FR-RUN-08 | A new best shall be saved and shown on the SCENES list. Bests survive closing the game. | M |
| FR-RUN-09 | In Survival, Back during a run shall do nothing. In the other scenes, Back during a run shall need a second press within 2 seconds to leave. | S |
| FR-RUN-10 | Survival's game over shall name what killed the player (for example "killed by boar"). | C |
| FR-RUN-11 (1.0.7) | Survival's game over shall name both of its bests: best score (points) and, on the survived line, the best time. The SCENES list and the rankings use the time. | S |
| FR-RUN-12 (1.0.8) | Nothing that moves in the game shall be drawn over the time, the score line or the gear: in Sky Bridge and Balloon Climb they sit on a solid strip that animals and pickups come out from under. | S |
| ID | Requirement | Priority |
|---|---|---|
| FR-SUR-01 | The player shall move one row at a time with UP / DOWN and shoot along the row with FIRE, and charge-shoot with SPECIAL. | M |
| FR-SUR-02 | Animals shall fall carrying 1 to 3 balloons; each arrow shall pop exactly one. | M |
| FR-SUR-03 | An animal that lands shall take the block beside the player, and that block shall bite periodically; a bite kills only if the player is in that row. | M |
| FR-SUR-04 | Holding FIRE and sliding to SPECIAL (or between UP and DOWN) without lifting shall switch buttons, the way a physical pad does. | M |
| FR-SUR-05 | At 2:30 the field shall turn to ice, and at 3:45 the player shall be asked to choose a tower or an archer as an ally. | S |
| FR-SUR-06 | At 7:30 a storm shall begin, striking rows with a visible warning first; at 12:30 a rival monkey shall appear. | S |
| FR-SUR-07 | The countdown on the HUD shall count down to the next change (first at 2:30) and turn red in its last 10 seconds. | C |
| ID | Requirement | Priority |
|---|---|---|
| FR-SHR-01 | The left stick shall walk and the right stick shall aim and fire in its direction; each stick centres where the thumb lands. | M |
| FR-SHR-02 | Every minute the outer ring of the land shall flash red for 3 seconds and then fall; standing on it when it falls ends the run. | M |
| FR-SHR-03 | An animal reaching the player shall end the run. | M |
| FR-SHR-04 | Power-ups shall appear on the land once a minute; walking onto one takes it and removes the others. | S |
| FR-SHR-05 | A player who stands still too long shall be targeted by the monkey's coconut, with its landing spot marked first. | S |
| FR-SHR-06 | Surviving to 10:00 shall clear the scene. | M |
| ID | Requirement | Priority |
|---|---|---|
| FR-MEM-01 | Each board shall show its characters, then hide each under a leaf; the leaves shall drift. | M |
| FR-MEM-02 | The monkey shall call one character at a time with a time bar; tapping its leaf scores it. | M |
| FR-MEM-03 | A wrong tap, or running out of time, shall cost one of 3 coconut lives and show where the right one was. | M |
| FR-MEM-04 | REVEAL, NARROW and WHISPER shall each be usable once, only while the monkey is calling, and all three shall come back every 5 boards. | M |
| FR-MEM-05 | Boards shall get bigger and faster, and never end; the best is the number of characters found. | M |
| ID | Requirement | Priority |
|---|---|---|
| FR-BRG-01 | Sliding a thumb left or right anywhere below the top quarter of the screen shall walk the player (the strip under the bridge is only where the pad is drawn); the bow shall fire straight up on its own. | M |
| FR-BRG-02 | An animal landing on a plank shall break it; the player shall not be able to walk onto a gap; a plank breaking under the player ends the run. | M |
| FR-BRG-03 | Every 8 kills shall mend the broken plank nearest the player. | S |
| FR-BRG-04 | The monkey shall appear at 0:10 and throw a coconut every few seconds from 0:15, its landing spot marked first; a hit ends the run. | M |
| FR-BRG-05 (1.0.8) | At either end of the bridge the player shall stop with the whole character on screen. | S |
| ID | Requirement | Priority |
|---|---|---|
| FR-WHK-01 | Animals shall pop up from twelve holes; whacking the one on the monkey's sign scores it. | M |
| FR-WHK-02 | Whacking the wrong one, or letting the called one get away, shall cost one of 3 coconuts; every 15 good whacks shall give one back. | M |
| FR-WHK-03 | The call shall change on its own, faster over time; for a moment after a change, whacking the old call shall cost nothing. | M |
| FR-WHK-04 | From 0:40 some calls shall be "NOT THIS ONE!": hit anything except the animal shown. | M |
| FR-WHK-05 | From 1:00 a rival monkey shall pop up too, and shall never be the right answer. | S |
| ID | Requirement | Priority |
|---|---|---|
| FR-CLB-01 | Sliding a thumb anywhere in the lower three quarters of the screen shall steer; a slide that starts in the top quarter shall do nothing. | M |
| FR-CLB-02 | The run shall start with 5 balloons. Anything touching the bunch shall pop one; a gold + balloon shall add one, up to 7; the last one gone ends the run. | M |
| FR-CLB-03 | More balloons shall climb faster and make the bunch wider. | S |
| FR-CLB-04 | Coconuts shall come from 0:20, each lane marked red before it falls; storm clouds from 1:00, popping a balloon every second the bunch is inside one. | M |
| FR-CLB-05 | The score shall be height in metres, and the run shall never end on its own. | M |
| FR-CLB-06 (1.0.1) | From 7:00 the monkey shall throw several coconuts at once: 2, then 3 at 8:00, then 4 at 9:00. One lane shall always be left free, the player's own lane shall always be hit, and only the free lane shall look free. | M |
| FR-CLB-07 (1.0.1) | From 10:00 the throws shall come sooner every minute, but never closer together than 1 second. | S |
| ID | Requirement | Priority |
|---|---|---|
| FR-VS-01 | VERSUS BATTLE (LAN) shall let one phone HOST A RUN and another JOIN A RUN on the same Wi-Fi, listing phones that are hosting. | M |
| FR-VS-02 | When the list stays empty, the joining phone shall be able to TYPE AN ADDRESS instead, on the number keyboard. An empty or malformed address shall be answered under the box, keeping what was typed, without leaving the screen (1.0.7). | S |
| FR-VS-03 | Both phones shall play the same wave. An arrow into the animal row shall push the animal toward the other player; an arrow reaching the other player shall stun them briefly, never kill. | M |
| FR-VS-04 | When one player dies, both phones shall show PLAY AGAIN? with YES / NO and a 30-second countdown. Both YES restarts both; a NO, or the time running out, sends both home. | M |
| FR-VS-05 | If the other phone leaves or loses Wi-Fi during a run, the run shall end as that player's loss; if it goes while PLAY AGAIN? is showing, the prompt shall end at once rather than wait out its countdown. Neither shall crash the remaining phone. | M |
| ID | Requirement | Priority |
|---|---|---|
| FR-SET-01 | The home page SETTINGS shall offer Background music and Sound effects as separate switches, remembered after closing the game. | M |
| FR-SET-02 | Turning music off shall not silence the game's sound effects, and the other way round. | M |
| FR-SET-03 | SETTINGS shall open the Privacy Policy and Terms in the phone's browser. | M |
| FR-SET-04 | RATE SKYBITE shall open the game's page in the Google Play app, even on phones whose maker has its own store (1.0.7), or on the Play website if the Play app is missing. The game shall never ask for a rating on its own. | S |
| FR-SET-05 | SETTINGS shall show the game version at the bottom. | C |
| FR-SET-06 (1.0.2) | SEND FEEDBACK, beside RATE SKYBITE, shall open the phone's email app with a message to nevssupplies+skybite@gmail.com, its subject and body already naming the game version, the phone model and the Android version (as "Android 14 (API 34)" from 1.0.7), placed at the top of the message. Nothing shall be sent until the player sends it. | S |
| ID | Requirement | Priority |
|---|---|---|
| FR-ADS-01 | A banner shall show at the top of the screen, in a space kept free for it, so that nothing playable or tappable sits under it. | M |
| FR-ADS-02 | Closed-testing builds shall show only Google test ads, labelled "Test Ad". | M |
| FR-ADS-03 | Before any ad is requested, the game shall run Google's consent check; users in the EEA, UK and Switzerland see a consent form on first launch. Everyone else sees no dialog. | M |
| FR-ADS-04 | Refusing consent shall not block any part of the game. | M |
| FR-ADS-05 | Users who saw a consent form shall have AD PRIVACY CHOICES in SETTINGS, reopening it. | M |
| FR-ADS-06 | When no ad can be shown, the space shall show a banner for one of our other apps, marked OUR APP, and never for Skybite itself. | S |
| FR-ADS-07 | Starting the game without internet and connecting later shall bring the banner back without restarting the game. | S |
| FR-ADS-08 | No ad shall ever play between a game over and the next run; the only video ad is the one the player chooses on the SCENES list. | M |
| ID | Requirement | Priority |
|---|---|---|
| FR-RNK-01 | RANKINGS on the home page shall open the rankings inside the game, with the banner still showing. On a phone without Google Play Games the button shall not appear. | M |
| FR-RNK-02 (1.0.7) | The game shall not contact Play Games until the player first taps RANKINGS; only then may Google's own sign-in or "Select a Play Games profile" sheet appear. After a player has signed in once, the game checks quietly at each launch, showing nothing. | M |
| FR-RNK-03 (1.0.7) | Cancelling Google's sheet shall leave RANKINGS offering SIGN IN TO PLAY GAMES, with no error message. | S |
| FR-RNK-04 | Tabs shall choose the scene (six), the period (ALL TIME / WEEK) and who (EVERYONE / FRIENDS). The screen opens on Survival, All time, Everyone. WEEK restarts weekly on Google's schedule (Sunday 3 PM Philippine time). | M |
| FR-RNK-05 | A board shall list the top 10 with place, Play Games name and result; times read as minutes:seconds, Memory as boards found, Climb as metres. The player's own row shall be gold. When the player is not in the top 10, a "· · ·" gap and the players around them shall follow, and no one shall appear twice. | M |
| FR-RNK-06 (1.0.6) | Beside the title, the screen shall say playing as the Play Games name in use and "change it in the Play Games app". | S |
| FR-RNK-07 | FRIENDS shall first offer ALLOW FRIENDS, opening Google's own permission window; nothing about friends is shown until the player agrees. | S |
| FR-RNK-08 | For a signed-in player, every finished run shall be sent to that scene's board, and the game-over screen shall show the player's place ("#57 worldwide") when Google answers. A player who is not signed in sends nothing and plays exactly the same. | M |
| ID | Requirement | Priority |
|---|---|---|
| NFR-01 | No crash or freeze during normal play on Android 7.0 or newer. | M |
| NFR-02 | All text readable and nothing cut off or hidden under the camera cutout, the banner or Android's navigation bar, on small phones and on tablets. | M |
| NFR-03 | A new run shall start immediately after the tap; nothing shall wait on the network. | M |
| NFR-04 | Controls shall respond to every press, with two thumbs at once. | M |
| NFR-05 | Nothing about the player leaves the device apart from what the ads SDK sends and, for a player signed in to Play Games, their results (see the Privacy Policy). | M |
| Version | Date | Change |
|---|---|---|
| 1.0 | 2026-10-23 | First version, for closed testing of version code 1, including Balloon Climb's 1.0.1 volleys. |
| 1.1 | 2026-10-24 | The ad unlock on a slow or missing connection (1.0.1): FR-SCN-06 narrowed to failures while online; FR-SCN-06a, 09, 09a, 10 and 11 added. Survival's tutorial and the monkey (1.0.1): FR-TUT-05, 06 and 07 added. |
| 1.2 | 2026-10-26 | 1.0.2: SEND FEEDBACK (FR-SET-06); Balloon Climb free and Shrinking Land locked (2.3, FR-SCN-07a). |
| 1.3 | 2026-11-03 | Online rankings (1.0.5-1.0.7): new section 3.14 FR-RNK; FR-NAV-01, C-1, C-2, NFR-05, scope and out-of-scope updated. TAP ANYWHERE TO PLAY AGAIN (FR-RUN-05a). From QA's 2026-11-02/03 report: leaving the game mid-run pauses it (FR-RUN-03a), no Play Games sheet at launch (FR-NAV-01, FR-RNK-02, 03), RATE SKYBITE always opens Google Play (FR-SET-04), Survival names both bests (FR-RUN-11), the feedback mail (FR-SET-06), the typed address (FR-VS-02), and FR-BRG-01 corrected to match the game. |
| 1.4 | 2026-11-07 | From QA's 2026-11-07 retest (1.0.8): a lesson's words and SKIP leave the game-over screen in every scene (FR-TUT-07); Shrinking Land's SHOOT IT animal appears on the far side of the player, and being caught during the first lessons costs nothing (FR-TUT-04); a solid strip behind the HUD in Sky Bridge and Balloon Climb (new FR-RUN-12); the player stays on screen at the ends of the bridge (new FR-BRG-05). |
| 1.5 | 2026-11-09 | The scenes list order: Shrinking Land is now 4th and Sky Bridge 6th (2.3). Both are still locked behind a video ad. Shrinking Land's SHOOT IT lesson now says to drag the right thumb the way you want to shoot (it said "hold", but holding still fires nothing). |