Dont Touch The Exhibits
Shipped a physics-driven puzzle-shooter with predictive throw trajectories, nav-mesh animal AI, and infinite escalating levels, deployed through an automated Jenkins pipeline.
- Team
- Solo
- Engine
- Unreal Engine 5
- Type
- Game jam
- Status
- Released
Play it

Runs in the browser. Loads on demand so the page stays light.
The problem
Physics-based throwing is satisfying to perform and almost impossible to aim. Without feedback before release, players are guessing, and a puzzle built on guessing is frustrating rather than hard.
The approach
Wrote a real-time line renderer that traces the projected throw arc before the player commits, turning the throw from a gamble into a readable decision. Colour-coded dimension windows define which animal belongs where, and grabbed animals swap to a transparent material so the player can always see the target through what they are holding.
What I built
- Physics-Based Interaction - Implemented animal grabbing and throwing mechanics using Unreal Engine's physics system.
- Predictive Trajectory System - Created a real-time line renderer to visualize throw paths before release.
- AI Navigation & Behavior - Developed animal AI with nav mesh pathfinding, including jumping and avoidance behaviors.
- Level Progression System - Built an infinite level structure with escalating challenge.
- Dynamic Material Changes - Programmed real-time material swapping (animals turning transparent when grabbed).
- Color-Coded Puzzle System - Designed dimension windows with color-matching logic to determine correct targets for animals.
- Custom UI Design & Implementation - Built an intuitive interface displaying color matches, player objectives, and feedback.
- Game Loop & Flow Control - Managed spawn systems, win/lose conditions, and player progression.
- Performance Optimization - Balanced physics interactions for smooth performance during chaotic gameplay.
- Player Feedback Systems - Incorporated visual and gameplay cues to guide players in real-time decision-making.
- Rapid Prototyping for Game Jams - Delivered a functional, polished experience within strict time limits.
- Testing & Iteration - Conducted playtesting and refined mechanics for better pacing and feel.
- CI/CD Integration - Continuous integration and delivery with Jenkins, allowing for automated builds, error checks, and deployment to Itch.io.
Screenshots
Built with
What I'd do differently
The trajectory renderer was the difference between the core mechanic being fun and being irritating — worth far more than any additional content would have been. Balancing simultaneous physics interactions against frame rate during the chaotic moments took real tuning.