← Games and prototypes

PORTFOLIO / Mobile game prototype

Great Graffiti.

Surface painting with CustomRenderTexture, asynchronous mask readback, and coverage calculation using Jobs and Burst.

My roleGameplay Developer
FocusPainting and coverage tracking
StatusDemo prototype
Technologies
UnityC#Custom Render TextureAsyncGPUReadbackBurst JobsuGUI
Illustration of a mechanical brush painting a parrot

Project illustration. Gameplay screenshots and video follow below.

Surface painting

In Great Graffiti, a mechanical brush paints an image while the game measures the painted area. The prototype has one demonstration level. The next level remains unfinished.

From contact to a paint mask

A virtual joystick moves a brush mounted on a jointed arm. A raycast finds the surface contact coordinates, and a CustomRenderTexture updates the painted area. The color comes from a prepared texture at the contact point.

Measuring coverage

AsyncGPUReadback reads the mask texture. A Burst job counts the unpainted pixels, then the game updates the progress bar and awards coins for added coverage. Reaching the target percentage completes the level.

Game loop

Painting consumes fuel. Between attempts, players can upgrade fuel capacity, brush size, paint strength, and arm length. The length upgrade adds segments to the jointed arm and extends its reach. Upgrade levels and the coin balance are saved locally.

Painting and brush upgrades · Open video

Looking for a gameplay developer?

I would be glad to discuss your team’s work and talk through these projects.

All games and prototypes