Skybite: Functional Requirements Specification

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.

1. Introduction

1.1 Purpose

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").

1.2 Scope

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.

1.3 Intended audience

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.

1.4 Definitions

TermMeaning
SceneOne of the six games: Survival, Balloon Climb, Monkey Memory, Sky Bridge, Monkey Whack, Shrinking Land
RunOne attempt at a scene, from the start until the player loses
BestThe scene's record on this phone: the longest time, or the most found (Monkey Memory) or the greatest height (Balloon Climb)
Locked sceneSky Bridge, Monkey Whack or Shrinking Land before it has been unlocked (Balloon Climb instead of Shrinking Land before 1.0.2)
GearThe settings button shown during a run
House bannerA banner for one of our own apps, shown in the ad space when no ad is available
Host / joining phoneIn Versus, the phone that runs the game, and the phone that connects to it

1.5 Requirement conventions

2. Overall description

2.1 Operating environment

2.2 Constraints

#Constraint
C-1No account of the game's own. The only sign-in is Google Play Games, offered only on the RANKINGS screen (FR-RNK-02).
C-2Scores, 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-3No iOS version.
C-4Nothing stands between a game over and the next run except one tap: no menu, no ad, no prompt.
C-5No difficulty setting. Every scene keeps getting harder; a long survival is meant to be rare.

2.3 The scenes

SceneLockEndsBest is
SurvivalOpenWhen the player is hitTime survived
Balloon ClimbOpen (Video ad before 1.0.2)When the last balloon popsHeight in metres
Monkey MemoryOpenWhen the 3 coconut lives are goneCharacters found
Shrinking LandVideo ad (Open before 1.0.2)When hit or fallen, or cleared at 10:00Time survived
Monkey WhackVideo adWhen the 3 coconuts are goneTime survived
Sky BridgeVideo adWhen hit or fallenTime survived

3. Functional requirements

3.1 Home and navigation: FR-NAV

IDRequirementPriority
FR-NAV-01The 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-02SINGLE PLAYER shall open the SCENES list.M
FR-NAV-03On 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-04The launch shall show the monkey on a dark green background, with no white or black flash, straight through to the home page.S

3.2 The SCENES list: FR-SCN

IDRequirementPriority
FR-SCN-01The list shall show the six scenes in the order of 2.3, each as a button marked PLAY or UNLOCK.M
FR-SCN-02Under each scene the list shall show its best on this phone, and a tutorial switch.M
FR-SCN-03A 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-04Watching the ad to the end shall unlock that scene permanently and open it.M
FR-SCN-05Closing the ad before the end shall unlock nothing and say so ("closed before the end - watch it all to unlock").M
FR-SCN-06When 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-07Unlocking 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-08The 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

3.3 Tutorials: FR-TUT

IDRequirementPriority
FR-TUT-01The first run of each scene shall teach itself with prompts over the real game, never a separate screen before it.M
FR-TUT-02Every tutorial shall offer SKIP. Finishing or skipping it shall turn that scene's tutorial switch off, and only that scene's.M
FR-TUT-03Turning a scene's switch back on shall give the lesson again on its next run.S
FR-TUT-04During 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

3.4 Every run: FR-RUN

IDRequirementPriority
FR-RUN-01Every run shall show a gear opening SETTINGS with Background music, Sound effects, RESUME and BACK TO SCENES.M
FR-RUN-02In 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-03The 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-04BACK TO SCENES shall leave the run without recording it and open the SCENES list.M
FR-RUN-05A 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-06The game-over screen shall offer SCENES and SHARE.M
FR-RUN-07SHARE 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-08A new best shall be saved and shown on the SCENES list. Bests survive closing the game.M
FR-RUN-09In 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-10Survival'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

3.5 Survival: FR-SUR

IDRequirementPriority
FR-SUR-01The 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-02Animals shall fall carrying 1 to 3 balloons; each arrow shall pop exactly one.M
FR-SUR-03An 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-04Holding FIRE and sliding to SPECIAL (or between UP and DOWN) without lifting shall switch buttons, the way a physical pad does.M
FR-SUR-05At 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-06At 7:30 a storm shall begin, striking rows with a visible warning first; at 12:30 a rival monkey shall appear.S
FR-SUR-07The countdown on the HUD shall count down to the next change (first at 2:30) and turn red in its last 10 seconds.C

3.6 Shrinking Land: FR-SHR

IDRequirementPriority
FR-SHR-01The 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-02Every 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-03An animal reaching the player shall end the run.M
FR-SHR-04Power-ups shall appear on the land once a minute; walking onto one takes it and removes the others.S
FR-SHR-05A player who stands still too long shall be targeted by the monkey's coconut, with its landing spot marked first.S
FR-SHR-06Surviving to 10:00 shall clear the scene.M

3.7 Monkey Memory: FR-MEM

IDRequirementPriority
FR-MEM-01Each board shall show its characters, then hide each under a leaf; the leaves shall drift.M
FR-MEM-02The monkey shall call one character at a time with a time bar; tapping its leaf scores it.M
FR-MEM-03A wrong tap, or running out of time, shall cost one of 3 coconut lives and show where the right one was.M
FR-MEM-04REVEAL, 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-05Boards shall get bigger and faster, and never end; the best is the number of characters found.M

3.8 Sky Bridge: FR-BRG

IDRequirementPriority
FR-BRG-01Sliding 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-02An 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-03Every 8 kills shall mend the broken plank nearest the player.S
FR-BRG-04The 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

3.9 Monkey Whack: FR-WHK

IDRequirementPriority
FR-WHK-01Animals shall pop up from twelve holes; whacking the one on the monkey's sign scores it.M
FR-WHK-02Whacking 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-03The 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-04From 0:40 some calls shall be "NOT THIS ONE!": hit anything except the animal shown.M
FR-WHK-05From 1:00 a rival monkey shall pop up too, and shall never be the right answer.S

3.10 Balloon Climb: FR-CLB

IDRequirementPriority
FR-CLB-01Sliding 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-02The 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-03More balloons shall climb faster and make the bunch wider.S
FR-CLB-04Coconuts 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-05The 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

3.11 Versus over Wi-Fi: FR-VS

IDRequirementPriority
FR-VS-01VERSUS 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-02When 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-03Both 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-04When 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-05If 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

3.12 Settings: FR-SET

IDRequirementPriority
FR-SET-01The home page SETTINGS shall offer Background music and Sound effects as separate switches, remembered after closing the game.M
FR-SET-02Turning music off shall not silence the game's sound effects, and the other way round.M
FR-SET-03SETTINGS shall open the Privacy Policy and Terms in the phone's browser.M
FR-SET-04RATE 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-05SETTINGS 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

3.13 Ads and consent: FR-ADS

IDRequirementPriority
FR-ADS-01A 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-02Closed-testing builds shall show only Google test ads, labelled "Test Ad".M
FR-ADS-03Before 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-04Refusing consent shall not block any part of the game.M
FR-ADS-05Users who saw a consent form shall have AD PRIVACY CHOICES in SETTINGS, reopening it.M
FR-ADS-06When 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-07Starting the game without internet and connecting later shall bring the banner back without restarting the game.S
FR-ADS-08No 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

3.14 Online rankings: FR-RNK (1.0.5)

IDRequirementPriority
FR-RNK-01RANKINGS 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-04Tabs 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-05A 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-07FRIENDS shall first offer ALLOW FRIENDS, opening Google's own permission window; nothing about friends is shown until the player agrees.S
FR-RNK-08For 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

4. Non-functional requirements

IDRequirementPriority
NFR-01No crash or freeze during normal play on Android 7.0 or newer.M
NFR-02All 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-03A new run shall start immediately after the tap; nothing shall wait on the network.M
NFR-04Controls shall respond to every press, with two thumbs at once.M
NFR-05Nothing 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

5. Out of scope for version 1

6. Revision history

VersionDateChange
1.02026-10-23First version, for closed testing of version code 1, including Balloon Climb's 1.0.1 volleys.
1.12026-10-24The 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.22026-10-261.0.2: SEND FEEDBACK (FR-SET-06); Balloon Climb free and Shrinking Land locked (2.3, FR-SCN-07a).
1.32026-11-03Online 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.42026-11-07From 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.52026-11-09The 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).
Tester guide Privacy Policy