This is the first entry in a monthly “What I’ve been doing” blog post. These blog posts will, as the title suggests, let you know what I’ve been doing for the past month. Since I’m just starting, I’m not sure yet the tone or content these should have, and it will probably change after I’ve done a few of them. The idea is to provide “behind the scenes” info on what it’s like to make games, market games, find funding (or fail to find funding), build a small company, and anything else game development related that I’m doing. I’m not sure yet how deep or technical to get, so I’m just going to start writing and see how it feels. If you’re reading this, send me feedback and let me know what you find interesting or boring, and let me know if there are topics you want me to cover.
January was an busy, exciting, and stressful month! I’ve been finishing up Bucket Detective and preparing to launch, which involves an almost unbelievable amount of tasks. In the past month I’ve created and launched: this website, the Bucket Detective Steam and itch.io store pages, the Bucket Detective trailer, the presskit for my company (the whale husband) as well as for Bucket Detective and the static speaks my name (I never made a proper one), and a Patreon. And all of that in addition to actually finishing the game. I’ve been keeping a daily journal to remind me what I did every day and I have several entries with lines like “I have a monstrous headache today after working for 16 hours teehee lol.”
One thing we were concerned about was the game’s performance, since we’ve been developing on high-end gaming computers, but want the game to run properly on mid and low-end machines. A big drain on performance is lighting, and we debated between using realtime and baked lighting. Baked lighting is almost always faster because you take all the light information that exists in your world and pre-render it into a giant image file BEFORE the game even ships. That image file is then, basically, laid on top of the world to create the light and shadows. Baked lighting has a few advantages: 1.) It looks nicer because, since it doesn’t need to be rendered in realtime, it can render in a way that is slower but more realistic. Here we could also take advantage of what’s known as “global illumination.” Global illumination is the way light works in the real world. When you shine a white light on a red ball and a white wall, the white light hits the red ball and bounces red light onto the white wall. 2.) Baked lighting is faster. As I mentioned above, since baked lighting isn’t computed in realtime, it allows the graphics card to work on other things.
Baked lighting in Unity, however, has disadvantages. The biggest disadvantage for us is that it requires a significant amount of computation to actually bake. Baking the lights in just one area of the house in Bucket Detective takes, on average, ten minutes. That doesn’t sound like a lot until you realize that EVERY time you want to change a light, you have to rebake to see the changes. And since baked lighting doesn’t look the same as realtime lighting, which is what appears by default in the Unity editor, there is a significant amount of time needed to guess and check. Given that I’d already lit the game with realtime lights in a way that looked how I wanted, and using baked lighting would require probably a week of tweaking to get the baked lights to look how the realtime lights already looked, we decided to use realtime lights.
And since casting realtime shadows is a major performance drain with realtime lights, we created a quality setting that the user could toggle to reduce the number of shadows. “High quality shadows” turned on shows realtime shadows for all the lights, while turned off shows shadows on only the lights for which I considered it essential (there are around eight of these which are in “aesthetically dramatic” moments). The rest of the lights have no shadows, which doesn’t look as pretty, but is passable given how dimly lit the game is. We tested on several mid-range machines and were satisfied when we were able to get at least 60 frames per second with “High Quality Shadows” turned off.
I spent about a week working on the Bucket Detective trailer. Ninety percent of the trailer was done within the first eight hours, but, as is my style, I spent the next fifty hours obsessively watching the trailer, adding things, subtracting things, and adding again until I was satisfied. Overall I’m happy with it, but one concern I have is that the trailer only shows the dark, moody aspects of the game, and not the comedy. I considered putting a few lines into the trailer to show the humor of the game, but it didn’t fit and made the trailer too long. I think it’s better to have a consistent feeling trailer than to cram in everything. Word of mouth, reviews, and Let’s Plays are, I believe, much more important than the trailer, and in all three of those the humor should be right out the front.
Some technical info about the trailer – I recorded the in-game footage with a piece of free software called OBS Studio and edited it with Adobe Premiere. I had issues with OBS dropping frames, which made the footage appear jittery, until I figured out that I needed to lock the game’s framerate to the same framerate that OBS was recording at. I recorded the game at 60 frames per second and at 720p. I meant to record at 1080p, but had set the output size to smaller when I was having issues with frames dropping and forgot to set it back. By the time I realized I still had it set to 720p, I had already recorded most of the footage and had no intention of re-recording everything. Sometimes you have to make those kind of compromises to keep yourself from burning out, especially near the end of a big project like this.
For the trailer music, I decided to use free stock music (which is also used as the in-game credit music). Our original in-game music is still being composed, and I didn’t want to wait on the music to release the trailer. After the trailer launched, I began reaching out to press. I started with press who wrote about the static speaks my name. I figured they would at least vaguely remember me and would have a higher change of looking at Bucket Detective.
This month we’ve also worked a lot on sounds. Denis Zlobin is a friend/Russian guy who is doing the sound design for our game, and it’s turning out incredible. So far he’s done about two-thirds of the sounds for our game, and we’ve implemented many of them. Implementing the sounds means me, Denis, and Samu (the programmer), going through sound by sound and putting them into the game, adding the necessary functionality and/or effects. For instance, making sure a spoon dropping sound plays when the spoon his a floor and wall, but has a delay before it can play again so it doesn’t spam the sound effect. Or having a fly sound effect only play when you are within view of the flies. There are lots of little tweaks like this to make sure things feel natural.
Bucket Detective’s music is being composed by Shawn Jones, who did the music for the static speaks my name. I’ve gotten rough versions of all of the tracks, and it’s also turning out really great. I’m excited to finally play the game with the final music, since for months I’ve been using temp music by Trent Reznor from the Gone Girl soundtrack.
Besides that there have been a ton of tiny things. I did subtitles for the in-game narration. I did contracts for everyone involved with the game to make sure we actually have the proper rights to release and sell the game. I made particle effects for things I don’t want to spoil ;-). I playtested the game with several friends, looking for bugs or design issues I might have missed. I fixed a bunch of z-fighting issues (z-fighting is when you have two game objects that occupy the same world space, and because of that, the engine doesn’t know which to draw on top, so it flips back and forth between drawing each one, which causes an ugly flicker). We implemented “partial controller support” which means the game, but not the menus, is fully playable with a controller. I made Steam achievements and art for those achievements. I started making Steam trading cards, but it ended up being too much work since trading cards require something like 20 pieces of original artwork (emojis, Steam backgrounds, badges, and the card art itself). I looked into other indie games, and a lot don’t do trading cards. Even The Witness, with its ~$7million budget, didn’t make trading cards, so I don’t feel so bad.
Ok… so that’s what I’ve been up to in January. February will definitely be an interesting month, as we’ll release the game on February 16th to wild success, mild indifference, or something else entirely. I know this blog post is a bit scattered, but like I said, I’ll figure out the best way to do these going forward. Again, if you like or dislike a topic I wrote about, lemme know. And let me know if there are other things you want to see discussed!