Obligatory Foreword

As you might expect, I cannot disclose the details of many things I worked on or created during my time at Kooapps, especially due to the nature of my expertise being quite “behind the scenes”.

As a result, this page will be lighter on the details.

I can, however, share anything I’ve contributed to that is already public information, or reasonably inferred from public records.

So, let’s see what I can share about my work at Kooapps in 2023!

Languages used in 2023

(roughly from most to least used)

  • C#
  • C++
  • Bash (+ zsh)
  • Kotlin
  • Java
  • Obj-C / Obj-C++
  • Python
  • Rust
  • ShaderLab / HLSL

(also omitting a couple I’m not proud of…)

Snake.io

snakeio-2631.jpg

  • Continued to lead investigations into improving app stability (ANRs, crashes, NFEs) and performance (framerate, memory usage, ping).
  • Rewrote and package-ified various systems shared across other games; this improved standards compliance, eliminated data discrepancies, boosted app performance, and optimized dev hours.
  • Standardized various asset pipelines, optimizing both runtime performance and iteration time for new content (such as live event DLC).
  • (Unity, C#, Kotlin, Java, Obj-C / Obj-C++)

Piano Tiles 1 & 2

  • These are the O.G. piano games, recently acquired by Kooapps.
  • Made with Cocos2dx (chiefly C++).
  • I was a “strike team” lead for both, conducting code reviews, ensuring TCRs were being met, and identifying critical areas of C++, Java, and Obj-C++ that needed refactoring.
  • Fixed several UX- and revenue-breaking bugs that existed in the original game.
  • Improved upon the original game’s dated build pipeline (Python, CMake, LLVM).

Apple Arcade (iOS, macOS, tvOS)

apple-arcade.png

Due to Apple’s additional layer of non-disclosure, this one must be kept particularly short.

All I can say is this:

  • I gained intimate experience in retargeting several of our games from iOS (mobile) to the exclusive Apple Arcade multi-platform.
  • This was my first time building anything that targets smart TVs.

Unity’s “Runtime Fee” ****-Storm

unity-has-stopped.jpg

Yeesh. Such tumult! (Aside: When is the Internet Historian documentary coming out?)

If you need a recap of the worldwide, industry-disrupting phenomenon to which I am referring, this post from pocketgamer.biz should be able to fill you in, or perhaps this video, if words there too many are.

Even if Unity later applied some damage control to their mistake (albeit a bit late; the world’s trust in them was already broken), this sticky situation did present an awesome opportunity to my work:

“Hey Levi, let’s try porting our Unity games to any other engine!”

And so, a decent amount of time in the final 2 months of my employment was spent exploring the viability of Godot and various forks of Cocos2dx for 3D and 2D mobile games, respectively.

godot+cocos2dx.png

This was very exciting to me, as I find enginecraft to be positively envigorating, and I am very glad to say I’ve now explored it in a professional setting.

Deployed a new data analysis platform

Can’t show much about this one either—nor do I particularly enjoy frontend web development, I just do it as needed—so I’ll leave it short and sweet.

It’s as simple as this: the platform our analysts were using had problems, so I deployed our own platform that has none of those problems. Got it working and attached to existing at-scale databases in under a week, and they loved it.

Training Game Engineers

Public information from LinkedIn shows that Kooapps hired several new Game Engineers in the Bellevue area around the time leading up to my departure. (Just covering my bases…)

My last few weeks at Kooapps were spent onboarding and training these talented folks to become my replacements. This being my third time onboarding devs functionally under my management, my training process was tailored from the ground-up to fit the company’s needs, and with “love and efficiency” in mind.

I can say I am proud to have proven to Kooapps the value of having a tech team physically near your ops and design teams, even considering they cost a bit more to hire in the Pacific Northwest than overseas.

I wish my trainees all the luck in the world, and genuinely hope they find a niche where they can thrive.
If I had to emphasize just one thing I taught them above all the others, it might be this:

Architecture is always guilty until proven innocent.


See Also: