Archery Wave Defender
🎮 Play on itch.ioVillage en Détresse - French release name
Role: Game Designer & Developer - Solo
Context
First solo GameJam, theme "Gravity", 5-day limit. You play as a heroic archer defending your city against waves of magic-arrow-wielding skeletons. The goal wasn't to ship a polished game - it was to learn. Two completely new areas were on my radar: UE5's Niagara particle system and 2D gameplay in a 3D engine. This is the first playable game I shipped in UE5.
The game is available on itch.io - buggy, unfinished, and that's documented. It's a learning snapshot, not a polished showcase.
UI as a controller
The original intent was to make the UI an interaction tool rather than a passive interface. In practice: click and drag to define both the direction and speed of the projectile based on stretch distance - like a physical bow, but handled directly on screen.
An unexpected side effect: the procedural animation of the character twisting to follow the shot direction produced a goofy quality I embraced. It wasn't planned, but it contributed to the game's tone.
What was added after the Jam
- Fixed buggy enemies - arrows now connect 100% of the time when properly aimed
- Teleportation portals to kite enemies endlessly
- Character auto-rotation after a few seconds of running in one direction
- Upgrade selection system at the end of each wave
- Additional particle effects throughout
- Generally improved hitboxes
Scope and time management: what I learned
5 days solo - the ambition was too wide. The rogue-like upgrade system at the end of each wave was probably too much. I also invested time making my own VFX from scratch - enemy torches, teleportation portal - details that cost a lot of time for limited impact on the overall experience.
What I took away: immediately define my main learning focus for the Jam, and take fewer risks elsewhere. I directly applied this lesson to the next project.
Knowing when to stop
I kept working for a month after the Jam to polish and fix, then stopped. The real potential of the game didn't justify the additional time and money required to properly finish it. I had extracted the knowledge I was after - Niagara, 2D, win/lose loop, optimization - and team projects were waiting.
Knowing when a project has fulfilled its learning purpose and moving on is a skill in itself. One I'm still refining.
