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.
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.
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.
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.