'Roots to Humanity' was my first-ever game jam, created during a week-long Global Game Jam in 2023. This project was my first experience with rapid, time-constrained development and my first time working in a large team, where I served as Lead Programmer.
The jam's theme was "Roots", which our team creatively interpreted as the "Roots of Humanity". The concept was a 3D platformer that blended sci-fi, mythology, and religious lore. In our story, the player controlled Adam or Eve, who were originally inhabitants of Mars (the site of the Garden of Eden). To escape Mars' unstable climate, their goal was to travel up Yggdrasil, the World Tree, which was guarded by snakes. In our lore, the asteroid that caused the extinction of the dinosaurs was their ship (the ark), making its chaotic arrival on Earth.
As this was a team project, our features were divided among the group.
My Contributions (Lead Programmer):
Enemy AI: I programmed the core behaviour for the snake enemies. Using C#, I wrote a follow player script that used a trigger volume to detect when the player was within range. Once the player was detected the snake would abandon its patrol point and begin actively moving toward the player to deal damage.
Damage System: I implemented the damage logic for the game. This was implemented through a trigger; upon colliding with the player, the enemy would call the relevant function in the health system to decrease the player's health by one.
Player UI: I created the in-game HUD to display the player's health. This was visualised with a heart icon which displayed the current number of health with a numeric value.
Team Contributions:
Player Controller: The core 3D character movement, including jumping and collision physics.
Health System: The backend for health management, including the health variable itself and the logic for the death state (replaying).
Level & Asset Design: The central "World Tree" 3D model was sourced by our 3D artist, and the team lead blocked out the level layout.
Language: C#
Engine: Unity
Core Concepts: Rapid Prototyping, Collaboration, UI, Collision Triggers
IDE: Visual Studio
Tools: GitHub
As my first game jam, this project was a foundational, high-pressure learning experience. The challenges we faced were significant, but they provided critical lessons in teamwork, scoping, and the realities of development.
Project Scoping: Our biggest challenge was scoping. Our team had an ambitious, creative vision (the Mars-Yggdrasil narrative) but, as a group of students new to game development, our plans far exceeded what we could realistically build in a week. We successfully implemented the core gameplay (platforming on a tree with enemies), but the narrative elements were never integrated. This was a crucial lesson in the importance of defining a Minimum Viable Product (MVP) and prioritising the core loop.
Team Collaboration & Leadership: Stepping into the Lead Programmer role in my first-ever team project was a significant challenge. I had to learn on the fly how to coordinate tasks and integrate my code (enemy AI, UI) with systems built by others (player controller, health). The experience was also a lesson in accountability, as some team members were unable to complete their tasks, leaving planned features un-implemented. This was compounded by a critical communication failure. After I had spent a-significant portion of my time implementing the snake enemies—a feature the team had agreed on during planning—the team lead was confused as to why I was working on it, acting as if it was never discussed. This was a powerful lesson in the importance of not just initial planning, but of continuous, documented communication to ensure everyone stays aligned.
Technical Hurdles: On a technical level, I struggled to get the snake AI's movement right. While the chase logic worked, getting the 3D pathfinding to reliably navigate the tree was difficult. We were left with a bug where the snakes would often float off the platforms, which we didn't have time to fix. This taught me a lot about debugging under a tight deadline.
Final Submission: The final, and most critical, lesson came at the very end. The project was submitted incorrectly—as a zipped-up Unity project file rather than a standalone '.exe'. This made the game unplayable for the judges, this helped underline the importance of verifying submissions and checking work.
Ultimately this project served as a crash course in the realities of team development, where clear communication and realistic scoping proved to be just as important as the code itself.