Please consider supporting us onPatreon.
Donut County
Donut County |
---|
Developer:Ben Esposito[1]
|
Donut County is a short indie title that could be described as "reverseKatamari".
Contents
Localization System
Donut County uses a system called I2Loc, which is designed to grab updated versions of text from a Google Spreadsheet. One of the "languages" in that sheet is dedicated to notes from the writers on how to translate or interpret lines. Below is a trimmed version of the translations file, which excludes the translated languages and lines without notes for readability.
NotesToTheTranslator/Trimmed Notes to the translator, and the English lines that go with them. |
There is also some kind of placeholder text generator inDialog.cs, containing aFuturama 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:
- A frog.
- The first section of Potter's Rock, offscreen.
- 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.
- Anti-snake propaganda cubes.
Living Donuts
There are two prefabs of donuts with faces that get used nowhere.
Show Triggers/Collision
The global variables debugShowTriggers, debugShowCollision, and debugShowCameraCollision define whether their respective objects are visible (although actually getting it to work requires finding particular methods and re-running them). When visualized, they are given a unique semitransparent material. debugShowCollision gives collision a dark red material, and debugShowCameraCollision shows camera-location-specific collision with a blue material. debugShowTriggers has a yellow material to go with it, but doesn't do anything. Blue collision is used for hole/garbage walls, since the camera generally moves around and the hole needs to stay within the camera's view. Red collision is used in cases where the collision doesn't need to move, such as putting a 'lid' on the level to keep garbage from flying out of it and leaving the game softlocked. There are a handful of materials that were used for debug at some point, but are now unused.
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 thetalk page. Specifically: There are still some mysteries here. (For instance, what does MansionManager's debug controls do?) |
Distinct from the debug menu, various game scripts have special controls when debug mode is enabled.
- BalloonManager.cs: (Potter's Rock) Holding down Space heats Pup's balloon as if the on-fire hole was underneath it.
- ButtonCameraSwap.cs: Pressing C runs CameraSwap() (needs investigation)
- CoopTrigger.cs: (Chicken Barn) Pressing X runs EnterCoop() (needs investigation)
- DarknessCat.cs: (Abandoned House) Pressing 4 causes the cat to jump on to the lightbulb. 3 reveals the cat. (needs investigation)
- DrawBlinds.cs: (Abandoned House) Pressing 2 causes some of the effects of drawing the blinds to occur.
- FridgeBehavior.cs: (Abandoned House) Pressing 1 runs some odd code that needs investigation.
- Game.cs: (general code) Hitting R resets the current scene.
- Giftshop.cs: (Beach Lot C) Pressing F spawns a firework.
- HoleContentsUI.cs: (general code) Pressing N runs... some code, no effect found ingame yet. (needs investigation)
- HoleSnake.cs: (Ranger Station) Pressing S puts a snake in the hole. Also brokenly attempts to work in Biology Lab.
- LoadingTruck.cs: Pressing H runs Throw() (needs investigation)
- MansionManager.cs: Pressing C runs LaunchObjects() (needs investigation)
- OS1DeliveryAvatar.cs: Pressing V runs plays the victory animation for the hole driver UI in the upper left corner. (Haven't gotten this to work.)
- OS1DialogSystem.cs: (general code) Pressing T skips the current dialog sequence.
- Raincloud.cs: (????) Pressing S causes a lightning strike. (Where is this entire script even used???)
- ScooterAI.cs: (Mira's House, Postgame) If a scooter's ScooterAI.cs AIMode is set to PlayerControlled, you can control it with WASD. (PlayerControlled2 lets you control it with the l,./ keys.)
- SmellManager.cs: (???) Pressing B runs Smell(). Please, someone tell me what a smell manager is and what it does in this game, because I can't find where this would be used.
- TentHead.cs: (Campground) Pressing V toggles whether Coyote's head is outside the tent.
- TextingManager.cs: (general code) Pressing T skips the current texting conversation.
- TrafficCarSimple.cs: (The 405) Pressing F forces all cars to start driving.
- WaterWheel.cs: Pressing D runs OnComplete() (needs investigation)
Misc.
- 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).
- There is a script called PhysicsTester which swaps out a GameObject's material depending on vertical speed.
References
- Games developed by Ben Esposito
- Games published by Annapurna Interactive
- Windows games
- IOS games
- Nintendo Switch games
- Xbox One games
- Android games
- PlayStation 4 games
- Mac OS X games
- Games released in 2018
- Games released in August
- Games released on August 28
- Games with unused areas
- Games with unused code
- Games with hidden development-related text
- Games with unused objects
- Games with unused graphics
- Games with debugging functions
- Games with hidden level selects
- To investigate
Cleanup >To investigate
Games >Games by content >Games with debugging functions
Games >Games by content >Games with hidden development-related text
Games >Games by content >Games with hidden level selects
Games >Games by content >Games with unused areas
Games >Games by content >Games with unused code
Games >Games by content >Games with unused graphics
Games >Games by content >Games with unused objects
Games >Games by developer >Games developed by Ben Esposito
Games >Games by platform >Android games
Games >Games by platform >IOS games
Games >Games by platform >Mac OS X games
Games >Games by platform >Nintendo Switch games
Games >Games by platform >PlayStation 4 games
Games >Games by platform >Windows games
Games >Games by platform >Xbox One games
Games >Games by publisher >Games published by Annapurna Interactive
Games >Games by release date >Games released in 2018
Games >Games by release date >Games released in August
Games >Games by release date >Games released in August >Games released on August 28