Render at lower resolution and upscale. Significant performance boost at cost of visual sharpness.
Disables emissive glow, transparency, additive blending, and special fish shaders.
Baked seafloor, structure, and fish-cast shadows. Off disables all shadows; higher levels increase shadow detail.
Disables ripple-based propulsion, wave flapping, pulse scaling, and opacity of swimming text.
Maximum splash particle pool size. Higher values support more simultaneous fish splashes.
Wave-driven light patterns on the seafloor.
Simple: Straight wave crests, no physics/visual mismatch. Complex: Organic warped crests. Mostly aesthetic, minimal performance impact.
Caps maximum framerate — it can only lower the rate, never raise it. Your display's refresh rate is the real ceiling, so a value at or above it (e.g. 120 or 144 on a 60Hz screen) has no effect and behaves the same as your refresh rate. Use a lower value to save power and reduce performance spikes.
Distance-based level of detail and culling for NPC fish. Past detail distance, fish drop their dorsal + pectoral fins (4→2 draw calls) and skip body kink-smoothing; past cull distance, fish are fully hidden. Disable to render all fish at full detail.
Distance from camera where NPC fish switch to simplified models (solid color, no tail).
Distance from camera where NPC fish are hidden entirely. Reduces draw calls for distant fish.
Off (default): Maintains real-time speed during frame drops. On: Slows simulation when frames drop below target — intended as a last-resort accessibility option for severely low-end hardware, or for experiencing the game in slow motion.
Hold: Release to close. Toggle: Press again to close.
Hold: Release to close. Toggle: Press again to close.
Closing the wheel with its button while a wedge is hovered toggles that wedge — on release in Hold mode, on the closing press in Toggle mode.
Click a wedge to toggle its state and close the wheel.
Always shows health on every change. Quaternary shows at 25% intervals.
How smoothly the camera follows the player. 0.2 = default, 0.1 = minimum (near-instant), 1.5 = extra smooth. Affects camera position, tilt, and mode transitions.
Camera field of view in degrees. 50 = default. Lower = zoomed in, higher = wider perspective.
(Mouse, Touch & Gamepad) How much input is needed to switch lock-on targets. Lower = more sensitive (easier to switch), Higher = less sensitive.
While locked on, raises the camera so your character sits below screen center while the locked target stays centered. 0 = off (character centered). Default: 40.
Horizontal mouse turning and camera sensitivity (0.001 = very slow, 0.003 = default, 0.009 = very fast).
Vertical mouse camera sensitivity (0.001 = very slow, 0.003 = default, 0.009 = very fast).
Orthogonal Stick Mode (Touch & Gamepad): Angle (degrees) from straight forward before turn input triggers (5-30°). Higher values create a wider "go straight" zone in discrete stick mode. Applies whenever the left joystick uses discrete 4-direction control — Free-Camera Left Joystick Mode set to Orthogonal, or on gamepad when Horizontal Directionality is disabled.
(Touch & Gamepad) When enabled, the camera joystick's vertical axis controls rise/dive while locked-on to an enemy, with horizontal input still switching targets. The vertical zone is ±22.5° minimum, expanding based on target switch sensitivity. Needs a stick to read a held direction from, so it applies to the gamepad and to the touch Camera Joystick — not to swipe-to-look, where a horizontal flick switches targets instead.
Deadzone percentage for the gamepad's left stick (15-50%). Higher values require more stick movement before input is registered.
Deadzone percentage for the gamepad's right stick (15-50%). Higher values require more stick movement before input is registered.
Linear: Direct 1:1 mapping. Exponential: Squared/Cubic response curve for finer control at small movements.
Controls how aggressive the exponential ramp is for gamepad joysticks and triggers. Squared (x²): Default. Cubic (x³): Finer control at low inputs.
Direction controlled by left trigger (LT).
Off: Disabled. Binary: Full on/off. Ramp: Analog pressure-sensitive.
Direction controlled by right trigger (RT).
Off: Disabled. Binary: Full on/off. Ramp: Analog pressure-sensitive.
Assign an action to each D-pad button for play mode. Assigned wheels, attacks, dodges, heals and skills behave exactly like their fixed bindings.
(Touch) Joysticks: fixed movement joystick and rise/dive knob (or camera joystick) in the bottom corners. Floating Zones: touch anywhere in the bottom-left area to move — a thumb knob appears under your finger — and the bottom-right area to rise/dive; the camera is always swipe-to-look. Nothing is shown until you touch.
(Touch) Floating Zones only: cuts each zone's inner-top corner diagonally, freeing a triangular notch of open water at the bottom-centre — swipe to look, tap to attack there. Width is the notch mouth at the top of the zone band as a percentage of screen width; Depth is how far it dips toward the bottom edge as a percentage of the band height. 0 on either = uncut rectangular zones; 100/100 = the zones become triangles meeting at a point. The zones tint briefly while adjusting.
(Touch) Floating Zones only: makes the invisible capture zones visible. On Touch: a landing near a zone's open-water edge briefly glows the edge around your finger. Near Edge: the glow follows your finger whenever it strays near the edge mid-drag — past it, the glow parks where you crossed — and a touch that just misses a zone lights the edge it missed. Always: both zones stay tinted full-time. Opacity sets the tint strength for every mode; Glow Size is the reveal glow's radius in pixels; Glow Duration (ms) is how long a landing or near-miss glow holds before fading — lifting the finger fades it early, so high values mean the glow simply remains while held.
(Touch, play mode) Drag the wheel buttons, lock-on button, heal/skill edge buttons — and in the Joysticks layout the sticks themselves — anywhere on screen. Elements that overlap are highlighted red while editing; overlaps are allowed, just not recommended. Each Touch Layout keeps its own arrangement, and anything you haven't moved keeps following its classic solved position (including the Button Position choice). Reset returns the current layout's elements to those defaults.
Arrangement of the two wheel buttons and the lock-on button relative to the joysticks. Edges: the wheels split apart — each sits above the surface in its own bottom corner (joystick, rise/dive knob, or the corner itself under Floating Zones) — with the lock-on button on its own at screen centre. The tags above show which of the three buttons follow the arrangement and which sit at custom spots from the HUD layout editor (this layout only). Choosing an arrangement — or tapping RE-APPLY — returns all three to it; everything else keeps its custom spot.
(Touch) Off: swipe anywhere on open water to move the camera. On: a right-hand joystick controls the camera instead. With swipe, a finger that stays put is still an attack tap — one that travels becomes a camera swipe. Unavailable with Floating Zones (swipe-to-look only).
Adjust the size of the right joystick. 1.0 = default size. For other UI elements, see HUD Scale in the Accessibility tab.
Simulates physical joystick spring resistance near the edge (0-100%). At 0% (off), finger-to-knob movement is 1:1. Higher values require more finger travel to reach maximum position, mimicking analog stick resistance.
(Touch) Deadzone percentage for the camera joystick (15-50%). Higher values require more stick movement before input is registered. Requires the Camera Joystick.
(Touch) How the Camera Joystick's vertical axis is read: Binary snaps to full strength once past the deadzone; Ramp scales smoothly with distance from centre. Affects photo-mode camera pitch. Requires the Camera Joystick.
(Touch) How far the camera turns per pixel of swipe (0.001 = very slow, 0.005 = default, 0.012 = very fast). Applies to both axes.
(Touch) The rise/dive pill that replaces the camera joystick when swipe-to-look is on. Scale sizes the pill (1.0 = default). Deadzone is the dead band around the centre detent (6% by default — deliberately smaller than a joystick's, since nothing rests on the knob). Requires the Camera Joystick to be off.
Adjust the size of the left joystick. 1.0 = default size. For other UI elements, see HUD Scale in the Accessibility tab.
(Touch) Deadzone percentage for the movement joystick (15-50%). Higher values require more stick movement before input is registered. Applies to the fixed stick and the floating-zone stick alike.
Linear: Direct 1:1 mapping. Exponential: Squared/Cubic response curve for finer control at small movements.
Controls how aggressive the exponential ramp is for touch joysticks. Squared (x²): Default. Cubic (x³): Finer control at low inputs.
Maximum time window (in milliseconds) between taps to register as a double-tap. Lower values require faster taps.
When off, use two-finger tap to heal manually. When on, automatically heals from school fish based on health: every 10s above 50%, every 5s at 25-50%, every 3s below 25%.
How to trigger manual healing. Edge Button: the + button above the left joystick. Tap Health Bar: hides the edge button — you instead tap the health bar at top left to heal.
How to activate equipped skill. Edge Button: the button above the right-hand touch surface (the camera joystick, or the rise/dive knob). Tap Stamina Bar: hides the edge button — you instead tap the stamina bar at top left to activate.
Show coordinates, speed, and depth display.
Show camera zoom buttons in the top right.
Show numerical health values on the health bar.
Show numerical stamina values on the stamina bar.
Show hints panel during play mode.
Show hints panel during edit mode.
Select First: sliders and dropdowns must be selected (Space/Enter or gamepad A) before adjusting. Instant: adjust immediately with A/D or D-pad Left/Right as soon as an option is focused.
Adjust the size of HUD UI elements in-game. For on-screen joysticks, see the Touch section in the Controls tab.
Adjust the size of the Editor customization panel separately from HUD elements.
Makes health and stamina bars larger with bolder colors and thicker outlines.
Switch between normal and condensed tab bar to fit more tabs on screen.
How long to wait before respawning after death (seconds).
Show or hide the Trailblaze skill in the skill wheel.
Hold: Hold stamina bar to record path. Toggle: Tap to start recording, tap again to stop.
Show or hide the Trailblaze skill in the skill wheel. (Dev testing)
Show or hide the Player Type dropdown in the Editor panel.
Hold: Hold stamina bar to record path. Toggle: Tap to start recording, tap again to stop.
Surface ceiling clamp: On (follows wave height), Off (no ceiling limit).
Show target positions for swimming letters and words as colored dots.
Show performance monitor button and overlay (FPS, frame time, memory usage).
Show the number of fish currently in your school in the navigation panel.
Show countdown timer to the next swells weather roll in the conditions display.
Speed multiplier applied when slow-motion is toggled on with the X key. 0.25× = quarter speed; lower is slower. Lets you observe the simulation in slow motion without holding a radial menu open.
Top-left HUD overlay with rolling 60-frame averages and session-max ms per system bracket (map, underwater, swimText, npcFish, render, total, interval).
Capture per-frame physics + camera state into a 600-sample circular buffer (~10s @ 60fps). Inspect via console: window.__trajectoryDump() / window.__trajectoryClear().
Select which map group to play in. Currently only Inkquarium maps are available.
Keyboard/Mouse - Gameplay
W Forward
S Backward
A Left
D Right
Space Rise
Shift Dive
+- Zoom
E Skill Wheel
Q Utility Wheel
F Activate Skill
G Toggle Schooling
R Heal (While Schooling)
U Toggle UI
P Photo Mode
Mouse: Look Around
ESC Pause / Settings Menu
Keyboard/Mouse - Menu / Editor
WS Navigate Options
QE Switch Tabs
AD Adjust Sliders
Space / Enter Select / Toggle
ESC Back / Close Menu
Gamepad - Gameplay
Left Stick Move
Right Stick Look Around
LTRT See Controls Settings
RB Skill Wheel
LB Utility Wheel
A Activate Skill / Select (Wheels)
X Attack
B Dodge
Y Toggle Schooling
D-pad Assignable (See Controls Settings)
R3 Toggle Lock-On
Start Pause / Settings Menu
Gamepad - Menu / Editor
D-pad UpDown Navigate Options
D-pad LeftRight Adjust Sliders
LBRB Switch Tabs
A Select / Toggle
B Back / Close Menu
X Settings Menu: Toggle Number Edit Mode
Touch - UI / Joysticks
Left Joystick Move Forward/Backward
Right Joystick Yaw + Rise/Dive
Double-Tap Left Toggle Lock-On
Double-Tap Right Dodge / Charge Dodge (Hold + Release)
Health Bar Manual Heal
Stamina Bar Activate Equipped Skill
Compass Toggle Schooling
Wheel Button Open Skill/Utility Wheel
Touch - Gestures
Tap Screen Bite / Charge Bite (Hold + Release)
2-Finger Pinch Camera Zoom
5 Fingers Photo Mode
6 Fingers Toggle UI Visibility
Controls
Full control bindings for keyboard, gamepad, and touch devices can be found in the Bindings tab to the left in the above tab bar.
Welcome
Explore the underwater world as a customizable fish. Swim through the ocean, recruit a school of followers, and discover the mysteries of the deep.
Schooling
Toggle your schooling ability to recruit nearby NPC fish. When active, they will follow you in formation. Your school can help you in various ways.
Healing
While schooling is active, heal yourself by drawing health from your recruited fish. Use the Utility Wheel to switch between Siphon mode (protects fish) and Drain mode (can kill fish).
Skills
Open the Skill Wheel to select abilities. Activate your equipped skill using the designated button or by tapping the stamina bar.
The Portal
Discover and swim through the ancient portal to unlock new abilities and progress your journey.
Edit mode hints will appear here.
Play mode hints will appear here.
Are you sure?