Mio the Cat who is also a Waifu

Warning: This post is a bit of a downer, and talks about some sad stuff like losing a beloved pet. If that doesn’t sound like something you want to read about then you can skip this post.

Mio & Mio!

Hi, Artist Panda here. AKA Morgan. AKA Mio?? It’s a bit confusing, I know. So I’ll explain that bit, but I just wanted to preface this blog post with a little apology. I’m going to talk about Crush Crush and some of the easter eggs in that game but the main purpose of me writing this is to help with my grief of losing someone very dear to me. My oldest and best friend in the world, Mio.

Artist Panda & Mio

This is my cat. His name is Mio and he’s a long haired orange tabby with amber colored eyes. He’s one of the most chill and gentle cats you could ever meet. I know there are some cats out there who hiss, use their claws, and can be a royal pain, but not this little dude. He has always been a gentle soul with nothing but love, nuzzles, purrs and meows to share. This blog post is going to be about his story and how he played such an important part in the making of Crush Crush.

Wee baby Mio

Rewind the clock to the year 2006, and younger me was in school having a hard time with some life stuff. So I decided to comfort myself by adopting a furry friend. Enter Mio! I met him at the local SPCA a couple months after Christmas, because I knew there would be a rush of people getting kittens in time for the holiday… Then sadly some would be left behind or even returned by owners who couldn’t handle the responsibility. So I wanted to adopt a kitty who had a low chance of getting a furever home. When I met him, he had a really cute scratch on his nose; probably from one of the other cats at the SPCA. But he was affectionate and chatty right away with me. It was pretty much love at first sight ❤ I took him home and he got settled in really fast. Loved to play, loved to nap in sunbeams, and sometimes slept in my bed with me. He was an adorable kitten, and grew up really reeeeally fast. I regret not taking more pictures of him as a kitten, but then again I only had a 2 megapixel crap camera at the time!

Add water and he grows! (He always loved being in the sink, from kitten to adulthood)

Mio grew up to be a big beautiful boy with a kind heart. He was always friendly and warm towards new people, other cats, and even dogs. There was a bunny rabbit who lived nearby and sometimes Mio would hang out with the bunny too, like it was just another cat. His favorite thing to do was hang out in the grass and soak up the sunshine. Unfortunately we had to move around to different apartments, and most of them didn’t allow backyard romps (because we were on the 2nd or 4th floor).

Mio & Toko the rabbit

Later on in life, Quill joined the party. She was a complete ditz of a kitten when I got her, and SUPER needy. Like she would cry out as soon as I left for work. But she was a very sweet kitten and grew attached to me. She still continues to follow me around wherever I go, sleeps beside me, and even as I write this she’s heating up my lap.

Quill & Mio snuggle time

When I got my first apartment and was able to live on my own, I had a lot of downtime after work. So I’d normally pick up art commissions to fill my time. But that was a major drag and felt very unfulfilling to work for Club Penguin all day and then work for another company at night doing these commissions. So I decided to focus on my own art and try doing the Youtube thing. I didn’t want to use my real name, so I made the alias ‘Mio’ named after my cat and started doing silly videos. I created some OC anime girl characters, and Mio was probably the first one.

Mio chillin on my home work station
some silly videos

“Mio” the character was kind of a mix of me at the time combined with Mio the cat. Her hairstyle is based on me, along with her nerdy/gamer-girl-ness but I wanted her to be cute like Mio the cat. She has ribbons in her hair because I would sometimes dress up Mio in pretty ribbons (lol) and the cat-bell necklace is a cat thing. There’s a more obvious connection with Quill’s design because she has the literal Quill on her shoulder (my other cat). Quill is a girl IRL but Mio (my orange kitty) is a boy. I know it’s a bit confusing.


The cats and I had a good life at the apartment and I got lots of personal artwork done. What was I going to do with it all? Well, I was passionate about games and always wanted to make my own one day. A friend of mine from Club Penguin (Cody) was a really talented game designer, and we would chat about making games on the side. We tried a few and they didn’t get very far, so it was kind of a flop. Sad Panda was the title of one game we really wanted to make, but I’ll save that story for another blog post. Several years later I met Programmer Panda who changed everything! He was able to actually take our ideas and bring them to life. So we hacked on that for fun, and I left Club Penguin to pursue this new opportunity of making our own games, and it kinda worked out. Crush Crush launched in 2016 on Kongregate and had a really good following so we just kept iterating on it and adding features, more characters, and other good stuff. Mio became one of the most popular characters, which I find embarrassing and flattering because she’s basically me when I was younger. But I liked the idea of making her the mascot of the game, so that’s why you see so much Mio everywhere. She was also the first character I developed for what would become Crush Crush. Mio and Quill were the first girls ❤

Mio in the (backyard) jungle

When I decided to leave my job at Disney (Club Penguin) to go start my own game studio, I made a silly video to commemorate it. You can see Mio on my shoulder in that video at the 3 minute mark: https://youtu.be/7GZVrsJ2uck?t=182 That was how he traveled around the house – always on my shoulder. It was awesome having that big orange blob perched on my shoulder while I roamed around. If you don’t believe me, I made a collage to prove it:

He loooooved shoulder rides

Mio, my cat, would always sit behind me on my chair (it has a wide top) while I worked. He kept me company and it was really nice having him always be there with me. I would talk to him and give him little chin scritches, and when I think about all the hours we did this over time it must be in the thousands. I started drawing stuff for Crush Crush so many years ago, and he stayed near me every time I was drawing on the computer. We moved around a few more times, (but I still had that same chair) so our routine didn’t change much. Come home from work, eat dinner with the cats, and hang out with them while I worked on personal game stuff all night. 

Hanging out working on some Mio art

We moved around many times in my life, but Mio was my constant/my rock. After living in so many crappy apartments, the 8th and final place that Mio and I moved to was a house with a backyard full of tall green grass. It was really lovely, because I know how much he enjoyed being out there. I was worried about coyotes in the area, and the road nearby so I would go out to the backyard with him to make sure he didn’t wander too far. He loved every minute of it; chomping on the grass, rolling in the dirt, digging up the dirt, catching grasshoppers, and sunbathing in the nice fresh air. I always wanted to give him that, and make sure he had a good comfortable life. I think he did, but I still have my regrets.

Nothing made him happier than some sunshine and being outside

In 2018 Mio started having health issues. The vet said his kidneys were failing, and he had a murmur in his heart. His lungs were also filling up with fluid because his heart couldn’t keep up with the work. So around that time I had the realization that he might not live much longer. The vet didn’t think he would, but he still prescribed different medications to see it any helped. So each morning I would wake up early to give Mio a heart pill called Pimobendan (vetmedin) and then he could eat his breakfast an hour later. After that he would get 1ml of Furosemide to help with the fluid in his lungs. There was another med he was on for a while but it made him barf, so I stopped giving him that one. The same heart pill + lung medicine had to be given to him each night so that became my routine.

At the Vet’s…

Miraculously he seemed to bounce back. His appetite returned, and he switched to some kidney-friendly foods and was doing pretty well, all things considered. I definitely counted my blessings for this ‘borrowed time’ with Mio. Especially since I was working on Sad Panda stuff full time at home (thank you to all the players who have made that possible…). I was at least able to be home with him most of the time since that was where I worked. The thought of losing Mio cost me many sleepless nights and tears shed. He was just the best cat, best friend, and inspiration for so much of what I did. But like all things, they get old and eventually break down…

Mio & Quill just chillin’

He started to show signs of labored breathing in November 2020. It was incredibly tough because the world had changed so much due to COVID-19. So when he went to the emergency vet (it was around midnight) I was told to keep my distance, stay outside, and couldn’t come in to see him. Handing him off to the vet without knowing if he would make it that night was really hard on me. I stayed up until around 3am waiting to hear back from the vet, and they gave me really bad news… His lungs were filling up with liquid like crazy, his heart was failing, kidneys were in rough shape, and he had a tumor. So the vet pushed me to euthanize him that night but I resisted because I wanted him to be comfortable at home. Not die in some cold strange clinic. No offense to the clinic, they were doing a good job and probably saw the euthanization as a kind way to put him out of his misery before symptoms got really bad (coughing up fluid / choking etc). But it didn’t feel right, and I put my foot down to say that I would take him home and monitor how he was doing. I felt like that’s what Mio would have wanted too.

Quill, Tessa, and Mio – all characters in Crush Crush!

Over the next few days I spent all my time with him, and watched to see if his condition worsened, ready (and dreading) to call the vet for an at-home euthanization. Sidenote – if you ever have to go through that awful experience of putting a pet down then PLEASE go in the vet room with them / pet them / stay with them while they pass!! There were a few bouts of coughing at first, but days went by and the time between coughs got longer, and then weeks passed and he wasn’t coughing anymore. He actually bounced back again, to everyone’s surprise! His appetite was great, he was moving around and jumping back up on my chair to keep me company. Mio was just a super warrior who kept on going despite all of his health issues. He wasn’t 100% back to normal, because you could still tell he had a hard time breathing but his quality of life seemed good. So I decided to spend more time with him, going outside, giving him tons of pets and attention, and let him eat everything he wanted. Tuna, ice cream, rice cakes (he loved those) and other treats. Normally that would be a big no-no because cats should only be eating cat food, but I figured he might only have a few days left so there was no harm in letting him enjoy those things. And the tough little guy actually held on for months! It wasn’t until March that he finally threw in the towel, and I am so impressed with his strong spirit and will to live. He made me very proud of how well he did. And I’m incredibly grateful for all the extra time I was able to spend with him, one last time.

Mio helping me with Sad Panda work

The day he passed away makes me feel really sad, and full of regrets. Even though everyone tells me it was peaceful and one of the best ways he could leave this world, I still have a hard time accepting it. That day, I was really busy with work and didn’t give him much attention. There was an accident early that morning where he jumped off my shoulder in a hurry (because I was filling up his water dish – and he got spooked by the sound of the running tap), and landed on the ground awkwardly. I’ll never forgive myself for that, and will carry this guilt with me forever. Because even though he was eating fine and came outside to lay in the sunshine with me later that day, he really wasn’t in good shape. I could tell he was moving slower than normal and seemed pretty lethargic. But only a few days ago he had jumped up to be on my chair like normal… so it came as a surprise to see him struggling so much that day. I noticed him slowing down over the past few weeks but my stupid brain told myself he was doing OK, and would hang in there or let me know if he wasn’t feeling good. I think cats just do a good job of hiding things from us, so it’s harder to tell if they aren’t doing well.

Pumpkin kitty sittin’ in a pumpkin patch, happy as a clam.

He slept by the fireplace for most of the day while I worked upstairs, and then I had a phone call at 4 (which is normally when I would go spend time with him to give him his meds). So after my phone call ended around 4:44 I headed downstairs and didn’t see him by the fireplace. Now, I’m not really superstitious but in Asian cultures the number 4 is homophonous to the word death, so the time I found him is a little strange. I began walking down the stairs to the basement and was met with a really heart-wrenching sight: Mio had died, laying down on the floor, and his eyes were open looking right at me. I don’t understand how it happened, but after looking in the basement it seems like he started leaving the litter box while still doing his business and dribbled on the floor (which he’s never done before). I think what happened next was he made his way up to the top of the stairs, and laid down to rest. Then he never woke up. It could be that he suffered a heart attack and tried to go upstairs, but it tired him out, so he just couldn’t go any further. But it hurts knowing that I was probably only minutes away from discovering him after he passed. He was still warm, and I swear there was something in his eyes when I found him, but he was gone. He was really gone. I talked to him and scooped him up into my arms, apologizing and telling him how much I loved him. It devastated me, and I haven’t been able to stop crying ever since.

It took me a whole month before I could work up the courage to write this blog post… He passed away on March 3, 2021. It’s been really difficult, but each day I think it becomes a little easier to get back into routine with work and everything else. Some days are definitely harder than others, but I think the saying about how life goes on is sorta true; you’re just not the same but you can keep going. The hole in my heart is still there, and I think of Mio often. There are constant reminders about him everywhere – in my Sad Panda work, in pictures that I have around, and furniture that he spent so much time on (like the back of my work chair). My goal is to include Mio (and Quill) in everything I do, so their memories can live on. I’ll be sneaking Mio references in all the Sad Panda games now until I die, even in silly ways like turning him into a cute girl. So I guess if you’ve read this far then maybe you learned something new about Crush Crush, or at least the character Mio. Sorry it was a long rant with a ton of personal sad stuff, but I wanted to tell the origin story of Mio. He’s been with me longer than anyone else in my life and has become an important part of who I am. Crush Crush wouldn’t be the same without him! So we should all appreciate the amazing kitty Mio. Thank you for everything, old friend.

Here’s Mio with his lion-shave haircut in Kitty Catsanova (a game we released a while ago)

Since this blog post was taken up by me talking about how great Mio was and how he was always by my side, I think I’ll wrap it up by sharing a collage of Mio & me, just being together. He was always with me, and he’ll always be in my heart.

So many Mios!

Lady Pandas

One of the more surprising facts about Sad Panda Studios is that its creative staff is comprised of almost entirely women.

While the Studio itself has an even split of men and women overall, the majority of Sad Panda’s artists, writers and creative staff just happen to be female. That may be a surprise to some fans, since the studio’s main products are dating sims.

Sad Panda has two versions of its hit dating game – Crush Crush and Blush Blush. Crush Crush features a cast of all girl characters, while Blush Blush features all men. In both games the characters the player interacts with are open to any gender for their romantic partner. And what’s interesting is that both games are played equally by all genders. The demographics are split 50/50, which may seem surprising for those familiar with the genre of Date Sims, as most are aimed primarily at male audiences of various sexual orientations.

This comportment of the team was not intentional, but fortunately it was sort of somewhat inevitable, as the Studio has always championed games that, while featuring adult content, nonetheless convey positive social messaging in terms of cultural differences, gender, romantic consent, and sexual orientations.  

Since the formation of the Studio, the founding members knew they didn’t want to simply create games with a sexual gimmick or edge. They wanted to create experiences that were fun and light-hearted at first, before progressing into moments of intimacy and strong emotional underpinnings.

That openness to being inclusive and positive, the dedication to quality experiences, and wanting their games to have as much “heart” as they have “heart throbbing” content, meant it was to the studio’s advantage to have as great a variety of artists and creators as possible.

So let’s shine a spotlight on all the lovely ladies who have contributed to Sad Panda games, either past or present.

Name: Artist Panda (Morgan Long)
Panda projects worked on: All of them! I started Sad Panda Studios
Role: Artist / Art Director
Follow her: https://twitter.com/CrushCrushDX and https://twitter.com/SadPandaStudio

Ok starting with meeee, haha. I am Artist Panda and I’m one of the 3 peeps who founded ‘Sad Panda Studios’. My back-story is long and tragic, so I’ll just give you the cliffnotes of the fun stuff:

I worked at Disney (doing Club Penguin art) for 7 years. Then I hopped over to Hyper Hippo and worked on Hello Kitty games. 

In my free time, after work, I was getting all the art ready for Crush Crush. That was Sad Panda’s first game, which we launched on Kongregate. Once the game came out, I quit my job at Hyper Hippo to focus on my own stuff! It was a passion of mine to draw cute anime girls, so it felt really great to see players enjoying our game. Now I get to draw anime girls every day, haha, (I wish I could tell that to the High School art teachers who disapproved of it :P)


Name: Trash Panda
Panda projects worked on: Blush Blush / Kitty Catsanova
Role: Artist
Follow her: Nowhere! She’s off-the-radar 😛

I’ve known Trash Panda for over a decade. We used to work together at Club Penguin, and really hit it off. She’s one of my oldest friends, and is the most talented artist I’ve ever had the pleasure of working with. Somehow, I was able to convince her to come work at Sad Panda with me, but I know she could easily get a job at Pixar or any big studio if she wanted to. Together we set the style for Blush Blush and Kitty Catsanova. Her art continues to inspire me and I’m so happy to have her as a fellow Panda ❤

Name: Mur Moruno
Panda projects worked on: Crush Crush / Hush Hush
Role: Artist
Follow her: https://www.deviantart.com/murmoruno and https://twitter.com/murmoruno

Mur has been a contributing artist since 2016 believe it or not! Her style was really appealing to me, so I started commissioning her for things like the Hush Hush dakimakura designs. When the idea for Phone Flings sprouted, I thought of Mur to be our designated ‘Phone Fling Artist’ and she’s done a really great job with them. She continues to work on Crush Crush and Hush Hush artwork for Sad Panda, and has an endless list of illustrations we want from her ❤ I’m super jealous that she lives in beautiful Vietnam, and I’m sad that it’s so far away. For now we continue commissioning her, but in my heart I consider her an official member of the Panda team.

Name: Azayuki
Panda projects worked on: Crush Crush
Role: Artist
Follow her: https://twitter.com/YukiLumino and https://azayuki-art.tumblr.com/

I scouted Azayuki’s art back in 2018 and had her do an art test to see if she could match the art style I set for Crush Crush. She passed the test with flying colors (lol – artist joke!) and became the biggest helper artist. She’s been really great to work with, is super fast, and takes feedback/critiques really well. She’s just a pure joy to work with and I love seeing the designs she comes up with. We collaborate on every image she makes for Crush Crush so that it stays on-brand with the art style, and has the most appealing designs we can think of. She’s a keeper, and if she didn’t live all the way in Spain I think she would be an official in-studio Panda. You’ll recognize her work in Crush Crush since she did the art for Sirina, Rosa, Shibuki, Charlotte, and so many more!

Name: oadneyung (Dao)
Panda projects worked on: Blush Blush / Hush Hush
Role: Background Artist
Follow her: https://www.artstation.com/oadneyung

Where do I begin with describing Dao… She is SO COOL and I adore everything she makes. Her specialty is doing Ghibli-style background art, but she has many other artistic talents. I have never been very good at drawing backgrounds, so I have a huge amount of respect for her. She also lives in Vietnam, but her English is really good! All of the gorgeous backgrounds used in Blush Blush were made by Dao, as well as Hush Hush. Her art inspires me so much, and I love that she is able to take an idea and develop all the details of the environment to make the setting come to life. I hope to keep working with Dao on many future projects, because she is awesome!

Name: Osiimi (Như Ngọc)
Panda projects worked on: (top secret game in the works)
Role: Artist
Follow her:  https://www.thicanimeartist.com/  and  https://twitter.com/osiimiartist

While I can’t share too many details on what project or type of art Osiimi has been working on, just know that she is really good at what she does. Her designs have a strong character style and lovely color palettes. She’s also really good at drawing confident women characters with a lot of appeal 😉 She’s been so fun to collaborate with, and I love her art style so much I want to keep finding projects she can work on! Like Mur, she also lives in Vietnam. I really want to travel there one day so I can meet all of these incredibly talented artists I work with ❤ You can check out a webcomic that she works on with MerryWeather called ‘Crawling Dreams’.

Name: Carmen
Panda projects worked on: Blush Blush
Role: Artist
Follow her:  www.instagram.com/c3rmen
and twitter.com/c3rmenDraws

Carmen is an artist whose style has a distinct flair, with a particular talent for animal characters. She did a ton of work getting the Blush Blush bois looking their best, especially Scale who is a Dragon, and Dragons are awesome. She’s worked for a wide range of companies big and small, and has more than her fair share of art walking around in the form of elaborate tattoos on happy customers. Check out her Instagram for some of her work!

Name: Waifubot
Panda projects worked on: (top secret game in the works)
Role: Artist
Follow her: https://twitter.com/waifubot_art  and https://www.artstation.com/ggit 

I adore Waifubot’s art style and everything she designs has so much appeal! She has worked on several illustrations for the same secret project that Osiimi is working on. Hopefully we can announce it later this year, but in the meantime just trust me the art is so amazing! And Waifubot played a big part in that =^_^=

Name: Burburart 
Panda projects worked on: Hush Hush
Role: Artist
Follow her: https://burburart.carrd.co

BurBur is an artist with a really cute style, and she’s not shy to draw women in the buff. I discovered her art when Sad Panda ran a Hentai Foundry art contest. She really impressed me with her attention to detail, and the amount of work she put in for her contest entry. Her art was able to flex to the Crush Crush style pretty well, so I reached out to her after the contest and asked if we could commission a few illustrations from her for Hush Hush. So she’s working on the game’s phone pics.

Name: Assistant Panda (Alanna)
Panda projects worked on: Crush Crush / Blush Blush
Role: Assistant

Alanna is one of my good friends and also happens to work at the Sad Panda office! She keeps things running, helps out with all sorts of things, and is great for bringing the team together. I task her with lots of random things every day and she’s a big help. She’ll proofread scripts that OjiPanda writes, track down new fanart people have made, bake Crush-Crush themed cookies, create Jira tickets for helping our team manage their tasks, picks up groceries for the office, and so much more. She has a little dog named Ludo who is a miniature-greyhound, and he comes into the office sometimes. You might see her online here and there, so now you know who she is 😀

Name: Steph Nguyen
Panda projects worked on: Crush Crush / Blush Blush
Role: Contributing Writer
Her other work: https://twitter.com/Stephicnesss

Steph is a contributing writer who started just a few months ago. We contract her for the odd Phone Fling script and some other things. Finding good writers is surprisingly difficult! So we really lucked out finding Steph to help take some of the writing load off OjiPanda’s plate. One of the scripts she did for us recently was for the smokin’ hot firefighter ‘Logan’ in Blush Blush.


As a final thought to this post – we wanted to touch a little bit on what prompted us to write it in the first place. Because truthfully, highlighting the “diversity” of its staff is something that can easily make a company come across a bit gauche and even cynical.

Over the years, we’ve had a truly amazing privilege to work with all kinds of people from all over the world. We’ve tackled language barriers and cultural mishaps in our quest to find people that share our vision of quality and light-hearted silliness. As you would expect, that has included men and women of various ages, experience and profession. We’ve had voice actresses whose first paid gigs were in our games, and others with a huge resumé of past roles. We’ve had decidedly ‘masculine’ men writing scripts for adorable anime girls, and women you might describe as ‘abashed’ happily create some of the most blush-inducing graphic content we’ve come across. In fact – there are even several additional women precluded from our list precisely because they do not enjoy the spotlight.

Recently, while discussing how best to continue expanding our studio, we just sort of noticed that the majority of our creative team were women. The observation came as a bit of a surprise. As in we didn’t arrange things like this intentionally, and were sort of delightfully intrigued it had worked out this way. Many of us, having worked in the games industry for a while, know all too well the major issues it has with attracting and respectfully treating women. But here we are – a studio best known for making dating sims, which are almost universally geared toward a male audience, with a bunch of women steering the ship. 

In truth, one of the cool reasons things worked out this way is because we’ve been able to judge all of our contributors based on their work and their work alone. Going through applications and submissions, we’ve only ever needed to examine work for passion, style and craft. At this moment in time, it just worked out that our most skilled, stylish and passionate creative contributors are almost entirely women.  

So we wanted to highlight this delightful fact in a way that didn’t sound like we were just taking a diversity victory lap. We’re incredibly proud and honored by all the people we’ve worked with over the years, men and women, but also pretty proud that in an industry that sometimes struggles to invite women into the pool, our studio just so happens to have enough women for a volleyball league. 

And that’s pretty cool. 

How we deploy Crush Crush

This post was written by Programmer Panda!

Have you ever wondered how Crush Crush is built, how it gets uploaded for testing, and how it ultimately ends up on your device?  Then this blog post is for you!  Let’s follow a copy of Crush Crush from the Unity Editor all the way to Android devices all over the World.

Here’s Crush Crush for mobile within the Unity Editor:

Unity is a multi-platform game engine, and is what Sad Panda uses to make its games.  A single project can be deployed to PC, Mac, Linux, Android, iOS, WebGL and many other platforms, with reasonably minimal code changes.  The mobile build is a bit special, because it was made from the ground up to support a portrait orientation instead of a landscape orientation (the landscape orientation is still used on Steam, WebGL and Kongregate).

The first step is to prepare all of the asset bundles associated with this build.  The asset bundles and most of the art assets are stored in a separate project, to reduce the number of art assets in the main project.  This allows us to quickly switch between iOS, Android or WebGL platforms, which all share the same codebase.  Here’s what the asset bundle project for mobile assets looks like:

Yup, it’s pretty boring.  It’s just a bunch of art assets and a few scripts to build asset bundles.  We very rarely open this project at all, since building these asset bundles is automated during the build process, but I wanted to show it for completeness.  Here’s Unity building the asset bundles:

Now it’s time to go back to the Android project.  The Android project has some editor scripts that will copy over the correct asset bundles from the mobile assets project, and place them in something called the ‘StreamingAssets’ folder.  Anything located in ‘SteamingAssets’ is included with the final build.  This means that any assets in ‘StreamingAssets’ will end in the final apk (the Android application) that is delivered to Google Play, and ultimately your phone.  We only include the assets necessary to play the early parts of the game.  Once you unlock some characters (such as Peanut) the game will download those asset bundles from our server instead of relying on the ‘StreamingAssets’.  This allows us to keep the download size of the apk a bit smaller.  Right now, the apk is around 50MiB, and we have plans to reduce this further to under 40MiB.  Not bad!

Any assets not included with the ‘StreamingAssets’ folder are uploaded to our website, and are cached by our CDN (CloudFlare) so that they can be served quickly to anyone playing the game that needs them.

Once this is done, we can actually build the apks for the Android version of the game.  Again, this is all automated on our build server, but I’ll show some pictures of how this looks running in my local copy of the Unity Editor.  From the ‘Build Settings’ menu we make sure that Android is selected as the build target, and that the correct scenes are included.  We have both landscape and portrait versions of the game, so the correct scene is very important!

Then we hit ‘Build’, and the waiting game begins.  We build multiple versions of Crush Crush when targeting Android.  One version targets 32 bit devices, and another version targets 64 bit devices.  Unity allows you to either make a single universal apk (which has the code for both 32 and 64 bit devices), or you can export each device type separately.  We choose to export them separately to keep file size lower, since including both copies of the code inflates the apk size by about 8MiB or so!  This can make a big difference when you’re downloading the game over cellular data.  We don’t want anyone to get a data overage charge because they wanted to play Crush Crush!

The build process takes about 5 minutes on my personal computer, and a little bit longer on the build server.  Once the build is complete, we have a folder with two apk files, which are ready for upload to Google.

The Google Play dashboard has several options for managing the release of a new version of the game.  There is an internal test track, a closed alpha track, an open beta track (where people can opt in to play a beta version of the game), and finally a production track (which is the version of the game that is live to everyone on Google Play).  We start with the alpha track, which has a list of test users (mostly studio employees).  Here we can upload the new apks we just created, and deploy them to our test users:

Normally, we’ll test this for several days.  We want to make sure that the transition to a new build is as seamless as possible for our players.  We have a full battery of tests we run against all of our builds before they go live, and Support Panda is in charge of signing off on those QA tests.  Once we are happy with the build, we can set it live on the production track as well.  Google does allow us to select a rollout percentage, and we normally start with something like 5% or 10% to ensure there are no major issues.

Then there’s nothing to do but watch the stats roll in (and sometimes to wait for Google to process the update, which can take up to 8 hours).  We use Fabric (recently acquired by Google, of course) for crash diagnostics.  Fabric allows us to see the deployment percentage of different versions of the app.  We’re pretty impressed with how quick most people update their devices!

If we did everything properly, and tested everything well, then the update process should be stress free, with minimal issues for our players (and for us).  The whole process takes about a week, and is similar(ish) for our other platforms.  We have, in the past, been able to hot fix a bug on Steam in less than half an hour, but we don’t want to make a habit of it!  Hopefully you enjoyed this look behind the scenes at Sad Panda Studios.  Thanks for playing our games!

The Crush Crush Nightmare Before Christmas

Twas the night before Christmas, and two pandas were settling in for a nice pot pie.
“What a good year we’ve had!” exclaimed Artist Panda as she let out a sigh.
Indeed, it had been a busy year and this was their chance to finally take a break.
Launching new content and many events, looking back, all of that was no piece of cake.
“Well at least the Android launch went smoothly!” Programmer Panda said.
In that moment he checked his phone and felt a sense of dread.
He jumped on the table and let out a loud cry:
“Google took down our app! Why… WHY!??”
“No! It can’t be!” shouted Artist Panda in a mad dash.
She grabbed the phone so fast it gave her whiplash.
“For having tight-fitted clothes?” she whispered and then froze.
“But there’s nothing in the app we overexpose?”
Yet Google had spoken. The app was taken down.
“They must hate waifus” Artist Panda said with a frown 😦

Soooooo – hey! This post is written by Artist Panda. And it’s the tale of how Google took down our game, Crush Crush, on Christmas Eve. Yes, it really did happen just as we were sitting down to enjoy a nice meal with friends and family. I’ll rewind the story a bit first, so you have all the facts.

Imagine a happy Christmas scene like this… before disaster strikes!!

Crush Crush’s mobile version had been in development for a few years, and was a side-project Programmer Panda and I hacked on in our free time. It was a big undertaking for us because many things had to be built from the ground up. Mostly because I wanted the mobile version to be portrait-mode. The version on Steam, Nutaku, and Kongregate all shared the same code base and most of the UI was hooked up the same way – for landscape mode. There were lots of other things that took a lot of work; I re-exported every single piece of UI and artwork to work on the mobile sizes, and have things like full-body characters and taller pinups. So the mobile version was full of our blood, sweat, and tears and it finally soft-launched October 1st in Canada and New Zealand, and then the rest of the world October 29th. Since then, it has slowly but steadily been growing in installs and has held a high rating (above 4 stars) which is really exciting to us pandas! We didn’t know what to expect, but the response from fans and new people discovering the app was really awesome. It has inspired us to work harder on it and get more of the PC features ported over to the mobile app. We’re also working towards getting it on iOS, so there’s still lots to do but the future was looking bright.

We’re so proud :”)

Now… with those art changes that I mentioned earlier, a few other things had to be fixed up in order to abide by Google’s ‘Play Store’ guidelines. In other words, we had to censor a bit of the art and writing to make sure it was squeaky clean for mobile. This pained me to do so, but I respect that it’s their platform and they might not be as chill as Steam is with anime cleavage. I’m a bit desensitized to it all because I watch so much anime, and cleavage + adult humor just seems to be the norm in every show. Even so, I did my best to scrub through all the art and make it suitable for all audiences. It took a great effort and amount of time to do this, so you can imagine my surprise when we checked the email from Google and saw a screenshot of Quill circled for having “too tight-fitting clothes” : ( Here is the email we got and the image they attached:

An itty bitty cleavage line can be seen :”(

My heart sank so far down after reading that, I was mortified. Everyone at the dinner table was sorry about the news, but I couldn’t really hear what they were saying to me. I was miles away thinking about all the work we put into the app, all the amazing people who downloaded it and gave it a good rating, and all the disappointment they were going to get when they found out the app was taken off the Play Store. Oh – just to clarify, when an app gets taken down, if you already have it installed then it stays in your phone. It just means you can’t update it and if you delete it then it won’t be in the store anymore for you to recover.

So I was bummed. Not only was it a kick in the pants to have our app taken down, but there was no warning or anything to have given us a chance to fix it, and it was Christmas Eve 😛 I messaged OjiPanda and he was flabbergasted. We all were.

After sipping back a wine glass or four, I took to Twitter. Maybe this wasn’t the best idea, but I wanted to put the news out there in case the app being removed caused some weird glitches in people’s games. I don’t know how it works… Anyway, people were really fast to send words of support and some even shared photos of the app still showing up in the Play store. It was very heart-warming to see so many messages from fans on Twitter ❤ I would have had a pretty depressing night if it weren’t for their kind words.

Everyone is so nice :”)

Programmer Panda was quick to take down the screenshots from the Play Store page that had girls in ‘tight fitting clothing’ and resubmit it for another review. And within a few hours, we were all surprised yet again when the game was suddenly restored without notification.

All in all, the game was down for a total of around 4 hours. And we’re not 100% sure what went on behind the scenes at the Play Store – the game had gone through multiple rounds of reviews and approvals by this point, so we can only guess as to why at this particular time Quill’s wardrobe was problematic. Perhaps there was a poor soul working Christmas Eve that just needed to express themselves via banhammer. Or maybe their ancestors had been attacked by cat girl waifus. Again, we can only speculate. Either way, it was a bummer after having worked so hard to conform to Google’s guidelines, and we sincerely hope it doesn’t happen again.

Anyway I guess the lesson I learned is that my standard for ‘squeaky clean’ might not be the same as what mobile platforms are expecting, so there might be some art updates in the future. I really hope we don’t get negative reviews for that, because some players don’t understand that it’s out of our control… I want to see the app stick around and grow, adding more cool features and things people are looking forward to. If a few skirts need to be lengthened, then I guess that’s what I’ll have to do.

If you want to help support the app, consider downloading it and giving it a 5 star rating 🙂 It means a lot to us that so many people have downloaded it! We have tons of cool things in the works, and as long as the app doesn’t get taken down (again, lol) we will do our best to keep making it awesome. Thanks so much ❤

~Artist Panda

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.