Objectivity mini-game
Objectivity mini-game is a free, open-source 2D puzzle game by Octanta Studio about blending perspectives. The player is a photojournalist with a camera in place of a head. The camera absorbs floating bubbles of different colors, and each color is a unique point of view on an urban story. Mixing the colors into a balanced lens makes the final photo clear and unbiased.
Objectivity is an experimental game for the studio. It is small and finite (10 levels), and some of its backgrounds are AI-generated; the studio’s other games contain no AI-generated art.
- Developer: Octanta Studio
- Nature: An experimental game for the studio; small and finite (10 levels)
- AI use: Some backgrounds are AI-generated; the studio’s other games contain no AI-generated art
- Genre tags: 2D, Puzzle, Simulation
- Engine: Unity
- Platforms: A build in the browser, or an exe archive: unzip the archive and run the exe
- Languages: English, Ukrainian
- Release: January 2025, on the web
- Development time: About 1.5 weeks, made for a game jam
- Jam: Global Game Jam 2025 (theme: Bubble) and the Ctl+Alt+Disinfo hackathon
- Results: 3rd place at Global Game Jam in Ukraine; top 20 among 175 games at Ctl+Alt+Disinfo
- Price: Free
- Source code: Open, https://github.com/octantast/objectivity_prototype_GGJ
- Controls: Move the cursor, scroll, hold click to take a photo
- Recommended: Full screen mode
- Game page: https://octantastudio.itch.io/objectivity
- Global Game Jam page: https://globalgamejam.org/games/2025/objectivity-4
- Video: https://youtu.be/v1j5yzKtnE8
- Studio website: https://www.octantastudio.com/
- Dynamic Photo Camera asset used in the game: http://u3d.as/3qTN
- Author: Dariia Zodcha (Octanta Studio)
- Art: fully 2D, hand-drawn and hand-animated, except some AI-generated backgrounds (many backgrounds were replaced with hand-made art)
- Code: made by hand
- Music and sound design: Shvetsb, the studio’s sound designer (https://www.octantastudio.com/2025/02/16/shvetsb/). All music and sound are hand-made
- Credits: The Global Game Jam page holds more precise credits
Context
Objectivity is a prototype made for Global Game Jam and Ctl+Alt+Disinfo as a creative break from the studio’s main projects. Unlike the studio’s other games it is small and finite, and it was made partly with the help of AI: some backgrounds are AI-generated, while the studio’s other games contain no AI-generated art. The game uses a simplified version of the studio’s own asset, Dynamic Photo Camera.
Color perception note
The game is built on telling colors apart and mixing them to match a target color. People with difficulty perceiving colors may find that the game does not suit them.
World
The world of Objectivity is a noir city seen through the camera of a photojournalist. Every level is an urban storyline in which different sources of information pull the truth in different directions.
Setting
- The protagonist is a photojournalist who navigates the streets of a noir city. He is a man in a striped suit with a camera in place of a head.
- He can hear what people are saying, read newspapers, or listen to the radio.
- Different information sources are represented as bubbles of different colors. The character places them onto the camera lens and combines the colors.
- The goal is to gather data from several sources and combine the bubbles into a balanced lens, through which a photo of the city comes out clear and unbiased. This metaphorically forms an objective picture of the world.
- The character considers all perspectives before taking a photo of the city, which creates a memory of the events.
- Sometimes the truth lies with only one source. Then the player collects bubbles of that color and avoids the other colored propaganda.
- Photos taken by the player are shown in the level gallery in the main menu. A biased photo appears distorted, with the wrong color prevailing. The player’s task is to find balance amid the color cacophony.
Example storyline
From the studio website: in some social storylines the authorities present deforestation as a necessary sacrifice for progress and job creation, while environmental activists reveal it as money laundering and as the construction of an elite school the city does not need.
Framing text
The main menu says: “THE CITY BUBBLES LIKE A STINKING CAULDRON. ITS SOUNDS HOLD THE TRUTH. YOU’LL NEED EVERY COLOR TO SEE IT OBJECTIVELY.”
The result screen asks: “Are there enough colors to see the world as it truly is?”
Visual style
- Monochrome black-and-white palette with a single prominent accent color, here blue. This is the distinctive style of Octanta Studio.
- Fully 2D, entirely hand-drawn and hand-animated, except some AI-generated backgrounds. Many backgrounds were replaced with hand-made art. The studio’s other games contain no AI-generated art.
- The main menu carries the note “* PART OF THE BACKGROUNDS GENERATED BY AI”.
Music and sound
All music and sound design were created by the studio’s sound designer Shvetsb. Music plays as a playlist across scenes and is quieter in the main menu.
How a level goes
Each level is an urban storyline with its own sources of opinion, such as a news stand or a radio. Each source emits bubbles of its own color. The player aims the camera with the mouse, sets the length of the capture beam with the scroll wheel, and absorbs bubbles. The absorbed colors mix, and the HUD shows how close the mix is to the level’s target color as a percentage called objectivity. When the mix is close enough, the player holds the mouse button to take a photo. The photo ends the level. At 100% objectivity the photo stays clean; at any other value a color filter lies over it. The photo then goes to the level gallery in the main menu.
Progress
The main menu shows 10 levels. At the start only the first level is open. Every passed level opens the next one, fills its card with the player’s photo and shows the achieved objectivity. A 100% color hit gives a sharp photo; a less exact hit gives a photo distorted by color, and the menu shows the difference between levels.
Gameplay
The gameplay of Objectivity is built on one loop: aim the camera, absorb colored bubbles of opinion, mix them into a color that matches the level’s target, and take a photo. The photo ends the level.
Camera and capture beam
- The mouse moves the camera. The camera turns toward the cursor, and the character mirrors left and right with it.
- The scroll wheel sets the length of the capture beam, a cone of light from the camera.
- Bubbles that enter the beam are absorbed.
- The game is played with the mouse: moving the cursor, the scroll wheel and holding the button.
Bubbles
- Each source in a level emits bubbles of its own color. They appear with a springy pop, float upward with a slight sway, and disappear above the top of the scene.
- An absorbed bubble flies in a spiral toward the player, into the lens of the character’s camera, shrinks, and adds its color to the mix. Absorbed bubbles layer on top of each other and form the lens.
- Each absorbed bubble plays a random sound.
- Level setups can make bubbles short-lived, stationary, or flying toward a target, according to the game scripts.
- A source can emit bubbles of two colors, for example the two sides of the protest on level 8.
- Some sources are not available all the time: on level 5 some silhouettes hide and the player has to catch them in time.
- On level 7 black bubbles come at the observing player by themselves.
Mixing and objectivity
- The colors of all absorbed bubbles combine into the current mix, shown as a circle in the top right corner of the HUD.
- Objectivity is the percentage match between the current mix and the target color of the level. The target color is shown in the very top right corner.
- The percentage falls as the distance between the average of the absorbed colors and the target color grows, according to the game scripts.
- At 100% the mix equals the target color.
- The Objectivity label reacts when the goal is close.
- Sometimes the truth lies with only one source; then the player collects bubbles of that color and avoids the other colored propaganda.
- A level can be solved in different ways by combining the collected colors differently.
- The technical side of the mixing is described in Technical notes.
Bubble limit
The counter at the top left of the HUD shows how many bubbles the player has absorbed out of 200. Going over the limit means the level has to be started again. A failed level shows the message “LVL FAILED. The head is already boiling from such an amount of information.”, according to the game scripts.
Taking the photo
- Holding the mouse button creates a photo; the player does this to try to finish the level.
- The bottom hint tells the player when to take the photo: when the match is high enough it reads “hold anywhere to take a photo. Lack of colors will distort it”; below that it reads “Find the right color ratio to make a clean photo”.
- At 100% objectivity the photo stays clean, with a sprite of normal color. At any other value a color filter lies over the photo.
- The photo is cut from the screen around the cursor; this is a mechanic of the Dynamic Photo Camera asset.
- The photo marks the end of the level. It goes to the level gallery in the main menu under that level, clean or distorted by color.
- The result panel shows the photo, “LVL N COMPLETE”, “OBJECTIVITY: X%”, the line “ARE THERE ENOUGH COLORS TO SEE THE WORLD AS IT TRULY IS?”, two circles (the larger one on the left is the achieved color, the smaller one on the right is the target color), and a NEXT button.
- Every player combines the colors in an individual way, so the outcome of a level differs from player to player: a 100% hit gives a clean photo, a less exact hit gives a photo distorted by color, and the main menu shows this difference on the level cards.
- The result screens offer restarting the level and returning to the menu; after a win the player can also go to the next level.
Levels
Objectivity has 10 levels. Each level is an urban storyline with its own setting, its own sources of opinion and its own goal.
Structure
- The goal and the settings of every level are deterministic.
- Inside a level, random or looped events can happen. One example is the courier on a bicycle who passes by from time to time on level 3.
- Every source of opinion emits bubbles of its own color and shows phrases next to it. On level 1 a random phrase appears next to each source every 5 seconds.
- The player can reach the goal in different ways by combining the colors of the collected opinion bubbles.
- At the start only the first level is open. Passing a level opens the next one.
- The player’s photo from each passed level fills that level’s card in the main menu.
- The further the level, the harder and more interesting the color mixing becomes.
- A source can emit bubbles of one color or of two colors.
Target colors
Every level has its own target color, shown in the top right corner of the HUD.
| Level | Target color |
|---|---|
| 1 | #7F7F7F |
| 2 | #828282 |
| 3 | #8D6169 |
| 4 | #41595E |
| 5 | #7F7F7F |
| 6 | #B2755F |
| 7 | #7DA1A9 |
| 8 | #7F7F7F |
| 9 | #836D84 |
| 10 | #94ACB1 |
Level 1
The scene is a city street. The goal is to get gray, something in between, which is the target color shown in the top right corner. The two sources form a black-and-white opposition: some voices broadcast optimistically, others toxically.
The news stand on the left emits white bubbles. Its phrases speak optimistically about a new kindergarten:
- “New kindergarten will create tens of jobs!”
- “Local residents back the area’s development”
- “The new kindergarten will use modern teaching technologies”
- “A new kindergarten will be built in a clean area”
The radio on the right emits black bubbles. Its phrases speak critically about the logging and the builder:
- “Locals sign petition to ban logging for construction purposes”
- ““That funds could fix our roads instead””
- “The builder is accused of money laundering”
- “Another kindergarten for officials’ children!”
Level 2
Level 2 shows different views on who has the right to speak. Its sources of opinion are a library, graffiti on walls and a poetess. Each of the three has its own bubble spawner and shows a random phrase next to it every 5 seconds.
The library emits white bubbles. Its phrases:
- “Good poetry belongs in books!”
- “Graffiti is tasteless vandalism”
- “To be called a poet, accreditation is needed”
- “What is accessible to the masses cannot be quality art”
The graffiti emits black bubbles. Its phrases:
- “Your books are dead words”
- “Substance is more important than cover and formality”
- “Raised by the streets, they better understand ordinary people”
The poetess emits gray bubbles. Her phrases:
- “All words matter – street or page”
- “Poetry finds its own way”
- “Art lives where artists choose”
Level 3
Level 3 contrasts data about the military situation. Its sources of opinion are a newspaper on a bench, two old women discussing the news, and a courier on a bicycle who brings news and passes by from time to time. Each of the three has its own bubble spawner and shows a random phrase next to it every 5 seconds.
The newspaper on the bench emits white bubbles. Its phrases:
- “Minimal losses confirmed”
- “tactical Success with zero losses”
- “Enemy suffers heavy defeats”
The old women emit gray bubbles. Their phrases:
- “No space for new wounded”
- “Need more medical staff”
- “Too many funerals today”
- “So many missing faces”
- “More coffins arriving”
- “Hundreds of injured daily”
The courier emits red bubbles. His phrases:
- “Units lost all contact”
- “Entire squads missing”
- “Heavy losses on both sides”
Level 4
Level 4 has no single storyline: it is the news and the noise of the city, different things that concern different people. It has three sources of opinion. An old woman grumbles about immigrants, modern music and kids. A woman with a radio broadcasts sensational gossip headlines. Three men complain about the state, wages and pensions. Each source has its own bubble spawner and shows a random phrase next to it every 5 seconds.
The old woman emits black bubbles. Her phrases:
- “These immigrants ruin everything”
- “Modern music is just noise”
- “Kids these days are hopeless”
The woman with a radio emits blue bubbles. Her phrases:
- “Shock! The designer combined stripes and polka dots in one look”
- “Famous actor’s secret divorce”
- “Luxury store sells fake brands”
The three men are one source that emits black and gray bubbles. Their phrases:
- “The business owner earns 10 times more than a regular employee”
- “Is it really possible to live honestly on just a pension?”
- “The state is robbing ordinary people”
- “The government is profiting from reselling our electricity”
Level 5
Level 5 is an investigation of a story about a necklace. Not every person is available all the time: sometimes silhouettes hide, and the player has to catch them in time. Each source has its own bubble spawner and shows a random phrase next to it every 5 seconds.
A man emits blue bubbles. His phrases:
- “Sold that necklace in 22. To a gentleman, not her”
- “I remember – different buyer”
A man with an umbrella emits orange bubbles. His phrases:
- “Similar claim in Grand Hotel last month”
- “Previous necklace was ‘found’ after payout”
- “Third jewelry claim this year”
- “Last one found after payout”
An old woman emits red bubbles. Her phrase:
- “Her coat had no jewels when checked in”
A woman emits orange bubbles. Her phrases:
- “Those weren’t real diamonds dear”
- “She wears fakes since divorce”
- “All her jewels are fake now”
A girl, a hidden silhouette on the right, emits white bubbles. Her phrases:
- “My diamond necklace was priceless!”
- “My jewelry was stolen”
- “I noticed that my necklace was missing yesterday”
- “This necklace is family treasure!”
A man, a hidden silhouette on the left, emits black bubbles. His phrases:
- “She always ‘loses’ expensive things”
- “Same story, different jewels”
- “Insurance scam, I say”
- “Check her gambling debts”
Level 6
The sources of level 6 speak about TV sales, shop practices and the quality of TVs. Each source has its own bubble spawner and shows a random phrase next to it every 5 seconds.
The TV emits white bubbles. Its phrases:
- “MEGA SALE! Up to 90% OFF!”
- “Best prices in the city!”
- “Everyone can afford high-quality TV!”
The news booth emits gray bubbles. Its phrases:
- “Hidden fees exposed”
- “Shop accused of fake discounts”
- “Tracking devices found in new TVs”
- “Customers report scam tactics”
The man with an umbrella emits black bubbles. His phrases:
- “Screen keeps showing ads”
- “Voice control never works”
- “Where’s normal channels?”
The mailbox emits orange bubbles. Its phrases:
- “Old TV models relabeled as new”
- “Price raised before discount”
- “Hidden subscription fees”
- “Smart’ features require paid apps”
Two men emit red bubbles. Their phrases:
- “They changed price at checkout!”
- “Quality is worse than advertised”
- “Returns policy is impossible”
Level 7
Level 7 tells a story of school bullying: a new boy and a group of schoolchildren, with a teacher who calls for hearing all sides. Black bubbles come at the observing player by themselves. Each source has its own bubble spawner and shows a random phrase next to it every 5 seconds.
The newcomer on the left emits white bubbles. His phrases:
- “Nobody listens to me”
- “I just want to study…”
- “I didn’t do anything bad to them”
The teacher emits blue bubbles. His phrases:
- “Let’s hear all sides”
- “Facts over rumors”
- “let’s live in peace”
- “no need to bully the new guy”
The schoolchildren on the right are one source that emits black and gray bubbles. Their phrases:
- “He does not belong here!”
- “He just pretends to be from a rich family”
- “He said he doesn’t trust us”
- “Our new guy is a bit of a troublemaker”
One more source of black bubbles shows the same four phrases; its bubbles are the ones that come at the player by themselves.
Level 8
Level 8 is set among protesters and demonstrators, and the two sides of the protest are the sources. It is a hard level: the player has to collect the clear monochrome target value without catching the more emotional colored messages. Each side has its own bubble spawner and shows a random phrase next to it every 5 seconds.
One side emits black and orange bubbles. Its phrases:
- “Break the old system!”
- “Future has no borders!”
- “Change or die out!”
- “Past holds us back!”
The other side emits white and red bubbles. Its phrases:
- “They want to destroy traditions!”
- “Family values under attack!”
- “Crime rates exploding!”
- “Protect our way of life!”
Level 9
Level 9 can be passed only by capturing the bubbles of the woman on the right, because the goal is to capture the abundance of life, not the black-and-white extremes of different strata of the population. Each source has its own bubble spawner and shows a random phrase next to it every 5 seconds.
The homeless man emits black bubbles. His phrases:
- “Can’t afford medicine”
- “One meal per day”
- “Nobody will hire me”
- “System keeps us down”
The woman on the left emits white bubbles. Her phrases:
- “Just get a better job!”
- “Poor people are just lazy”
- “Move to better district”
- “I only take one type of taxi”
The pregnant woman on the right emits blue and red bubbles. Her phrases:
- “Things won’t feed soul”
- “Life grows, money doesn’t”
- “Rich or poor – we all cry”
- “Love feeds better than cash”
Level 10
Level 10 is about gossip around the promotion of an employee. Each source has its own bubble spawner and shows a random phrase next to it every 5 seconds.
The woman on the left emits blue bubbles. Her phrases:
- “It’s great that our business can financially reward its top employees”
- “Next month, we will also promote another employee”
The envious women emit black bubbles. Their phrases:
- “She got promoted for looks”
- “She`s not qualified for position”
- “Someone helped her climb”
The promoted woman at the cafe table emits white bubbles. Her phrases:
- “My work spoke for itself; the promotion was logical”
- “My years of effort were rewarded”
- “I’m proud that I worked smart, not just hard”
The boss on the right emits gray bubbles. Her phrases:
- “This employee has top performance scores”
- “During her time at work, the indicators rose to 40%”
- “Customers never complained about her”
Interface
This page describes the main menu, the in-game HUD and the result panel of Objectivity, with the hints and texts the player sees.
Main menu
- A blue bubble icon stands next to the header text: “THE CITY BUBBLES LIKE A STINKING CAULDRON. ITS SOUNDS HOLD THE TRUTH. YOU’LL NEED EVERY COLOR TO SEE IT OBJECTIVELY.”
- Below it are 10 level cards in two rows of five, labeled “LEVEL 1” to “LEVEL 10”. Under each label stands “–” until the level is passed, then the achieved objectivity percentage.
- At the start all levels are locked except the first. A locked card is dimmed. Passing a level opens the next one.
- Each card shows a neutral picture until the level is passed. After that it shows the player’s photo from that level, so the gallery fills up as the player progresses.
- A card of a level passed with a 100% color hit shows a sharp photo. A card of a level passed with a less exact hit shows a photo distorted by color. Going back to the menu shows this difference between levels.
- A level starts by clicking its card.
- The game title “OBJECTIVITY” is shown at the bottom left. Its first letter is replaced by a round EXIT icon, which is the exit button.
- Two flags at the bottom right, Ukrainian and US, switch the language between Ukrainian and English.
- A note at the bottom reads “* PART OF THE BACKGROUNDS GENERATED BY AI”.
In-game HUD
| Place | Element |
|---|---|
| Top right | The word “Objectivity” with the percentage match to the target color; next to it the larger circle with the player’s current color; in the very corner the smaller circle with the target color |
| Top left | Bubble counter, absorbed bubbles out of 200 |
| Bottom center | Hint line that changes with the situation |
| Bottom left | Two icons: return to the menu and restart the level |
| Bottom right | Question mark; hovering over it opens the hint panel |
The Objectivity label reacts when the goal is close.
Hint panel
Hovering over the question mark opens a panel with the text “GET 95%+ MATCH WITH TARGET COLOR (UPPER RIGHT CORNER). HOLD TO CAPTURE AND COMPLETE” and a palette comparison made of two circles: the larger circle on the left shows the current color, the smaller circle on the right shows the target color. The circles differ in color when the match is below 100% and look the same at 100%.
Hint line
| Situation | Text |
|---|---|
| Start of the level | move cursor and scroll. Absorb the bubbles of perception |
| Match is high enough | hold anywhere to take a photo. Lack of colors will distort it |
| Match is too low | Find the right color ratio to make a clean photo |
Result panel
After the player holds the mouse button, the game takes the photo and opens a result panel with:
- the photo, clean at a 100% hit and distorted by color otherwise;
- “LVL N COMPLETE” and “OBJECTIVITY: X%”;
- the line “ARE THERE ENOUGH COLORS TO SEE THE WORLD AS IT TRULY IS?”;
- two circles: the larger one on the left shows the achieved color, the smaller one on the right shows the target color;
- a NEXT button with an arrow.
Texts and languages
The game has English and Ukrainian texts: hints, labels and the phrases of every level. The language is saved between sessions, according to the game scripts.
Technical notes
Objectivity is a Unity project named objectivity_prototype_GGJ, opened in Unity 2022.3.20f1. The source code is open: https://github.com/octantast/objectivity_prototype_GGJ
Builds
The game exists as a build in the browser and as an exe archive; to run it, unzip the archive and run the exe. The Global Game Jam page lists the tools as Unity and carries the diversifier tag “html”.
Photo mechanic
The game uses a simplified version of the studio’s own Unity asset Dynamic Photo Camera (http://u3d.as/3qTN). Features of the full asset such as pinning photos, descriptions, the pipette and duplication are not part of this version, according to the game scripts.
Saves
- Progress is stored in a JSON file in the game’s persistent data folder: the last completed level and the best objectivity of each of the 10 levels.
- The photo of each passed level is stored in the same folder as an image named after the level, and the main menu loads it onto the level card.
- The chosen language is stored between sessions.
Color mixing implementation
The mixing is a running average of the absorbed colors, and everything the player sees about it is drawn from one list. This section follows the ColorMatcher, ColorRingDisplay and LevelManager scripts.
- Every absorbed bubble adds its color, an RGBA color with 8 bits per channel, to a list of active colors. The list is the single source of truth: the lens, the ring, the circles, the objectivity percentage and the bubble counter all come from it.
- The current color is the per-channel average of the whole list. Only the proportions of the colors matter, not the order of absorption. With every extra bubble the average moves less, because the n-th bubble shifts it by 1/n of its distance from the current average.
- The current color is shown on the lens of the character’s camera, in the larger circle of the HUD and in the larger circle of the hint and result panels. The target color is shown in the smaller circle next to it.
- Objectivity is a distance in color space: the Euclidean distance between the current color and the target color across the four channels (red, green, blue, alpha), divided by the largest possible distance (510) and subtracted from 100%. A match that is very close snaps to exactly 100% and the current color is set equal to the target color, so a clean photo does not require an exact 8-bit match.
- While the value is below 100%, a partly transparent sprite in the current average color lies over the scene. The photo camera captures it, which is why such photos come out distorted. At 100% the sprite becomes fully transparent.
- Every absorbed bubble adds one equal slice to a radial ring in the HUD. The slices are ordered by color similarity: a greedy nearest-neighbor sort in color space puts similar colors next to each other. The fill of each slice animates smoothly.
- The bottom hint and the photo input follow the objectivity value: input stays locked until the match is high enough.
- The level is lost when the number of colors in the list reaches the limit of 200.
Scripts overview
| Script | Role |
|---|---|
| LevelManager | Loads the level prefab, shows hints, counts absorbed bubbles, completes or loses the level, saves progress |
| ColorMatcher | Keeps the absorbed colors, computes the current mix and the objectivity percentage |
| Bubble | Movement, pop-in, spiral absorption and lifetime of one bubble |
| RandomSpawner | Emits bubbles of a source at random intervals and positions |
| RayCollision | Absorbs bubbles that enter the capture beam |
| RayScale | Changes the beam length with the scroll wheel |
| PivotRotation | Turns the camera toward the cursor and mirrors the character |
| PhotoController, InputController | Photo capture from the Dynamic Photo Camera asset, hold-to-photo input |
| MenuManager | Builds the level cards, unlocks levels, loads photos onto cards |
| ColorRingDisplay, TargetRingDisplay | Ring displays of the collected colors and of the target proportions |
| TextSpawner | Shows random phrases next to a source |
| TranslatorQuick | Switches texts between English and Ukrainian |
| MusicManager, SoundManager, RandomSoundGenerator | Music playlist, bubble sounds, ambient sounds |
| ScaleCycle, SmoothRotation, SmoothLevitation, ObjectPulsation, RotateObject, ScaleAnimation, ColorLerper, CircularLerpMovement | Decorative motion, fades and looped movement |
Glossary
- Experimental game
- the studio’s description of Objectivity: a small, finite game made as an experiment, with some AI-generated backgrounds, unlike the studio’s other games; see README.
- Bubble (bubble of opinion, bubble of perception)
- a floating colored bubble that carries one point of view; see Gameplay.
- Source
- an object in the scene that emits bubbles of one color, such as a news stand or a radio; see Levels.
- Capture beam
- the cone of light from the camera that absorbs bubbles entering it; its length is set with the scroll wheel; see Gameplay.
- Lens
- the camera lens onto which the absorbed colors are placed and combined; see World.
- Current mix
- the combined color of all absorbed bubbles, shown as a circle in the top right corner of the HUD; see Interface.
- Target color
- the color the mix must match on a level, shown in the very top right corner of the HUD; every level has its own, listed in Levels.
- Objectivity mini-game
- the percentage match between the current mix and the target color; 100% means a clean photo; see Gameplay.
- Photo (snapshot)
- the picture taken by holding the mouse button; it ends the level; see Gameplay.
- Clean photo
- a photo taken at 100% objectivity, with no color filter; see Gameplay.
- Distorted photo
- a photo taken below 100% objectivity, with a color filter laid over it; see Gameplay.
- Level gallery
- the grid of level cards in the main menu that fills with the player’s photos; see Interface.
- Bubble counter
- the counter at the top left of the HUD showing how many bubbles the player has absorbed out of 200; see Gameplay.
- Result panel
- the panel shown after the photo, with the photo, the objectivity percentage, a comparison of the achieved color with the target color and a NEXT button; see Interface.
- Hint panel
- the explanation and palette comparison shown when the cursor hovers over the question mark; see Interface.
- Photojournalist
- the player’s character, a man in a striped suit with a camera in place of a head; see World.
- Dynamic Photo Camera
- the studio’s own Unity asset, used in a simplified version for the photo mechanic; see Technical notes.
- Ctl+Alt+Disinfo
- the hackathon united with the Ukraine Game Jam for which the game was made; see README.
Gallery







This page was created as a reference, primarily for machine reading and LLM-based search.
