ohhh i got distracted and missed Cookie Clicker’s steam release anniversary… i’m very happy with how it went, it’s been (a little over) 1 year since launch and we’re still sitting in the 100 top steam games by current player count! thank you so much!!! after the upcoming mobile patch i’ll try and update the steam and web versions with…something good
bit of retrospective regarding the development of the Steam version:
We were initially contacted by Playsaurus (Mr. Mine, Clicker Heroes) who offered to help us develop a desktop port for a steam release; one of the features they heavily encouraged us to add as part of the release was multiple language support. If you may recall, i’ve mentioned in the past that Cookie Clicker was never intended to be localizable and indeed, owing to its pun-heavy nature, would be an awful mess to translate anyway. This turned out to be the push i needed to prove myself wrong, and so adapting the game for translation ended up being the most time-consuming step of the release; before even sending the files out to translators, i had to comb through the game’s 15,000+ lines of code and turn every instance of raw text into localization calls; in practice, this means ‘Found <b>’+cookies+’ cookies</b>!‘ becomes loc(“Found <b>%1</b>!”,loc(“%1 cookie”,LBeautify(cookies)), and making sure that
“Found <b>%1</b>!”
and “%1 cookie”
show up as entries in our localization json file. At the time of writing, the language files we generate have about 3,280 such entries. This process involved optimizing for text reuse, and swerving around the game’s idiosyncrasies with text as best as i could, often keeping them hard-coded as exceptions when the game is in english. Many ad-hoc systems had to be developed to keep things smooth for every language and i’ll definitely be keeping localization in mind from the start with my next projects to save myself all this trouble. Critically, most of the flavor text on upgrades and achievements is absent in translations, though mod language files may add it back in if desired.
The port itself went easier, as Cookie Clicker worked almost right off the bat when compiled as an Electron standalone; if you’re not familiar, this is a framework that turns an HTML page into a self-contained desktop application, which means we can use the same javascript code for both instead of having to remake everything from scratch. Dealing with the sometimes spotty documentation and combined quirks of Electron and Steam’s APIs ranged from relatively painless to downright abominable, but in the end we managed to get every planned feature working in satisfactory condition. We held off on adding workshop support for a couple months after release as it turned out to be a lot more intricate to implement than expected - but this, too, got done, though there’s still some edge-case bugs with modding i’d like to smooth out at some point. Currently our Steam workshop is thriving and i’m very pleased with how our players have made use of the modding tools.
In addition to workshop support, the Steam port features original music by C418 somehow. Playsaurus dropped his name early on while discussing a possible soundtrack, which we’d never have imagined would even be an option - but after all yeah, why not, we’re all serious people here, why shouldn’t Cookie Clicker have a soundtrack by C418? Anyway he got back to us with 4 tracks and they were mint as hell, so we ended up using them as-is in the release.
There was a lot of back-and-forth regarding the trailer. I’m a perfectionist and very protective regarding the visual style in my projects which makes me a bit of a pain to work with on that front; after we settled on the script, i made the grandma graphics and taught myself After Effects to make her model as versatile and wobbly as we needed it alongside a few other assets, then the folks at Playsaurus put it all together. We’re fairly happy with the final result. Video stuff is a little out of my comfort zone but it’s very fun! I might re-use what i learned in future projects.
Finally, if you’ve followed me for some time you’re probably aware of my haphazard work rhythm and sometimes questionable development practices, which means i was tweaking and fixing things up until the final half-hour before release, leading to a last-minute glitch where our testers’ saves became unreadable due to a really dumb oversight in something i’d just added, which had us all panicking quite a bit (so sorry!). In the end, we ended up launching a few minutes late, ironically not because of development delays but because Steam’s dev servers, normally reliable, chose that precise moment to go down for a bit, locking us out of the launch interface. It was a good laugh.
My main regret is we’re still not offering Mac or Linux support at the moment; those proved unexpectedly tricky so it’s still kind of up in the air. One day, hopefully!
No DNI actually, no freebies.
18+, minors please don't follow.
aroace|pronouns are bit/byte/bytes|vessel is 24
Our "ref" tag has stuff we hoarded forever ago and also recently, there might be something useful in there if you need it!
NSFW tag is #🦏y, nudity is tagged #the whole body