Blog

Bringing Octodad: Dadliest Catch to SHIELD

Octodad: Dadliest Catch is a physics-based comedy adventure game created by Chicago indie studio Young Horses.  It is the commercial successor to the student game “Octodad”, one of the Student Showcase winners of the 2011 Independent Games Festival.

octodad_02The player controls Octodad, a dapper octopus masquerading as a human, as he goes about his life. Octodad’s existence is a constant struggle, as he must master mundane tasks with
his unwieldy boneless tentacles while simultaneously keeping his cephalopodan nature a secret from his human family.

What Went Right?

Performance

Both the Tegra K1 and the Tegra X1 allowed us to bring versions of Octodad to Android without compromise, even beating out performance in some of our other current gen console versions.  Being able to specifically identify SHIELD devices allowed us to keep the higher quality levels that we used on PC and console.

AndroidWorks

At first, trying to port the game to Android was confusing.  We had trouble getting Eclipse and the development environment setup with our native C++ codebase, causing us to eventually give up on it for a short while.  Searching around to see if it were possible to instead use Visual Studio led us to find NVIDIA’s AndroidWorks.  With it, debugging and writing native code is just as easy as it is for Windows applications.

Google Play

Uploading the APK to Google Play and distributing a beta among friends and our own devices made testing and sharing a breeze.  It is possibly the easiest submission process we have used for a distribution platform.  Additionally, integrating Google Play services made it easy to add and manage achievements and cloud save support.

Open Source Software & Middleware

Our game is primarily built with Irrlicht (an open source rendering engine), PhysX, and FMOD.  A working branch for Irrlicht using OpenGL ES allowed us to quickly port the game, while freedom to select which versions of PhysX and FMOD to use allowed us to avoid dealing with issues that might have come from updating to newer versions.

Challenges

Touch-Friendly UI Changes

Our menus and controls were originally designed with PC and console in mind.  While translating our controls to touch was fairly straightforward, user interface changes were a bit more involved.  We already had support for arbitrary resolutions and aspect ratios, but we had to add support for scaling based on pixel density.  Additionally, we sized up the different UI elements in order to be more touch friendly, which also necessitated a complete redesign for the level select menu.

Reading FMOD files from Archive

For the longest time, there existed a bug where the game would occasionally crash when loading.  Eventually, by a long process of elimination, it was determined that our method of FMOD reading audio files in a compressed archive through Irrlicht was the issue.  To avoid this crash, we simply extract the audio files before accessing them.

octodad_08octodad_10

3 Comments

  1. druzzle
    November 5, 2015

    Octodad 3: Octobad. Octodad must now keep his secret identity as a double agent for (European country) from his family, all while keeping his other identity as an Octopus from the rest of the world.

    You can thank me later – When should I expect to receive royalties? An executive position will also do.

    I can accept valuable possessions.

    • November 23, 2015

      uma vida feilz

  2. November 23, 2015

    happy