How we build Crush Crush

This post was written by Programmer Panda!

We thought it would be cool to give an overview of the technology that Sad Panda employs to create its games, and the process we follow to get new content to our players every two weeks in Crush Crush.

Jira and Google Sheets

It all starts out with organization. Sad Panda uses Jira for task tracking, and pairs Jira with the Google Suite of tools (such as docs and sheets) to collaborate on game ideas, balance, content and events. Once a game idea is solidified, the content for it is added into something we call a ‘Universe’ sheet for that game. It can take anywhere from 2 – 5 months from the initial character or feature idea to make it into the game. Each Sad Panda game has its own Universe doc, and that sheet contains all of the data associated with the balance and dialogue of the game. For example, here’s a screenshot of some of the type of data you find in the Crush Crush Universe sheet:

Meanwhile, Artist Panda is busy working with her artists generating all the art assets necessary for the game. Each new Crush Crush character has more than 80 unique art assets on average. This includes in-game content such as their poses or outfits, but also includes custom backgrounds and banners for our different platforms. Most of the art is completed in the Adobe suite, such as Photoshop and Animate (Flash). Artist Panda also works with voice actresses to bring the written dialogue to life, and edits the audio in Audacity to make it game-ready.

One of Artist Panda’s folders for just 1 character’s art assets

Once all this content is ready, it is up to Programmer Panda to get it all into the game. The game is built in the Unity Engine, and all of the audio, texture and text assets needs to be brought into Unity correctly. All of the assets are individually assigned to asset bundles that group common assets together. For example, the bikini outfit images for Cassie are in an asset bundle called cassie/cassie_bikini. These asset bundles are loaded on demand by the game only when necessary, and are unloaded when they are not needed any more. The in-game Universe data is automatically synced with the Google sheet by using Google API calls from within Unity itself.

A scene from the mobile project in Unity

Once all the content is in Unity and new code is written, we can start the QA process. QA Panda will get early copies of the build via a Steam alpha branch. Assets are re-scaled slightly and retargeted for the web platforms. Early Nutaku copies are also available behind the scenes, and QA/Programmer Panda work back and forth to ensure everything is working as expected. OjiPanda is often enlisted to play the game to verify whether any balance tweaks are necessary. Then the build is made available to our beta testers, usually a few days in advance of the actual release. This can catch some last minute bugs, and we’re very thankful that we have a great group of people playing our game in the Steam beta channel.

If you want to learn more about how you can help playtest the beta on Steam, please check out our forum post here.

One thought on “How we build Crush Crush

  1. Ben Walbolt

    Awesome to see this stuff. Please blog more in 2020!!

    I’m doing my integrated capstone project and I got roled with Project Manager, so finding out about Jira was pretty convenient (not a big fan of Microsoft Access).

    If you guys want some more music for any of your games or pixel art, I’d be happy to create a few!

    C# FTW



Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s