The Cost of Making a Visual Novel

(And what I mean by that is the cost of making a game like Cabin Fever)

Hey everyone! Artist Panda here.

I’ve wanted to do a blog post on this subject for a while now, because as an indie game developer I find articles on this topic extremely helpful for understanding the actual costs of making a good game. I’m talking about articles written by devs who outline all their costs that went into making the thing, and in this post ‘the thing’ in this case is Cabin Fever.

Key Art for Cabin Fever (available here:

If you haven’t checked it out, Cabin Fever is a short visual novel with lovely artwork and full voice acting, and it’s available on Steam. You can read more about that game in my other blog post from July 2021. This post is going to go into some depth on the costs associated with making a game like Cabin Fever. Why? Because maybe it will help aspiring indie devs who want to make a visual novel the same size as this, but have no idea about the scope of the project and need some help budgeting for something like this. In this post we’ll talk about cost in terms of hours worked. The reason for this is that a dollar value isn’t as applicable to understanding what goes into a game like Cabin Fever, as hourly rates change depending on where you are around the World.

I’d like to stress that it’s possible to make a visual novel like this 100% for free if you have the time to spare, or talented friends to help out. There are lots of amazing resources online now such as and that have oodles of open-source/royalty-free stuff you can use in your games. The Unity asset store also has some freebies, and there are sites like that has hundreds of royalty-free music files you can use (for a subscription fee). 

I don’t want this post to discourage anyone, it’s meant to be an eye-opener so you have a realistic idea of what costs go into making a visual novel like the one we made. Maybe it’ll also help people understand why we charge money for games like this, and can’t make everything free. So without further ado I’ll dive into the costs!

The main categories I’m going to break these into are Art, Audio, Writing, Miscellaneous/ Development time. Those will be broken into subcategories for more details.


Art: My favorite place to start 🙂

The artwork for Cabin Fever can be separated into 4 parts; the Background art, Character art, CGs, and logo. Usually the UI would be lumped in here too, but I made all the UI and it was pretty basic (took me less than a day to put together) so I won’t count it.

Background art: There are 167 unique backgrounds (including some that were never used) in the game. Some of those backgrounds were used in the CGs, but I’m classifying backgrounds as any illustrations of a setting (no characters). I worked with 1 artist for all of these but had a heavy hand in crafting the settings; so if you don’t have an art director then be prepared to spend some time putting together reference images and writing out descriptions for all the backgrounds your game needs. This will help save lots of time later on so your background artist knows exactly what you’re looking for.

Total cost: 400 Hours


CG & Character art: There are around 80 unique CGs and over 1,000 unique character poses (not all of them are used). Like I mentioned above, all the backgrounds for the CGs were counted in the above subcategory. All of the CG art applies to just the character illustrations in the cutscene/fullscreen CG images; and the Character art includes every unique pose/outfit/expression for all the characters. I worked with 1 artist for all of these but also spent a great deal of time adding extra expressions, drawing over top of the sketch and final art to keep it on brand, drawing the different mouths for lip-sync etc. I spent quite a few days of my time working on all that, so some of the cost associated with my time is lumped in here.

Total cost: 760 Hours


Logo: Normally I would make the logo myself, but I’m not super great at making them and I wanted to get a professional to create something really pretty. The logo can play a huge role in your game’s branding, and when you consider it’s the first thing many people will see on your game’s thumbnail – that might make them want to click on it to learn more, so it’s super important. I was happy with the result but it definitely wasn’t cheap!  :”)

Total cost: 36 Hours


Audio: Music & Voice Acting

All the music and voice acting really helps set the tone and breathes so much life into the static 2D art. Personally, I feel that one of the most important parts of creating a good visual novel is to have a strong cast and beautiful music. I found the best people to make that happen, and they delivered fantastic results. I’ll break the audio into 2 subcategories; Voice-acting and Music. All the sound effects were either found on a royalty-free site or made from scratch.

Voice acting: A game the size of Cabin Fever has a surprising amount of lines. The count for all the voice-acted words totals 20,412. That also includes a few lines used specifically for game trailers. We don’t have many characters in the game, but we do have 2 different voice options for the main protagonist (that’s something I really wanted for this game). That doubled the amount of voice-acting lines just for 1 character; a feature that not many games would bother to worry about. Something else that’s kind of silly but I’ll mention here – there were a few small parts that I ended up voicing myself 😛 Hopefully I didn’t bring down the quality bar by including myself but I really enjoy voice-acting and it’s kind of fun (and cheap!) to voice some lines yourself if you can. 

Total cost: 20,412 Words (we used words here because many Voice Actors/websites will quote on word count, and not by the hour)


Music: Ahh the music is my favorite part about this game. I constantly find myself humming the main theme’s tune, it’s just so catchy. There are so many wonderful tracks that just suit the scene so well, and that wouldn’t have been possible without my super talented friend who somehow got inside my head and pulled out the exact music I was picturing in my mind. There are 18 tracks, a few of which are ambient sound (crickets or rain with a tiny bit of music added, that sort of thing). All of the tracks loop, and most are around 2 minutes long. One last thing to mention here, is that I did spend some time putting together a detailed list of all the tracks I needed and pulled lots of reference songs I could point to. So if you’re working with someone to make custom music, it’s really helpful if you can make time to do something like that – and time is money 😛  

Total cost: 240 Hours


Writing: Words ‘n stuff

Writing is crucial to the Visual Novel genre. I’ve played games that have walls of text and little to no visuals, and still managed to suck me into their great story. You can have crappy art, music, and no voice acting as long as your story (the writing) is strong. There’s always the outliers that can pass a ‘meh’ story with gorgeous art and gameplay, but for me personally I feel like the story is what carries the game, and draws you into that world. Oh – I should also quickly mention that writing doesn’t just apply to the game’s script. You’ll need writing for the game description (for Steam/whatever game store you’re releasing on) and marketing (if you make a trailer) etc.

Script: I am not a great writer, but I wanted to challenge myself with this game. I had a story in mind and really wanted to tell it, so I worked after hours in the evening and on my weekends to jot down my draft and finessed that over and over until it started to sound like a half-decent script. I used my 3rd draft of the script to hook up into a prototype so that Witchy Panda (one of our writers) could take a look and see what needed fixing up. She graciously spent a few weeks collaborating with me to refine the script and make it sound awesome. There were lots of back-and-forths and we pulled in Assitant Panda (Alanna!) to help spellcheck and read through it a bunch. OjiPanda gave me some really great writing tips and once I had all the art in, he was the first person to play it (I was so nervous he would hate it haha but he gave it so much praise).

The final word count for all narration and dialogue in-game is 40,827 words. It went through around 7 drafts before the final game-ready script was in.

I also spent a good chunk of time formatting the game’s scripts into an easy-to-read document for the voice actors, and added direction notes for them. Then I made a draft for the game trailers, which later on was cleaned up and rewritten by Witchy Panda. There are always little things like that you don’t plan for, that end up eating into your time. That’s just part of the fun of making your own games 🙂 You gotta wear many hats!

I’ll preface the total writing cost with an explanation of what contributed to them – tons of hours of my time writing the initial script, then Witchy’s punch-up script time, Alanna’s time reviewing it and acting as editor, plus all the other miscellaneous tasks (store descriptions, etc) that took writing time.

Total cost: 400 Hours


Miscellaneous: Everything else

We had some of the Pandas help with this project, even if it was just to play the game and leave feedback. Their time is valuable; I pay them a salary, so I’m rolling some of their time into the miscellaneous costs. On top of that we had the usual software license costs, subscriptions, etc. I also worked with someone to help make the trailers.

Unity pro license – yearly subscription: $2,000  (sidenote – if you are developing a game on your own / solo dev then you can get Unity for free, the personal license)

Audio Blocks (I grabbed some royalty-free sound effects from here) – yearly subscription: $200

Adobe Creative Cloud: $2,000 – multiple yearly subscriptions

Panda time (editing the voice-over files, programming, playtesting, QA to find bugs, setting up the game in Steam) : 700 Hours

Trailers: 60 Hours

Total Cost of Cabin Fever

~$4,200 CAD in tools, 2,536 Hours of work and 20,412 Words of Voice Acting

As of writing this, Cabin Fever has not made back its money. It launched in July 2021 and has had over 19,000 wishlists but around 4,400 actual installs. It’s worth mentioning that Steam takes a 30% cut, and there are also chargebacks and fraud that can diminish the total number of sales.

There’s usually a peak of interest at the launch of a game and then it peters off pretty quick. Something random I’ll mention here – the reason why Cabin Fever doesn’t have Trading Cards, Backgrounds, or Emotes on Steam is because the game hasn’t met the ‘target revenue’ yet. My guess is that’s around 50k USD so when/if that happens then I’ll be able to add those in.

There’s no easy way to market the game, since Steam doesn’t support that and your best bet is just word-of-mouth or to have a big influencer shine a spotlight on the game. So it’s hard for people to discover the game organically. We’ll do the occasional news alert to let our players in Crush Crush know about it, like when it goes on sale etc. But it’s leveled out to only get on average around 3-5 installs per day. The ROI (return on investment) might happen before the end of NEXT year (2022), but it’s hard to tell. You can’t predict how games are going to perform, and not every game you make is going to be a hit. It’s always a risk… But for me, making Cabin Fever was something I wanted to do to prove it to myself that I could. I’m really proud of it and whenever I read the comments on our Steam forum, my heart fills up seeing all the positive things players have said ❤

Final thoughts:

As of writing this, I am super happy to announce that Cabin Fever has been approved to launch on the Nintendo Switch November 26, 2021!! I really hope it finds an audience there, because I know the people who have found it on Steam said they enjoyed it. And honestly, if just 1 big YouTuber discovers it there and plays it on their channel then that would change everything. I could write a whole blog post about the impact of having someone like Markiplier play your game, but I’ll save that for another day. In any case, wish us good luck!! And thanks for reading this long post – I hope it helps give some insight into making games and the costs/time involved.

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!