Cookies - October 2020 Devlog
It’s been a few months now since I released the demo to my second project, Cookies, to the public for playtesting. Since making it available back in May the project has undergone numerous changes with several content additions, with previews of said progress being found on my Twitter where I have been and will continue to post small weekly updates made to Cookies here. Despite that, I haven’t been too vocal about the actual state of the game, aside from the clear notion that I am indeed still working on it. So, I decided to author a more detailed post that combines most of the content I’ve showcased on Twitter since the demo for anybody who may have missed a few tweets here and there, as well as give a more clear cut explanation of where I am with the game currently.
First, I wanted to start with a mini-postmortem concerning the aforementioned demo. Though I had been overjoyed to make the build public, the novelty of having the teaser for another project of mine released quickly wore off. What started off as a concise, yet tightly designed little segment of a setting I put much effort into soon deteriorated into a directionless exhibit rife with design flaws, unintuitive systems and oversights embarrassing to think of even now, begging the question: “what’s even the point?”. Players had no idea what to do with their surroundings, mechanics I was proud to put on the forefront failed to function (the credit card comes to mind), and worst of all, it was an eyesore, though more on that later.
Roughly 10 hours after the demo launched, amid uploading my fourth hotfix for the day upon finding out the player couldn’t actually finish the threads they rightfully completed, I began to regret even releasing it. I kept telling myself that I had jumped the gun, that the project was half-baked and how I should’ve spent more time ironing out the kinks so I could prevent looking like an ass. I soon acknowledged that this was typical hindsight speaking, given how everybody wishes they did something different once their work is out (plus, nobody takes low budget game demos that seriously). Still, this pseudo-existential crisis shaped how I felt about the project for weeks to come.
Now, that’s not to say reception was lacking. In fact, although it was downloaded significantly less on release and received less coverage compared to my first game, Exit Mask, opinions on Cookies were almost unanimously positive! While there was no shortage of things to critique, people actually went away impressed with what was shown. Much praise was given to the game’s art direction, writing and overall creativity to be found within the many characters and locales. Many people were eager to see what it would be like as a finished product, and though rough around the edges thought it carried a ton of potential.
After a much needed week-long hiatus, I immediately got back to work on Cookies. As tempting as it was to begin expanding the setting of The Orange Grove Houses, I knew it was imperative that I prioritize all that was wrong with the game’s base mechanics.
To me, the most glaring fault of the demo was the ludicrous use of video effects on the player’s camera, and is yet again a reminder that what I might find awesome isn’t necessarily good for an overall project. From the very first brainstorming session of Cookies I always intended to portray the game through a grainy VHS-style camera filter in an effort to give off a dingy, lo-fi user experience. When I came across the first rather simple shader script that produced a convincing enough film grain effect, I called it a day, just glad enough I was able to get something that satisfied my needs without poring over elaborate shader code. As somebody with a high tolerance to abrasive visual effects, I didn’t think much of how other players would react, though I would come to learn it was indeed a tad over the top once YouTube playthroughs started popping up, most having the filter disabled.
So, begrudgingly, I revisited my VHS shader and reworked it from the ground up, making it not only less grating on the eyes, but tweakable from the pause menu. When paused, players can adjust the brightness, film grain, and gamma of the camera’s visuals, and if they’d rather play with none of that, the option to completely disable the script is still available. This new VHS shader not only makes the game more presentable, but allows for a more user-friendly experience that gives players more control over how they'd rather view Cookies.
With that out of the way, I began to tackle the player’s inventory system, deemed by many as unintuitive, rightfully so. In Cookies, players could pick up to a max of five items. When held, said items could be accessed by pressing keys “1”-”5”, one for each inventory slot, that would then select whichever item was pressed. With the item selected, the player could press “E” to equip/use the item, or “X” to drop it. It was a roundabout way to handle something as simple as picking up/managing items, and it was structured as such simply because I was too intimidated to fully delve into creating a proper inventory system. This too proved to be a diminishing compromise, as many players found it awkward to use a variety of keys to select/use items when it could alternatively be done in a few clicks.
I focused on once again reworking my code from the ground up, creating an inventory system that is summoned by pressing “I”, in which the game’s time stops and a new CRT-esque panel will pop up containing up to 10 items (players noted they thought they had very little room to store their finds) are displayed with their own unique button. Clicking said button will use/equip it, whereas clicking the tiny X on the button will drop it, making it more akin to a simple inventory one would find in an RPG or immersive sim.
Lastly, I had to rethink how I handle interactions between the player and the NPCs/environment. Much of Cookies’ logic is based on interactions between the player and a subject, alongside checking the player’s inventory. Some doors require keys to open for example, and some props require special items to be activated (such as brownie mix for the oven). Because my initial inventory system was needlessly obtuse, my interaction system was equally as flawed, consequently. A character like Salvador, for example, would eat food given to him when the player approached him and dropped it somewhere within his trigger box. The same went for the Box Merchant and currency. Other characters however, such as Father Huxley, would instead loop through the player’s inventory array and look for the first item with the appropriate item tag (contained in a C# script). Though less finicky, it was not without its kinks. As mentioned, if there was an item that met the requirements to be given to him, that’s when the loop would stop. Say he was looking for currency, and you had both Spare Change and the Credit Card in your inventory, you had no choice over which one you wanted to hand over. This was frustrating if you wanted to say, hand over the Spare Change, and save the Credit Card for a shopping spree at The Box. On top of this, given that this dilemma was much different than Salvador’s, the means of player interaction wasn’t even consistent between any two characters.
Instead, I opted for a more traditional approach. When speaking to a character who has reached a point in their dialogue where they require an item, or if you click on a prop that requires an item (such as the vending machine), your inventory automatically opens up, prompting you to select an item to hand over. If you select a compatible item to hand over, the function continues as usual, and if not, you receive a notification such as “___ KEY REQUIRED TO UNLOCK” or “HE SAID HE NEEDED______” before the inventory is closed, breaking you from the interaction.
With the above three changes finally implemented, Cookies began to play more akin to the game I had envisioned from the start, and I’m very proud of what I’ve accomplished alongside some much needed consultants.
Having addressed the state of the demo and what I’ve done to improve it, I can shed some light on what has been added to Cookies, and there’s a lot. Aside from the technical hiccups that came from the game’s systems, one aspect of Cookies I desperately wanted to change was the apparent lack of direction. This was something that was difficult to gauge from the demo. Upon bootup, the player starts in their apartment with a text prompt hinting the player to ingest magic mushrooms, triggering the first of two threads in the demo. Nothing more, nothing less, so if the player missed that piece of dialogue they’d have virtually no idea what to do with the large environment laying in front of them, less it be by chance. This is largely a consequence of the demo’s starting point being different from the actual starting point of the full game. When released, The Orange Grove Houses only contained two floors, whereas the full version will have four. As a result, the player was just plopped into the middle of the game’s environments, similar to an “in media res” approach, without properly being introduced to the apartment or given any proper direction.
To remedy this, I created a new exterior scene representing the dim alleyways leading to a back entrance of The Orange Grove Houses. This segment was developed to give a brief introduction to the character, a reason to be retreating into the apartment, alongside instructions on how to interact with items and access them from your inventory. Upon reaching the interior the player will be given directions to potential triggers of available threads and the ability to explore and non-restricted sections.
When the demo was released, only two threads, “Son of Sal” and “Heaven's Front Porch” were available. Since then I’ve completed four additional threads, “The Final Circus”, “A Floridian Film”, “Black October” and “Crown Fried”, with a seventh thread currently undergoing development. With the end goal of 10 fully fleshed-out playable threads, the progress made within the past couple months has been huge. To accommodate for the game’s sharp increase in size, The Orange Grove Houses has gone from two incomplete floors, to four near-fully realized ones: three regular apartment levels and a main lobby. The expansions to the apartment building have allowed me to expand all the bizarre concepts I have planned for the remainder of the game, and I look forward to seeing how I go about filling in the rest of the setting.
Now, for the timeline. Having begun development on the seventh thread, a currently untitled yakuza-themed subplot, I’d wager that Cookies is sitting at about 60-something % completion. I have every intention of having that thread done before Christmas, making roughly three quarters of the game done by the New Year. With three storylines left, all somewhat planned out, my goal is to have those three each take up one month of development time at the most so by Spring I can put all of my efforts to bug fixes and optimization with the help of a few programmer friends, after which a release date can hopefully be agreed upon.
I've still got a ways to go, and my work will certainly be cut out for me, but I believe I've gotten over the hardest parts of development for this project. Now, it's more a matter of time and making sure I stay committed to delivering a follow-up to a demo many people left excited about. I will continue to regularly post small updates on Twitter, so feel free to drop a follow there, but in the meantime keep on keeping on. I can't wait to share more with everyone in the future.