Inspiration

Eyevolution started with a very simple idea: compare two colors and decide whether they are the same or different. The name Eyevolution comes from “eye” + “evolution”.

I wanted to see how far this tiny mechanic could go if the visual conditions kept changing. What begins as a clean color comparison gradually becomes more challenging through motion, fog, snow, glitches, unusual shapes, and combinations of effects.

The name is a play on eye + evolution. It reflects the core idea of the game: progressing through increasingly difficult visual challenges and seeing how far your perception can evolve.

What it does

Eyevolution is a fast visual perception game built around short rounds.

Players compare two colored shapes and choose whether they match. As they progress, the game introduces new visual modifiers and increasingly difficult combinations.

To make progression feel meaningful, I tied it to a collection of animal achievements. The player starts from a bacterium and moves through an evolution ladder, unlocking animals with increasingly advanced vision.

Each run creates its own achievement path, so different playthroughs reveal different animals. Previously unlocked achievements remain in the permanent collection, which gives repeated runs a different progression trail instead of simply resetting everything.

The game also includes boosters, daily and random rewards, an endless mode, and optional rewarded ads and purchases.

How I built it

I built Eyevolution solo using Vue 3, TypeScript, Vite, PixiJS, and Capacitor.

PixiJS handles real-time gameplay rendering and visual effects, while Capacitor packages the game for Android.

I also integrated RevenueCat for in-app purchases, AdMob for rewarded ads, Google UMP for consent, and PostHog for analytics.

Challenges I ran into

The main challenge was making the visual effects feel surprising without making the game unfair or unreadable.

Performance was another important challenge: fog, snow, glitches, movement, and layered rendering all had to stay smooth on real Android devices.

Closed testing also exposed UX issues that were difficult to see during development, especially around onboarding, level balance, and making the game’s navigation work correctly with Android safe areas.

Accomplishments that I’m proud of

I’m proud that a very simple two-button mechanic grew into a complete mobile game with progression, achievements, collections, boosters, rewards, monetization, analytics, localization, and 200 levels.

I’m also proud that the game went through real closed testing and improved based on player feedback rather than being shipped as a prototype.

What I learned

This was my first solo mobile game, so I learned much more than just gameplay development.

I worked through mobile performance, Android packaging, store requirements, in-app purchases, rewarded ads, consent flows, analytics, localization, closed testing, ASO, and release preparation.

The biggest lesson was that shipping a game is not just about the core mechanic. Progression, clarity, pacing, and polish matter just as much.

What’s next for Eyevolution

The first goal is to release Eyevolution on Android and learn from real players.

If the game finds an audience, I plan to expand it with new visual modifiers, more challenge types, and richer effects, and eventually bring it to iOS.

I’m also considering rebuilding the game in Godot in the future, which would give me more freedom to push the visual effects, animation, and overall presentation much further.

Built With

Share this project:

Updates

Submission history