BackBack
Featured Image

Beyond the Tower: A Developer’s Post Mortem and What Comes Next

Introduction

Hello! This will be a somewhat lengthy and, to be honest, probably boring blog post discussing how a big feature like the Infinite Tower gets developed and released for CPJ. I’ll also touch on some future plans (many of which have already been teased in-game through developer broadcasts) and how we plan to approach the development, testing, and eventual release of those projects.

I won’t dive deep into the code line by line, since that’s not the point of this post. Instead, I want to give the community a better perspective on how we work behind the scenes as developers. Hopefully this gives some much-needed clarity.

To be clear, I didn’t write the majority of the tower. I worked on the Jester Shop dialogue and a bunch of bug fixes, but not the whole thing. Massive credit goes to the rest of the team, especially the developer who did most of the work.

Since we’re an anonymous team, I can’t give my real alias or full details. You may know me from support tickets as Quantum Penguin, and I’m part of management with the role title of Head Developer. I joined CPJ just under a year ago, around Fair 2024.

You might be wondering why I’m writing this. It’s because I think it’s important to show the true scope of the development team. When I joined, we had over ten developers working on the game. Right now, we have three. And only one developer—myself—can work across all parts of our codebase.

I don’t say this to gain sympathy or admiration. I love working on CPJ despite the stress and challenges. It brings me a lot of joy to take our team’s hard work and turn it into something you can all interact with and talk about.


Why does our teams size matter?

The size of our team directly impacts how and when we can implement new features. We recently accepted some new developers, but it’s clear that it wasn’t enough. Expanding our team is a priority, not just in development but in other parts of the project too.

Later in this post, I’ll talk more about our hiring plans and how we’ll restructure the dev team’s organization to improve efficiency.

We use project management tools like Jira and ClickUp to plan and coordinate work. We hold weekly meetings to make sure everyone is on the same page. Every task we take on has a deadline or due date.

And yet we still lost track of the due date for Infinite Tower. Why?


What Happened with Infinite Tower?

Despite having the project planned and written out, the main developer for the tower wasn’t available during key parts of its revamp. We also wanted to make sure that major bugs found during internal QA were fixed before release, but we didn’t have enough time to test everything properly.

This is no one’s fault but our own. We have a bad tendency to overpromise to the team, and I should have been more involved in the tower’s planning and design phase. Maybe, if I had been there earlier, we could have prepared better for the issues we faced. But that’s in the past.

What matters now is learning from this.

Going forward, a developer will be looped in from the very beginning of the planning phase for bigger features. This will help us better estimate realistic release windows without relying on last-minute crunch.


Shifting Focus: Refining our Work

If you look at this year’s track record, most major parties and events came with brand-new systems or massive overhauls:

  • 2nd Anniversary brought the board game
  • Puffle Party brought the puffle revamp
  • Festival of Flight brought Operation Mayday
  • Medieval Party brought Infinite Tower

And many of these additions have become permanent features of the island.

From the tower being magically sealed in a book (thank you, Garianna) to puffles now digging up rares and leveling up, we’ve been able to implement huge changes.

But the downside? After release, we often don’t have enough time to clean up and maintain these systems beyond initial bug fixes. Focusing on big new ideas can take attention away from improving what’s already in the game.

I love big, ambitious parties, but I love smaller ones too. One of my favorite events ever was the Honeypuppy concert. It was simple to develop, just two rooms and a concert and it was fun. At this point, I’ve done quite a few concerts, so it was straightforward and low stress.

To be clear, we’re not done doing big systems. But we do plan to slow the pace down and focus more on traditional parties and evergreen content. That means fewer giant deadlines and more breathing room to polish what we already have.

We’ve been talking internally about more island-wide mini-events too. We’ve done a lot this past year. Now it’s time to refine it.


How We Prevent this from Happening Again

Here’s a quick recap of the core issues that led to what happened with Infinite Tower:

  • Our team is too small
  • Developers weren’t involved early enough in the planning phase
  • We’ve taken on too many massive systems at once

We are unbelievably proud of what we’ve accomplished despite the pressure. The updates this year have been amazing. This post-mortem is now officially complete, but there’s still more to share about what’s coming next.


The Future of the Develpment Team

We will be opening developer applications again soon.

Previously, we only hired developers experienced with Phaser (our game engine). But going forward, we’ll also be hiring developers for web services and tools.

Currently, a lot of our internal tools aren’t made by us, which means we’re limited by what those systems can do. One example is our chat filtering API. We recently moved to a new provider, but it’s still a complicated and expensive process.

At our peak, we were processing 10 to 15 million chat messages a month. These messages need to be filtered within milliseconds or chat becomes sluggish. And it has to be accurate too, so messages like “how silly is your puffle?” don’t get flagged.

Filtering like this costs thousands of dollars per month, but it’s worth it to keep chat safe and functional.

We’ve also got a big backlog of name requests, which would benefit from automation. This doesn’t mean replacing our human trust and safety team, but we want to support them with better tools.

The goal is to bring on people who can build systems just for CPJ, to improve our workflow and reduce the burden on individual devs.

If you’re interested, we’ll post more information about applications soon.


What’s Coming Next? (Spoilers!)

Like I said, we’re not slowing down.

A while ago, I teased something “fire” coming up in a developer broadcast. I can now explicitly confirm that:

Card Jitsu Fire is coming to CPJ.

It’s about 95 percent complete, with just matchmaking and bug testing left. There’s no release date yet, but we will not launch it until we’ve thoroughly tested it.

We’ve also started work on Card Jitsu Water and Card Jitsu Snow:

  • Water is in prototyping
  • Snow began development right after Fire wrapped

We’re not just importing these games—we’ve rebuilt the entire engine from the ground up. Most CPPSs emulate the original Flash versions using Ruffle. It works well, but it’s not optimized. Many of you probably remember how Card Jitsu Water could barely run on older computers.

By porting to Phaser, our versions should perform much better, especially on mobile devices.

To be clear, only Fire is near completion. Water and Snow still have a long way to go. But when we’re ready, we’ll do internal testing and maybe even public alpha and beta tests.


More Puffle Features Incoming

Spoiler alert, you might have seen some datamined content floating around: puffle clothing, magic berries, and other upgrades.

When I wrote the original puffle revamp, I expected to have additional help. I didn’t. While I did get support with performance and crash fixes, I had to write nearly all of it solo. That meant features like berries and puffle outfits were left unfinished.

Now, with the shift toward evergreen content, I’ll finally have time to finish them.


Final Thoughts

If you’re still reading, thank you. And sorry. I’m a very stereotypical programmer, and my writing skills are… well, underdeveloped (unintended pun).

If people are interested in more posts like this, I’d be happy to do another. Maybe shorter, with more behind-the-scenes visuals or code examples.

A huge thank you to my fellow developers and to the CPJ team as a whole. They work incredibly hard every week to bring unforgettable moments to the island.

And most of all, thank you to the players. We see your posts, your comments, your videos, your discussions. It motivates us more than you know. You’ve made CPJ your own, and there are no words to fully express our gratitude.

Quantum Penguin
Head Developer, CPJ