A Godlike Good Kid [Unity3D: iPad]

Designed to be a visual novel / puzzle game in the style of comic books, A Godlike Good Kid follows Faye’s journey with Ernest to recover her lost memories.

Introduction

This is a large project with four core developers, that has fourteen artists contributing art, and two audio designers contributing SFX and music. We spent three months on pre-production, testing out various prototypes and ideas, culminating in a vertical slice presentation: a first playable that was as polished as we could make it. Following that we adjusted our scope and shortened the story to fit the team’s velocity and the availability of third parties.

For production, we are following Agile development methodologies (Scrum) with fortnightly sprints, although it would be unfair to say that the game is 100% feature-locked at this point (probably around 90%).

My role in the project has been that of the technical lead, although I am also involved in puzzle design, page composition, storyboarding, coordinating and communicating with third parties, and maintaining the scrum board.

Accomplishments

Fig 1: Architecture Overview
  • Created a two-tiered semantic structure for all scripts (Fig 1):
    • Tier I [game-wide]: including persistent singleton Game Manager, page-swipe handler, camera saturator etc.
    • Tier II [per-page]: including derived Page Managers and any scripts specific to one page.
  • Built a robust API for level designers, based on pre-production learnings, incorporating strengths of OOP and C#, like inheritance, composition, interfaces, events/delegates, lambda functions, etc.
  • Implemented a page-agnostic Debugger, that has the following features:
    • Enable/disable by tapping corners of device screen in clockwise order.
    • Adjust game speed (0x – 6x).
    • Skip/rewind to next/previous page (if existent).
    • Logs messages (call Debugger.LogMessage(string message, Component caller) to display): two-line timed cache.
    • Provides visual traces of swipes.
  • Created several pages of content, assisted other page creators with their issues.
  • Assisted in storytelling and characterisation.
  • Assisted in puzzle design.
  • Assisted in audio design.
Testimonial from a teammate!