This game has a prototype article
This game has a notes page
|This article is a work in progress.|
...Well, all the articles here are, in a way. But this one moreso, and the article may contain incomplete information and editor's notes.
What happens when you combine grapples with dogs? You get Grapple Dog, an adorable platformer with pretty visuals, thick outlines and dogs swinging on ropes! And robot takeovers with world destruction and dimensional collapses, also.
- 1 Sub-pages
- 2 Leftover Demo Mode
- 3 Save File
- 4 Hidden Loading Text
- 5 Dialog
| Debug Features|
What do all these funky numbers mean?
| Unused Sprites|
If you like placeholders, you're at the right address.
| Unused Objects|
How big was this game going to be?
| Unused Rooms|
Islands that only dataminers dare to visit.
| Out Of Bounds Objects & Tiles|
Out of bound discoveries we weren't supposed to see, or weren't supposed to be placed at all.
Leftover Demo Mode
A demo mode leftover from the Steam Next Fest Demo is still in the game's files, and can be enabled by setting global.demoMode to 1. Despite some broken menus and buttons that no longer redirect to the developer's Twitter or Steam page, everything in the main game remains fully intact.
A list of things this demo mode changes goes as follows:
- The creation of grappledog_demo_data in %localappdata%/Grapple_Dog so the game wouldn't overwrite your real save data.
- The text "Demo Edition" floats below the logo.
- A different button arrangement for the main menu.
- The removal of selecting a language from the options menu. Different languages were incomplete in the Steam Next Fest Demo, and thus was hidden from the options.
- No way to select a save file, instead getting a prompt to go to the tutorial or skip to the overworld.
- No voice sound effect plays for when Pablo falls below.
- An early stop in the tutorial stage that cuts out all story.
- Redirecting you from overworld_main to overworld_demo.
- Changing the amount of gems you need to collect to 15 opposed to the regular 25.
- Skipping the entirety of REX's level, going straight to his boss battle.
- A "thank you for playing" screen after defeating REX instead of obtaining his item.
Unused Accessibility Options
By default, the game generates a save file with all different options set to their default values, which for accessibility options are all set to 0. However, under [OPTIONS] are three settings that always stay at 0 due to lacking an entry in the game's options menu. Despite these going unused, their values are added to a save file anyway and can be re-activated without modifying the game itself. They even draw icons on the left bottom of the screen.
easytimers will extend the time or speed for certain stage objects or enemies before they can launch something that hurts you. Only a handful of these objects make use of this setting:
- Boomerang throwing its spikeball, wait time doubled.
- Electric putting the floor under shock, wait time doubled.
- Rails move speed, speed reduced by 50%.
- Jetpack shooting fire bullets, wait time doubled.
- Shooter closing its beak after firing a fire bullet, wait time doubled.
- Chase Snake following you around, speed reduced by 37.5%.
- Snowballer waiting before throwing its ball, wait time doubled.
- Spike Blocks emerging spikes after stepping on them, wait time doubled.
maxhp would've let you pick between having 1, 4, 8 or 12 HP during regular play. It's unfortunately unfinished, and all it does is draw the number 8+ in the game's paw HUD and nothing else. This option also lacks an icon in sOptions_accessibility_icons and any draw functions for this option were removed in a later update.
fallspeed likely would've modified the time for enemies' attacks landing on the ground. No objects use this value and it doesn't do anything besides drawing an icon on the bottom left of the screen.
Unused Save Entries
See notes page.
Hidden Loading Text
The game's loading screen is supposed to have text that was even translated into multiple languages. However, in oTransition_Draw_64 under instructions for the Windows version lacks any kind of draw_text() argument. Pasting draw_text(405, 250, loadingString) under draw_set_font() restores the loading text.
For some odd reason, there are duplicate textsheets in the game's files titled gd_ui_text.~csv and gd_story_text.~csv. Some Microsoft Office applications tend to autosave progress by creating duplicate files starting with ~$ followed by their regular file name in the same folder. It's possible builds are pushed onto Steam while Microsoft Excel is still opened. While gd_story_text.csv in v1.0.1 matches hashes with the actual file used, gd_ui_text.~csv does not, and is actually a few kilobytes smaller, indicating that this was an early autosave. This wasn't the first time this happened either.
Changes after v1.0.1 aren't significant, but the ones present in that build for gd_ui_text.~csv is missing text for the results screen resulting in a crash, and although an entry for controller remapping does exist, there's no text at all.
Not much unused dialog remains in the game, but the dialog that wouldn't be used anyway was still translated into the game's 8 other supported languages.
NPC Error (150)
A piece of dialog in the form of an NPC Error message. This should be triggered if the values in textLang() and the .csv script don't match any valid values. Now it just crashes, leaving these unused anyway. Brazilian is the only language that wasn't translated and just reuses its English text instead.
|English||This NPC hasn't been given a Conversation ID||YOU NEED TO CORRECT THIS|
|French||Ce PNJ n'a pas d'identifiant de conversation||À CORRIGER|
|Spanish||A este PNJ no se le ha asignado ningún ID de conversación.||TIENES QUE ARREGLAR ESTO|
|German||Dieser NPC hat keine Gesprächs-ID erhalten.||DAS MUSST DU KORRIGIEREN|
|Dutch||Deze NPC heeft geen Conversatie-ID gekregen||JE MOET DIT OPLOSSEN|
|Simplified Chinese||这个 NPC 没有对话证||你需要收集它|
|Brazilian||This NPC hasn't been given a Conversation ID||YOU NEED TO CORRECT THIS|
|Portugese||Este NPC não recebeu uma ID de Conversação||PRECISAS DE CORRIGIR ISTO|
Goat 2 (201)
A conversation with a goat NPC asking Pablo to get a carrot. This piece of dialog was only supposed to appear in Outset Mountain, but was cut because the developer couldn't get this dialog to work without bugs or crashes, thus it was dropped. Its script with the right emotion values also exists.
Goat 2 (Has eaten carrot) (202)
Self explainitory, one line of dialog that would trigger after you gave a carrot. This also triggers an unused emotion for the NPC of him holding the carrot while smiling.
Boat Interior Interactions
Some early dialog is present in the game's data.win related to some boat interior objects, and can be found in oInteractables_text_Create. They're slightly different from their used counterparts.
|The Professor has a lot of books... Some of them even have pictures!||The Professor has a lot of books. Some of them even have pictures in!|
|I'm not supposed to play with the toaster. Not after last time...||I'm not supposed to play with the toaster anymore. Not after last time...|
There's also a line for the game to use if an object was missing text.
|I'm an interactable that has text! This is what I say!|
Present in draw_options_xxx() (xxx followed by accessibility, controls, effects or graphics) is a string for when a setting was missing its description from the game's text scripts.
|- Description not set -|