Tameron Honnellio

Goop Troop

Project Info:

  • Role: Game Programmer, Designer, 3D Artist
  • Timeline: 4 Weeks, January 2025
  • Team Size: 1

Tools/Skills: Godot, C#, Blender, Low-poly Modeling, Animation

Goop Troop is a prototype of a 3D platformer inspired Banjo and Kazooie. It was developed as practice with programming a responsive and engaging character controller.

Problem: The challenge with this project was to create a satisfying 3D platformer character controller. This game is set in a western post apocalyptic world taken over by noses, so the idea was to create tight platforming with slippery movement that you might expect to experience with noses for feet.

Process: The initial concept sketches were created by my brother Tristan Honnellio, and after I used them to create, texture, and animate
the 3D model. For my final implementation I took heavy inspiration from the GDC talk from the developers of Celeste on how they used kinematic physics equations to precisely control the feel of the platforming in their game. The most noteable takeaway was to set the max jump height through code to help designers create levels, and also split up the gravity when jumping up versus when in freefall to create a unique character weight and feel. I also implemented wall jumping and a slide to help give the character controller more depth. If I had more time I would have liked to add more mechanics such as a lasso to further deepen movement options.

Learnings: This project was the first time I decided to take an active approach towards creating and designing the assets for a 3D project myself. Because virtually every visual element went through Blender, I spent a lot of time and feel much more confident with the software. Prior to this project I did not have any experience with 3D rigging and animation which made this a great learning opportunity. I also gained practice with recreating the retro look of the early 2000s. I achieved this by downscaling the resolution to match the GameCube and implementing techniques such as flat shading and vertex colors. I learned that in the future with character controllers and entities with complicated behavior, it is more beneficial to break the character script into multiple independent states with their own scripts. This is so that code is easier to maintain and expand.

Character concept by Tristan Honnellio
Character concept by Tristan Honnellio
Character concept by Tristan Honnellio
Model wireframe
Slide animation keyframe
Run animation keyframe

First prototype of the character controller.