the cutting room mirror

Donut County

This article has a talk page!This article has a talk page!
view on tcrf.net

Donut County is a short indie title that could be described as "reverse Katamari".

Sub-Pages#

Localization System#

Donut County has the ability to pull new translations from a Google Sheet. Some of the more interesting contents:

  • Notes to the localizers on intended interpretations, pop culture references, and stylistic choices
  • Entirely unused lines
  • Cut characters: Angler (a fisherman), Helen, and Seag (a seagull, possibly the one in Beach Lot C)
  • Cut conversations: Angler complaining about BK holing his house
  • Names of cut levels: Route 66, Ancient Canals
  • Unused text: "This version of <> has been created specifically for demonstration purposes."

An export of the spreadsheet ("I2Loc Donut County Localization", created November 14, 2017) in .ods format can be downloaded here.

There is also some kind of placeholder text generator in Dialog.cs, containing a Futurama reference:

private Dialog()
{
    Rows.Add(new DialogRow("NONE", string.Empty, string.Empty));
    Rows.Add(new DialogRow("MSG_TEST", "Hey this is a test message", "Hola. This is a test message"));
    Rows.Add(new DialogRow("MSG_TEST2", "Bite my shinny metal Azz", "Bite my shiny metal SPANISH Azz"));
}

Out-of-Bounds and More#

  • In Mira's House, there is some graffiti on the wall next to the trash can, but it's invisible to the normal game camera. (This is the same piece that you can see very faintly in the postgame while flying the quadcopter around.)
  • Several unused pots and some planks are out of bounds in Potter's Rock. They were likely used as a sort of "palette" to copy into the level proper.
  • In the level clear screen, there is a copy of the ranger station for no apparent reason. There is no script attached to it, and it never goes away or swaps out for something else.
  • In Ranger Station, there are two near-identical disabled groups: signs, with some cacti and rocks around them. The only difference between them is the color of their cacti. These can be consumed by the hole if enabled.
  • Also in Ranger Station, there are four objects named "DangerSpot", which are always disabled. DangerSpot is a construction of wood and a tire that moves on a hinge. If enabled, hitting it with a snake will cause the danger level to increase, just like the other sources of danger (pressing buttons, breaking things). It has a cooldown before hitting it increases danger again.
  • Ranger Station includes some other random disabled debris, such as tires, a mug, and a bucket.
  • In Hopper Springs, there are a number of different pieces of fence disabled, as well as some rocks, including a cave formation, and a rug. Most of these are overlapping in the same area. There's also two bunnies of unclear purpose floating in the sky.
  • In Joshua Tree, there is a second, disabled trailer overlapping the seen one. There is also a disabled bit of cliff face.
  • Beach Lot C has one singular piece of disabled grass.
  • In Gecko Park there is a disabled section of road which passes close to the playable area and clips a building, and also a disabled group called Level_Desert which appears to be a blank, unused backdrop.
  • There is a disabled pool under the table in the 405.
  • 999ft has an ironing board out in the void. It is not visible to the player and has no scripts attached to it.

Blank Template Level#

FEATURING:

  1. A frog.
  2. The first section of Potter's Rock, offscreen.
  3. Black cubes, the only thing that can fall into the hole, though they moreso "jump" in (using a script called "MoveOnHoleContact"), rather than fall in with rigidbody physics. This script is normally used by objects that are anchored to the ground.
  4. Anti-snake propaganda cubes.

Unused Music#

There is some music in the game that is left unused. Some of it ended up as bonus material in albums released by the developers.

This needs some investigation.
Discuss ideas and findings on the talk page.
Specifically: Ripping all the music in the game is very easy, but comprehensively checking that it isn't used is more difficult. There may still be more unused tracks.

Internal Filename

Official Release

Vulpixic - Redo

Vulpixic - Kachina Doll

"Apology (Bonus)" in the OST

Vulpixic - One Chance

Vulpixic - Pacific

"PB (Remix)" in Bonuts

Vulpixic - Slow It E

"Morning Shift (Bonus)" in the OST

Vulpixic - Leah's Song

"Leah's Song" in Bonuts

Vulpixic - Bassnuke

Vulpixic - laurens lily6_rj4

Vulpixic - Crab

"Sandcastle" in the OST

Vulpixic - Twelve AM

Kachina dolls are wooden figures carved by the Hopi people. Donut County originally was named Kachina and had Hopi theming, but this was dropped later in development.2 References to this are still scattered around the game. There is also an unused and unreleased version of the level clear theme, enumerated as "mus_successbad" instead of "mus_success":

Unused Graphics#

Living Donuts#

Two prefabs of donuts with faces.

Unused Feather Particle#

The feather particle effect used in Chicken Barn has an unused version matching Dollop's coloration.

Used

Unused

ScreenSelector.bmp#

Unusually, this graphic is not stored in an asset bundle - it is loose in the DonutCounty_Data directory.

Debug Mode#

In the shipped game, Globals.shipping is set to True. Hacking this to False allows you to hit ` to toggle debug mode, which includes a GUI to set various things.

Debug Menu#

Notable Menu options:

  • Close Debug Menu (disables debug mode)
  • Delete Save Data
  • Level Select - Gives a list of levels to load, identical to the normal level select, with the exceptions of "Riverbed" being named "LOCATION_RIVER", the Raccoon HQ having more numerous and specific entries, and the bossfight defeat scene having an entry.
  • Record Mode On/Off
    • When set to Off:
    • Disable Cursor
    • Disable Game UI
    • Disable tracking (Frees the camera a little. This was probably used to get clean promotional footage.)
    • (Hidden) Changes anti-aliasing settings.
  • Enable Festival Mode - Only obvious effect is adding a setting for how long the game can be left idle before resetting itself. Probably used for demos at press conferences and such.
  • Clear Achievements
    • An empty text box, probably for the Update Achievement button.
  • Update Achievement
  • Reset Steam Achievements
  • To the right: Show Rumble Debug (opens various buttons to start and stop rumble, and rumble presets.)
  • When in 999ft (the underground scene the characters have their discussions in), there is a scene list you can select dialog blocks from. Clicking on one will jump the game to the dialog that plays just before that scene. If the scene has no dialog before it (primarily Raccoon HQ scenes), selecting it will softlock the game until another dialog block is selected or another level is loaded. Most of the dialog blocks are named New Block.
  • When in a text conversation scene, a button will appear in the debug menu to skip it.

You can also hit the up and down arrow keys to change the hole's size. Holding down Z speeds up the game, with a unique sound effect to go with it. Pressing R resets the game to the title screen.

Debug Controls#

This needs some investigation.
Discuss ideas and findings on the talk page.
Specifically: There are still some mysteries here. (For instance, what do MansionManager's debug controls do?)

Distinct from the debug menu, various game scripts have special controls when debug mode is enabled.

Script File

Relevant Level

Keys

Effects

BalloonManager.cs

Potter's Rock

Space

When held down, heats Pup's balloon as if the on-fire hole was underneath it.

ButtonCameraSwap.cs

???

C

Runs CameraSwap() (needs investigation)

CoopTrigger.cs

Chicken Barn

X

Runs EnterCoop() (needs investigation)

DarknessCat.cs

Abandoned House

3,4

4 causes the cat to jump on to the lightbulb. 3 reveals the cat. (needs investigation)

DrawBlinds.cs

Abandoned House

2

Causes some of the effects of drawing the blinds to occur.

FridgeBehavior.cs

Abandoned House

1

Runs some odd code that needs investigation.

Game.cs

(general code)

R

Resets the current scene.

Giftshop.cs

Beach Lot C

F

Spawns a firework.

HoleContentsUI.cs

(general code)

N

Runs... some code, no effect found ingame yet. (needs investigation)

HoleSnake.cs

Ranger Station

S

Puts a snake in the hole. Also brokenly attempts to work in Biology Lab.

LoadingTruck.cs

???

H

Runs Throw() (needs investigation)

MansionManager.cs

???

C

Runs LaunchObjects() (needs investigation)

OS1DeliveryAvatar.cs

???

V

Plays the victory animation for the hole driver UI in the upper left corner. (Haven't gotten this to work.)

OS1DialogSystem.cs

(general code)

T

Skips the current dialog sequence.

Raincloud.cs

Raccoon Lagoon

S

Causes a lightning strike. Haven't gotten this to work.

ScooterAI.cs

Mira's House, Postgame

WASD, L,./

If a scooter's AIMode is set to PlayerControlled, you can control it with WASD. (PlayerControlled2 lets you control it with the L,./ keys.)

SmellManager.cs

???

B

Runs Smell(). This whole script seems to be unused.

TentHead.cs

Campground

V

Toggles whether Coyote's head is outside the tent.

TextingManager.cs

(general code)

T

Skips the current texting conversation.

TrafficCarSimple.cs

The 405

F

Forces all cars to start driving.

WaterWheel.cs

Raccoon Lagoon

D

Runs OnComplete() (needs investigation)

Show Triggers/Collision#

"Trigger" (texture used by debug materials)

To prevent trash from flying off somewhere inaccessible and softlocking the level, there are two types of invisible wall. One never moves, and is used to place a sort of 'lid' on the level. The other is only active in a certain phase of the level (camera position), and is used to keep trash from exiting the current area. By hacking the global variables debugShowTriggers, debugShowCollision, and debugShowCameraCollision, you can make these visible. They are given a semitransparent material with a unique texture. "Triggers" are yellow (in theory). Unmoving collision is red, and camera-specific collision is blue. The developer posted a demonstration of this system.

There are a handful of other materials that were used for debug at some point, but are now unused.

Miscellaneous#

  • Honey Nut Forest is internally called scn_frog2, but there is no scn_frog1, or any other scene involving frogs (the Raccoon HQ Biology lab is in the same scene as the rest of Raccoon HQ). Speculation: the localization spreadsheet contains a fisherman named "Angler", and a conversation (right before Honey Nut Forest) about how BK destroyed his house while he was out frog catching. The spreadsheet also has a level "LOCATION_FROG" (compared to "LOCATION_FROGFOREST" for Honey Nut) that is named "Ancient Canals" (description: "Old river canals area.") Ben Esposito posted two images of a fisherman character (and his level, where he has a fly on a fishing pole) on the 25th of June, 2016. This level is probably scn_frog1.
  • There is a script called PhysicsTester which swaps out a GameObject's material depending on vertical speed.

Oddity#

The TVs in the 405 are displaying this image of an unidentified person.

(Source: Original TCRF research)

References#


  1. Steam listing↩︎
  2. Rock Paper Shotgun↩︎