Sushi Loco

Sushi Loco

In 2010, back in the early days of smartphones, a friend and I decided to create a different type of mobile game from what was currently available. Sushi Loco is a project we worked on from the ground up to make a side-scrolling platform game that uses the accelerometer.

It's Open Source

I'm excited to have my largest personal project written released as open source code on Github.

If you aren't inclined yet, are you here looking for a way to make a Katamari Damacy clone? Are you curious to see how linear impulses affect a circle shaped body in a Box2D physics world? Perhaps I've written similar features to things you've written and you'd like to see what conclusions I've made. Learn from this code base as I have from open source code.

Early Day Android Challenges

My friend and I didn't have many options to create a quick mobile game for Android. We both had Android phones with an accelerometer, something that was a desired feature then, and that made our hardware specific enough to begin with. We easily ruled out the Android NDK because we didn't have an existing C++ code base to port. More so, the debugging and build tools were absolutely minimal or non-existent. We couldn't work with blindfolds on! Eventually we well understood that Java was the only way forward. This is why Sushi Loco is written with LibGDX. There simply was no other framework at the time that was fast, worked with native platform tools, and had a strong community presence with active developers. Times have changed and so have the tools. If I were to make a new project today I'd pick LibGDX, Unity, and Unreal as a starting point and then evaluate for my needs. Even the Android NDK is a solid option for an existing code base in C++.

Skills Learned

  • LibGDX game framework architecture
  • Box2D physics for movement and hit detection
  • Java on Android (back when public field access was a CPU optimization)
  • Frustrum culling
  • Texture atlas packing and retrieval
  • Google Wave (RIP) to organize docs and collaborate with teammate