1. Snacko
  2. News

Snacko News

Devlog #59: Let us cook!

Hello everyone! It’s August. Is that the middle of summer or the end of summer? Anyways…

This month, we have a mixture of bug fixes along with polish and implementation, so it’ll be a more interesting devlog than just “haha bugs”.

🍳 LET US COOK


Cookbook now has a preview of the dish! It’s just a nice touch, I think. The cookbook is one of those UI screens that we made way back when cooking was a point and click experience - you pick a recipe, then you cook it.



Then later on, as the game matured a bit, we swapped it to dropping ingredients in a pot. So the cookbook UI didn’t match what it should’ve been: a reference point.



Now it correctly shows the dish’s taste attributes (handy if you’re going to work part-time at a restaurant!), recipe, icon, description, and 3D model.



Enjoy how the real-time preview is set up in the engine. ✨dramatic lighting✨

🎮 WHICH BUTTON?


Sure, we made the assets for the different keys and mouse buttons, but unless you were playing a console build, there was no way of accurately determining which button set up your plugged-in gamepad was using on the computer.

Paige worked hard to set up all the framework for making it possible, and Zoro brought it to the finish line implementing the dynamic system in existing UI.



Now you can press A, or right face button, or X…whatever makes you happy.

🖼️ SET DRESSING


Another aspect we’ve been working on is having the items you donate to the Cultural Center actually show up.

What a concept, eh? Furniture items are in set rooms.



Items not yet donated will appear as a shadow. As you populate them, I hope you feel satisfaction watching them fill up!



Food items also show up in their display cases.

📬 OTHERS


We also did a bunch of odds and ends. NPC schedule testing was difficult in the past, but not anymore! recursive made a debug tool that shows each NPC’s next action, along with the option to teleport to where they are.



It’ll be easier to troubleshoot what’s going wrong when someone is spawning off in the depths of hell.



The round circle shadow on the ground of dropped items was not graphical enough so it felt a bit uncanny. We fixed this up by giving it a bit of a look overhaul.



Dye icons were something that were never color matched. In fact, I also didn’t update our internal visual guide on which colors are which name. So we took some time this month to clean that database up. Finally, Blush Pink is no longer bright green.

[h2]…And that’s all for what we’ve been up to in July! Enjoy the rest of your summer! Or winter…

Thank you for reading until the end! We're very energized by your support!! See you next month!!!![/h2]

Devlog #58 - We're Making Bugs

Good morning! Evening! This month, we’ve got a couple things to cover: the bugs we’ve been fixing, NPC stores, and events. Generally, this time of year for us should be pretty dry and hot. This year, though, it’s been raining and storming a lot. Wow! Lovely!!

Small talk aside, something before we start is an addition to the Snacko team! Zoro joins us and has been spending the past couple of weeks chewing through the bug list. It’s been a huge help. As you know, we have a lot of bugs. Let’s talk about that for a bit…

🐛 Buggies


The other day, there was a comment roughly like, “there’s so many bugs, you guys must’ve scripted a whole bunch of them!”

And well, first of all, yeah.

Second of all, I realized there’s probably confusion as to why bugs exist. If you don’t make bugs, there won’t be bugs, right? Just make your code right the first time!



So, instead of just complaining about bugs this month, I figured it’s worth spending some time communicating with you why there are so many bugs to begin with and using that as a way to also tell you guys about what we’ve done!

[h2]#1 Somebody made a mistake[/h2]

This one is pretty common. The person making said mistake is usually me. These mistakes range from “the character is spawning in the farm when the cutscene is in the town” to “a value was not set to spawn a certain actor”. Or, sometimes, it’s just simply missing data.
This one usually manifests itself in ways like a cutscene not starting, dialogue options not being shown, or a doubling up of NPCs in one spot:



These ones usually happen because there’s just a lot of moving parts in the game. Taking Nobu’s existence as an example, to have him walk around the town during the day, you first have his schedule manager that manages when actions start, end, and where they start and end. It also manages which days or which conditions trigger certain schedules.



The other part of it is the schedule actions itself. Within these, the data for how someone will get from point A to B, if they need a flag set (for dialogue), or if they should be wandering around, standing still, etc.



This is not accounting for the dialogue trees or the dialogue manager that handles the logic for picking the dialogue lines.



Nor is it accounting for the managers or event managers that log and set information regarding an NPCs existence or the events they can trigger.



So, to put it simply, most of these systems simply have a lot of fail points! Mix up one asset or pointer to an asset and the whole thing falls apart!
One bug I fixed after debugging for 30 minutes was the schedule, actions, manager, quest, and invitation for the character was right. But at the very last bit of the schedule manager, the NPC selected was the wrong one…so nothing worked…



Ma’am…this is Pico’s house…

Not to mention it’s a whole job for everyone in QA to catch these in the first place!

[h2]#2 Fixes are creating domino effects[/h2]

This one doesn’t happen too often because we try to account for all the system-level changes we make, but sometimes things can slip through the crack. A while back, we had an issue where you could open the main menu mid-cutscene (some cutscenes give you control to move around) and save. To fix this, we simply disallowed saving and loading during cutscenes. Easy!



No.

In the onboarding section of the game, part of the quest and tutorial day is Nobu showing you the ropes. Part of that sequence requires you to go to sleep and advance to the next day. But…you guessed it…if you can’t save, which sleeping will always auto-save in the auto-save slot…you can’t finish the tutorial cutscene.



In this case, the easiest way was to add a checkbox toggle for cutscenes “Allow Saving” instead of either breaking the tutorial sequence/other story cutscenes or allowing the player to run around and potentially break other events and scripted sequences down the line.

[h2]#3 Unintentional bugs[/h2]

Well, okay, these are all unintentional. We don’t actually want any bugs. But these are ones caused not by error or a fix breaking old code. This is usually due to the code or the engine acting in a way that we did not predict.

I guess you can call that user error but eh 🤷

For example, Zoro found one a few weeks back that went like this:

When you are in the quest that teaches how to invite villagers, there’s a wall blocking you until you send the letter. The wall turns the player around and causes them to walk back if they try to leave, telling them what they need to do. If you jump on the corner of the house roof during this, you will get respawned under the map.

So, it turns out that there’s nothing wrong with the quest, or the cutscene, or the house…
The issue is the code that turns the player around tries to find a point in the world to walk your player back to. If you’re in the air, then it fails this check, because it’s not doing a “full scan”. Failing to find a valid floor point, the game gives up and puts you at 0, 0, 0.



This makes up the majority of the early day bugs we’ve been fixing these past few months. Many of our systems that worked flawlessly in contained, sterile environments didn’t hold up to other variables or changes in game state.



Part of this complexity comes from the way we decided to design Snacko: you get to pick which Grocer you want on your island, you get to pick where they live, etc. etc.

So I hope that clears up why there’s so many bugs and what kind of things we’ve been dealing with!
If you look carefully in the above screenshot, there’s also now a new waypoint helper. When you’re close to someone’s house or the way to a different map, a sign at the top of your screen will remind you where you’re going!

Hopefully this helps the directionally challenged (me, I’m directionally challenged).

🎁 Events


We had a lot of the dialogue set, but not the logic. Sure, the decorative assets were made, but they weren’t put together yet. I spent some time in June to make everything nice and pretty. It sure is a lot of fun seeing it come together! I hope you have fun grabbing yourself a bowl of Winter Stew during the Harvestfest!



Well, yeah…it’s in fall…but like, it’s still kinda cold so you can eat Winter Stew…

🛒 Shopping


Another one of these “we had all the assets and data but no one put them together” were the NPC shops. Since there’s no static “this is the grocer NPC”, we have a couple of custom touches depending on which of the grocer NPCs end up being YOUR grocer NPC.



These come in the form of custom text while you’re shopping, their shop portraits and background pictures, and in some cases, their inventory. The shop background feature has been planned for a long time. So long, in fact, that when I opened Mack’s shop background, I had to go and redo it because it, well, looked like…that…



Haha, woops. Looks like a different game.

[h3]We’ve come so far! And it’s thanks to your support. Thank you for reading these devlogs and cheering us on!

Back to bug extermination…[/h3]

Devlog #57 - Bug Season (S2)

Before I start, thank you for the comments! I'm dramatic but I'm hanging in there, so don't worry! We're doing this! WE'RE MAKING VIDEO GAME--

Ahem.

Hello, Snacko readers! Welcome to Season Two of “Bugs - Please Go Away!” I’m your host, enralis, and I’m here to tell you how it’s…

Yeah, we’re still fixing the video game.

I mean, I could just ramble about all the specifics about the things we’ve fixed but I’ll just cover the gist of it. This will be a short one and I apologize in advance for very little pretty pictures.



To make up for that, here’s a bug where some desert rocks are floating in the Grassy Plains. Why are they there???

[h2]🥰 Likes & Dislikes[/h2]

So, I lied, ‘cause this isn’t a bug. When we went into QA, one of the issues was trying to give Mikan an Egg on Toast would crash the game. The bug was actually…the NPCs never had their likes and dislikes entered into the database.

Yeah, my bad. So I had to go do that.

Also, I didn’t put in the proper recipe data for some dishes. So Mikan would teach you how to cook something, and if you followed her instructions, you got…this.



Luckily, 80 years ago, recursive already wrote the system for defining and setting this data, and it was super intuitive and easy to use!

Hardcore weirdo fans will remember (sorry you’re not weird I’m joking) that we have an internal tool: SnackoEd. It’s like a web interface to edit backend data.



Using SnackoEd, I could choose specific items (like Softwood) or items that have an attribute (like Fish, or Sweet Food). It’s pretty cool!

[h2]💀 Domino Effect[/h2]

But with foresight also comes the other end, finding bugs and trying to fix them, only to find out the downstream effects break something else, so a workaround or change had to be implemented.



In this particular case we had, it was an issue where you can softlock yourself by going back to your house in the middle of a story cutscene and sleeping, breaking the video game. To prevent this, we made it so that you can’t sleep or save during a cutscene. Easy? Right?? NO!



Because we have two cutscenes that require you to sleep. And for story/ease of managing the flow/localization team will cry/our producer will actually cry, we can’t change the way it plays out.



So recursive had to go in and add another checkbox that you can check to say, “okay, for this specific cutscene, you can save”.

Kinda frustrating that the closer we are to finishing the game, the better all our custom systems and tools get. It’s like, okay wow…sure would’ve been nice if we had this at the start!!

Such is life.

[h2]🎮 What’s That Button?![/h2]

I’m not a very honest person. Actually, my memory is just bad. ‘Cause this isn’t a bug, either. In fact, I barely talked about bugs this devlog.

Anyways, you know how every console and their pet hamster has a different gamepad button setup? Right, so, I forgot that the three main controllers that are used (Switch, XBox, PlayStation) are ALL different and NONE of them want to call the shoulder buttons the same thing. Or anything, for that matter.



125 items! Just for gamepad! Ahhhh!!!?????

For each controller button, I had to make a light and dark version (different UI screens will pick different ones to show up better) of every variation. Is this the L2 trigger? NO! You’re a clown! This is the Switch! It’s called ZL!!

[h2]🐛 Bug (Real)[/h2]

Well, to stay true to the title, I will show one bug.

One day, we got a worrying report: when villagers reply to a listing, they should also include the crafting blueprint for the house they’re requesting to live in.

Only fair, right? If you’re going to make me build you a specific house, you better tell me how to make it!!

Anyways. The bug was that you weren’t getting the crafting recipes. How could this be? The game is broken! Oh no!

So, I sit down, prepared for a long day of debugging when…



Oh.
I’m creating the blueprint for the house.
But I never put in the code to add it to the player’s inventory.



Anyways, yeah that’s all for this month. Thank you for reading until the end and sticking with us!

We’ll be working hard to squash these bugs!

Not all of them are caused by my incompetence, promise! Pinky swear!!

Devlog #56 - Bug Season

The weather is warming up, and that’s where all the bugs are coming from! Ahhh! I hate bugs! Of both variety. Sorry if you like bugs. I’m just scared of them.

This devlog is going to be a short one with not many pretty pictures, because we have not done anything pretty.

We’ve been fixing bugs. In fact, it’s been so solely bug fixing that I’m going to have one header for this month…

🐛 Bugs


Yes, bugs.

One of the bigger ones that plagued my mind for days was how localization for Japanese came back with a sheet detailing concerns about repeating lines across different NPCs.

“How is that possible??” I thought. Upon further digging, it almost seemed like the keys (a unique ID assigned to any chunk of text that displays) are all jumbled.

That’s terrible!

I went into a mild panic because that means something went wrong in the export process of all the text, and with how many words the game has (over 100k!) it was a lot to…do.



Luckily, the issue seemed to be something related to the plugin we used for our dialogue trees. Outside of “Save”, “Save All”, and “Save As”, there was also a plugin specific action: “Save All Dialogue”.

Yup, you guessed it. We had to press that button for the engine to regenerate and apply keys to all the texts keys. Which we haven’t, because I pressed “Save All” in the regular menu and assumed it was the same.



Read the wiki and documentation people! People is me.

This sort of took up a whole week of scrambling and some 3AM emails, but now we’re on track! I think!



Bonus image: localization team confused by my terrible jokes.

That one solved, I also spent a day on one of the long-standing Snacko bugs: blue tint when you move between levels during day time.



You’re gonna love this one.

Essentially, we noticed two years ago that when you move between levels, like the town and Nobu’s house for example, the game would get ugly blue tinted.

After multiple attempts over the past 24 months, I have finally figured it out after an afternoon of piece-by-piece dismantling of Snacko’s lighting and weather system:

The fog I chose was too blue.

[h2]I repeat, the fog I chose was just simply too blue, causing the game to be blue.[/h2]

What was happening, was that the fog color that you can see in the world was changing properly, but the way the fog affects the sunlight etc. was not being updated until you swap levels. This is what I assume to either be an engine bug or a limitation of the half dynamic half stationary lighting system.



So in the above example, you can see the fog in the distance being green, but the world is not covered with a sickly green YET. When you switch levels, it updates the world to reflect how the lighting would be if there was green fog everywhere.

So yeah, I fixed the “too blue” bug by making the fog color “less blue”.

I love video games with all my heart.

The rest of the bugs we fixed are too boring to recount. If I told you about the bugs I fixed you would close this window and go do something better with your time, like eat dirt.

So I will spare you the details and end the devlog here.

[h3]Thank you for reading all the way to the end!

Devlog #55 - Being Nosy

I still haven’t figured out if it’s “nosy” or “nosey”, apparently both are correct, but my spellcheck is telling me it’s “nosy”.

Anyways, hello! March went by really fast. We got a lot done, so let’s run through some of them:

🛋️ Fur-niture


The asset hell continued into the first two weeks of March. During the first half, I wrapped up all the 3D models and 2D icons for the remaining furniture items.

I themed sets after styles, so they were fun to make. For example, the Palm set is Florida grandma core:



…and I was quite proud of the Vintage Couch.



I don’t want to spoil everything, so that’s all you’re getting! WAHAHA! Oh, but here’s some icons I did.



Right after I finished all the furniture goodies, I had to work on…

🌙 Obelisks


Obelisks are a big part of the game in the sense of the vibes and story part it plays. So for that reason, I don’t really wanna show you anything! Cause I think it’ll be 10,000 times cooler if you get to experience for the first time in the game along with Dale’s music. The music adds a lot!



But I don’t want to show nothing, you know, just in case you think I’m a Big Fat Liar. So here’s some concept art I did for one of the interior designs, with zero context.



And here’s the same environment in Maya. I think what makes this place really special are the shaders I made for it and the whole atmosphere when you’re standing in there at scale with Dale’s music. So this much is allowed, as a treat.

After this, I spent about a week laying in bed and turning into mashed potatoes. I think since the end of January, I finished about 150+ buildable assets along with their icons, 30+ NPC portraits, 30+ food assets and their icons, and 17 buildings. So yeah, I really needed…to turn into mashed potatoes for a bit.

🏠 Nosy Neighbors


After I reconstructed myself back into a whole potato, I dressed up some NPC houses.
Prior to this, each NPC had like, a square with a bed as their house interior. Now that I had all of the furniture done, I was able to drag in some meshes and dress up their homes.



One of the things I’ve always loved about Pokemon Crystal and Fire Red (in particular!!) are the flavor text bits. You know, checking the fridge will say “Oh, a Cinnibar Burger. Mom’s special!” I’m probably mashing 3 different texts and butchered that one but don’t worry about it.



I spent a lot of time to think about which villagers would own which pieces of furniture, and what colors they would’ve dyed them. So I hope you enjoy learning more about everyone through the way they decorated their homes and the bits of text you can find!

…..and that’s all for this month! I would love to share everything with you, but I also think it’ll be nice to experience some of it for the first time in game.
Well, see you soon. We have…a lot of bugs and loose ends to tie up now. So many loose ends. So, so, so many loose ends…

Goodbye………..

[h3](Thank you for reading all the way to the end! I love you!!!)[/h3]