Tsunami Takedown

9th Annual Chico Game Jam

This is a game where a submarine (that does not go underwater) fights a dragon (that does go underwater). It was made in 48 hours for the 9th annual Chico Game Jam with a team of 5 other developers. The team agreed to credit me as the Project Lead for my contributions to the design, team organization, and technical implementation.

Credits

Angel Padilla – Modeler

Eric DiGiovanni – Modeler

Kenta Fukuda – UI Programmer / Modeler

Samuel Simpson – Animator

Shawn Bradbury – Programmer

 

Conceptualization

As early as the brainstorming phase I worked to align the team by:

    • Designing a concept that integrated ideas from everyone on the team, clarifying our goals, and helping create a backlog.
    • Having an open discussion to find out what tasks excited each member, and designating tasks based on this.
    • Making the Git repository and mentoring non-technical team members on best practices.

This phase was pivotal because it gave everyone a clear and achievable task within the first hour, which jump started our momentum.

Engineering Responsibilities

Given my background in programming, I worked directly on features and technical direction. My contributions include:

    • Programming kinematics and collision corrections for the player controls.
    • Implementing an animation machine. This required direct collaboration with the animator, since some root motion and state breakdowns had to be corrected.
    • Handling GitHub merges as well as debugging and implementation for final versions of features.

Here are some examples of technical issues and how we solved them:

    • There was a design misalignment in the player aiming script.
        • I modified the code and discussed the changes with the programmer.
        • The result was a system that clearly communicates where the player is aiming.
    • There was a bug where the enemy AI would get stuck in the same state on loop.
        • This bug seemed to originate from the AI being tested in a smaller scene, at lower speeds, than the final implementation. 
        • I worked directly with the programmer to narrow down where the bug might be occurring, then fixed the issue on my own.

Working With The Art Team

Throughout the project I supported the art team in implementing their assets in game. This included:

    • Importing assets, correcting scale, applying materials, and implementing prefabs.
    • Helping to design the visual language of our level.
    • Creating a dedicated branch and template scene for level art. 
    • Implementing gameplay animations.

Animations by Samuel Simpson 

Postmortem

Overall I’m happy with what the team accomplished, but there were a few speed bumps:

    1. Production issues:
      • At one point I messed up our main branch while trying to resolve a merge conflict when I should’ve been sleeping. Though admittedly embarrassing, the problem was resolved quickly and we had no further issues with merging.
      • We used personal branches instead of feature branches, since most of the team seemed more comfortable with this approach. Next time I would like to implement feature branches. 
    2. Design issues:
      • The game doesn’t give strong feedback to the player. IE a lack of HUD or effects to indicate damage dealing hits. 
      • Solution: I need to plan for these kinds of features early on, lest we run out of time to implement them near the end.

Despite these issues, this was still one of the more successful game jams I have taken part in. 

I think I’m most proud of the fact that everyone on the team got to contribute something that was significant and meaningful to them.