Project · 2026
The Kermis
A short game themed around ephemeral beauty, and the memories we leave with.

Tags
- Unity
- Concept
- Design
- Gameplay
Project info
- Role
- Game Developer / Designer
- Team
- Solo* + 3 contributors
- Duration
- 10 weeks
- Engine
- Unity
- Language
- C#
Overview
The Kermis is a short game set on the final day of a Dutch fairground. What started as an idea for a collection of small attractions eventually became a compact game centred around a shooting gallery.
The project explores the experience of revisiting a familiar place, taking part in its attractions, and knowing that by tomorrow, it will all be gone.
Concept
The starting point for The Kermis was a fascination with atmosphere.
I found that term too broad to build a game around,
so I started exploring what actually interested me about it.
Eventually, I realized it wasn’t simply the atmosphere itself,
but the memorable moments it can create, and the feeling of wanting to experience them again.
During the concepting phase, I discussed a few different directions with my buddy group. One conversation in particular made me reconsider the setting: if temporality was such a big part of my fascination, wouldn’t a kermis be a more fitting subject than a permanent amusement park?
I had explored a related fascination in an earlier project,
Weather Report, albeit through a different approach.
This time, I wanted to explore that interest in a more interactive way.
Vertical Slice
I started looking more closely at what made these fleeting experiences memorable.
One distinction that helped me put it into words was the difference between
Vergankelijke Schoonheid and Efemere Pracht.
The former is more about the melancholy of things gradually passing:
autumn leaves, aging, or something slowly falling apart.
The latter puts the emphasis on the brief but intense moment itself:
fireworks, a flower that only blooms for a day, or rain catching the sunlight.
Where Weather Report explored the former, I wanted The Kermis to lean towards the latter.
I also visited the kermis at Burgermeester in 't Veldpark, Zaandam, to experience the attractions and observe the atmosphere firsthand.
Looking at the attractions up close, I started imagining what a day at the kermis might look like from the player’s perspective.
My initial idea was to let players spend a day at an amusement park with different companions, visiting attractions and taking pictures along the way. As the day passed, the surroundings and people would gradually disappear, leaving only the memories of that visit.
I wasn’t planning to simulate every attraction in full. Rides could instead be triggered through interactions and play out as short sequences, keeping the focus on the overall experience rather than the mechanics of each ride.
Further discussions with my peers pushed me to explore more interactive directions. Rather than only witnessing these moments, I wanted players to actively take part in them.
This gradually evolved into a collection of smaller attractions and minigames, with players choosing how to spend their time. At one point, I even considered limiting them to three coins, forcing them to choose which attractions to visit.
The idea was still broader than the final scope, but it gave me a more tangible direction to work towards.
Shooting Gallery
I was considering three possible minigame directions:
RNG-based, timing-based (like a boxing machine),
or aiming-based.
A quick vote among my peers put the shooting stall on top. It was also one of my own favourites, so I decided to build around it.
I chose shooting stars as targets, giving the mechanic room for visual feedback and destruction.
Prototyping
I adapted a 2D hold-and-release projectile mechanic from a Code Monkey tutorial to a 3D scene,
using it to test how the player could charge and fire their shots.
Most of the iteration went into aiming. I tried firing along the camera’s forward direction, using a fixed direction, and aiming towards the mouse’s world position.
Pirate's Rampage in Final Fantasy VII Rebirth
helped shape the minigame’s first-person framing and HUD,
particularly its timer and score layout.
Presentation
I provided reference images, my blockout and model specifications for the stall.
The main requirement was leaving enough room for the target board and shooting interaction.
I integrated the delivered model and fixed a few rendering issues,
including its URP decals.
Destructible targets
I also prepared the star targets for destruction.
Using Blender’s Breakable modifier,
I split the models into fragments and integrated them into the shooting mechanic.
One unexpected behavior was that fragments could collide with neighboring stars and break them too. I kept this accidental chain reaction. Larger stars were worth more points, and could lead to more destructive reactions.
Playtesting
The first playtest exposed a few issues with the shooting gallery. Players struggled to identify shootable targets, aiming didn’t always feel accurate, and the trajectory line could obstruct the actual shot.
Despite those issues, players were already having fun experimenting with the rough prototype. By the second playtest, some even jumped into the stall and used their own shots to bounce their character around.
Target readability
The targets needed a clearer visual hierarchy. Larger stars received brighter emissive materials, and were worth more points to reward players for prioritizing them.
Aiming and hit detection
I experimented with different collider configurations and camera angles.
Eventually, I settled on sphere colliders to make hits more consistent.
I also set the camera’s FOV to 80°.
A second playtest with 13 testers helped refine the minigame further.
Reusable responses
I didn’t make the entire environment shootable. Instead, I developed a reusable hit-response component.
Different objects could react to shots with optional score, sound and visual feedback, without needing a separate implementation for each one.
Gameplay feedback
I implemented the result screen and projectile trail. An impact marker was also suggested, but didn’t make it into the final build.
Systems
Interaction
The interaction system lets players engage with objects in the environment. At the shooting stall, it switches the player from exploration into the minigame, without requiring another scene or loading screen.
Camera transitions
Cinemachine handles the transition between the exploration and shooting cameras.
A Cinemachine Brain on the main camera blends between the virtual cameras,
framing the targets when the player enters the stall.
Final Experience
The shooting gallery became the main playable attraction, but I still wanted the introduction and ending to frame it as one last visit to a place that’s about to disappear.
Ferris wheel
I created a top-down blockout of the park and storyboarded a Ferris wheel ride as the transition into the ending.
I supplied these references and the sequence to a collaborator, who created the environment and pre-rendered cutscene. I directed the sequence and provided feedback throughout production.
Narrative framing
The opening establishes the player’s return to a place they remember from childhood, but no longer quite recognize. The ending shifts from that sense of loss towards appreciation:
“You will be missed.”
“Yet I’m glad you happened.”
It then reflects on the lights, laughter and games that will be gone by tomorrow, ending with the thought that the memories remain.
Trailer
I also edited a short trailer combining gameplay, the introduction and the Ferris wheel sequence.
I sourced carnival sound effects from kermisgeluiden.nl
and edited them into the trailer to reinforce its setting.
Reflection
The biggest challenge with The Kermis was translating an abstract fascination
into an experience that actually communicated it.
What worked
I turned the original concept into a short, playable game. The playtests also helped me improve the shooting gallery’s usability, from target readability to aiming and feedback.
What I missed
During the final review,
one question stood out:
was the project actually about anti-nostalgia,
rather than the ephemeral splendor I had intended?
The reviewer also felt I had moved from concept to production too quickly, without deeply analyzing the kermis experience itself.
I had tested whether the gameplay worked, but not whether the intended emotional experience came across.
Looking back
Part of that focus came from earlier feedback on Weather Report.
I had been challenged to give players more control
and move beyond building a technically functional system.
With The Kermis, I responded by putting more attention into readability,
aiming and feedback.
The playtests showed that the shooting gallery was enjoyable,
but I didn’t give the wider emotional experience the same attention.
Next time
I’d spend more time observing and analyzing the subject before committing to production. I’d also make room for testing the intended feeling of the experience, alongside its mechanics and usability.
Resources
The game was developed individually, with selected assets and the pre-rendered Ferris wheel sequence contributed by other creators.
I handled the concept, design, programming, gameplay systems and integration of the playable experience.
Some parts of the implementation were vibe-coded. Thank you for reading.
External contributions
- Shooting stall model: Vincent, ArtStation
- Ferris wheel cutscene: @kwasi.me
- UI, teddy bear model: Julia, ArtStation
Audio
- Kenney: Impact Sounds (CC0)
- Pixabay: SFX & Audio used in game
- Kermisgeluiden.nl: SFX used in the trailer
References
- The Code Otter: Interaction System
- Afterlato: How to break stuff
- Sven&Koen: €100 Schieten Op De Kermis