Terminal: Difference between revisions

From Dave and Bambi Wiki
Jump to navigation Jump to search
m (typos and number corrections)
m (→‎Disclaimers: minor grammatical mistake/clarification)
 
(94 intermediate revisions by the same user not shown)
Line 1: Line 1:
[[File:Vs_dave_terminal.png|thumb|The terminal screen in-game when first loaded.|600px]]
'''''<u><big>WARNING: This page contains major spoilers to Vs. Dave and Bambi! Read on at your own risk.</big></u>'''''[[File:Vs_dave_terminal.png|thumb|The terminal screen in-game when first loaded.|600px]]


The '''terminal''', also referred to in the game as the '''Vs Dave Developer Console''', is a secret feature in Vs. Dave and Bambi used to access bonus songs and text snippets about the game's lore and characters. It was first introduced in the 3.0a release and was expanded in the 3.0b update; some further changes have been made to its source code since then, but have not yet accompanied any release of the game. Its primary gameplay purpose is to unlock Exploitation, the most difficult song and finale of the mod, while the rest of its contents are optional.
The '''terminal''', also referred to in the game as the '''Vs Dave Developer Console''', is a secret feature in Vs. Dave and Bambi used to access bonus songs and lore about the characters. It is unlocked by pressing the 7 key during '''Unfairness'''. It is reminiscent to a [https://en.wikipedia.org/wiki/Command-line_interface command line interface], where the player inputs written commands that return snippets of text or alter the gameplay of the mod. Its primary purpose is to unlock '''Exploitation''', the most difficult song of the mod, while the rest of its contents are optional. The provided lore most significantly expands on the backgrounds of [[Dave]], [[Bambi]], [[Expunged]], [[Recurser]], and [[Madden]], a character that only appears in this feature; numerous other characters are minorly featured, including [[Moldy]], [[Exbungo]], [[Tristan]], [[Minor Characters#Spike|Spike]], [[Playbot]], [[Minor Characters#Diamond Man|Diamond Man]], The Hall Monitor, Boyfriend, and [[Minor Characters#Blade|Blade]], another terminal-exclusive character. Several additional exclusive characters are mentioned or implied to exist but are not named.
 
It was first introduced in the 3.0a release and was expanded in the 3.0b update; some further changes have been made to its source code since then, but have not yet accompanied any release of the game. The current source code has added brief mentions to [[Muko]] and [[Minor Characters#Maldo|Maldo]]. The lore in the terminal was primarily written by [https://x.com/OfficialMTM101 MissingTextureMan101].
 
== Disclaimers ==
 
* As of September 19th, 2024, [[Recurser]] has been amicably removed from Vs. Dave and Bambi by request of his creator [https://x.com/FullNameDeTrain AadstaPinwheel].[https://x.com/FullNameDeTrain/status/1836907487242424369] This change will apply to the upcoming 3.5 release. All references to him and provided lore through the terminal are no longer canon nor reflective of his present character; this page describes his lore only in context of previous releases of the game.
* Numerous times MissingTextureMan101 has stated that '''the 3.0b lore has poor implementation and quality''', and it is intended to be '''rewritten and polished for the upcoming 3.5 release''' with help from [https://x.com/BillyBobboLOL BillyBobbo].[https://twitter.com/OfficialMTM101/status/1746240006476447759?s=19][https://twitter.com/OfficialMTM101/status/1779249384762519718?s=19][https://twitter.com/OfficialMTM101/status/1779250141037560076?s=19][https://twitter.com/OfficialMTM101/status/1708544436031123493?s=19] This is important to keep in mind while reading the open command entries and external materials; '''the story is unfinished and subject to change in future updates.'''
** The 3.5 update does not currently have a release date, but it is near completion. The latest news on its progress is the description of Moldy's new Cheating mix on YouTube from August 26th, which states that a 3.5 release is "much closer than you might think".[https://www.youtube.com/watch?v=3M9ao4XMOnI] The lore has been confirmed to have a rewrite planned, with the latest update being that the time before Bambi's fall from godhood has been refined.[https://x.com/OfficialMTM101/status/1828448496598557164]
* In several places, the Bambi religion is referred to as a cult, such as in artifact6.png and the cult's cipher. The usage of the word "cult" has since been retracted as inaccurate and non-literal[https://x.com/Gartalick/status/1578511314779254789] (this needs a primary source); their name as referred to by MissingTextureMan101 elsewhere is simply ''the Bambi religion''[https://x.com/OfficialMTM101/status/1578557761691844608][https://x.com/OfficialMTM101/status/1578186535119134720] and the cult's cipher as ''the cypher''.[https://x.com/OfficialMTM101/status/1586261384701960193] These will be the names used in this article when not directly quoting source material.
* There is a major timeline discrepancy in the described events of some terminal contents, and the exact occurrences of many of these things are unclear.
** The ''current'' canonical timeline is that the [[Terminal#birthday|birthday incident]] occurs on Tristan's 9th birthday; because Tristan is currently 9 in the game's events, this means that it, Dave's meeting with Recurser, and the mysterious email that Dave receives all happened within a rather short period of time prior to Dave encountering Boyfriend in-game. Dave finished and used the P.R.A.E.M two years before the birthday incident.
** The ''initial'' timeline had the birthday incident occur ''on'' Tristan's 7th birthday, two years before the events of the game. In this timeline, Dave finished and used the P.R.A.E.M. only a month before the birthday incident, and the meeting with Recurser happened some time during or shortly after it. The email arrives much later in time.


== Description ==
== Description ==


When it is accessed for the first time, a black screen with green horizontal lines displays and reads out the following text:
[[File:Terminal unlock.gif|frame|The terminal's introductory screen.]]
 
When it is accessed through pressing 7 on Unfairness, a black screen with green horizontal lines displays and reads out the following text:


<blockquote>> bin/plugins/AntiCheat.dll: No argument for function "AntiCheatThree"<br><br>> Redirecting to terminal...‎</blockquote>
<blockquote>> bin/plugins/AntiCheat.dll: No argument for function "AntiCheatThree"<br><br>> Redirecting to terminal...‎</blockquote>


The screen then does a sliding-fade transition to the terminal. The terminal is designed like a command line interface, especially Windows command prompt. Similar to the software, it is a black screen with white Fixedsys text containing a header at the top that reads "Vs Dave Developer Console[Version 1.0.00001.1234] All Rights Reserved.". In the current source code, the header's string of numbers instead reads [Version 1.0.00001.1235].[https://github.com/BemboLikePizza/VsDave/blob/main/assets/preload/locale/en-US/terminalList.txt] The header text is erased if the player uses ''clear'', though the screen will scroll downward if inputs exceed the length of the viewport. Beneath it is a text input area where the player can enter commands.
The player can skip this sequence by pressing enter. The screen then does a sliding-fade transition to the terminal. The terminal is strongly reminiscent to Windows command prompt. Similar to the software, it is a black screen with white Fixedsys text containing a header at the top that reads "Vs Dave Developer Console[Version 1.0.00001.1234] All Rights Reserved.". In the current source code, the header's string of numbers instead reads [Version 1.0.00001.1235].[https://github.com/BemboLikePizza/VsDave/blob/main/assets/preload/locale/en-US/terminalList.txt] The header text is erased if the player uses ''clear'', though the screen will scroll downward if inputs exceed the length of the viewport. Beneath it is a text input area where the player can enter commands.


Pressing any key plays a sound. A slow, ominous ambient track accompanies this screen on loop. Sounds were introduced in 3.0b.[https://github.com/FuseIsHere813/VsDave-3.0/commit/2acba794d875c89edd3be85f64db1f5be17cbb80][https://github.com/BemboLikePizza/VsDave/commit/1303bb3e337f9c10ae661ccf3d04f7aecd39a0ba]  
Pressing most keys plays a typing sound (see [[Terminal#Controls|Controls]] section). A slow, ominous ambient track accompanies this screen on loop. Sounds were introduced in 3.0b.[https://github.com/FuseIsHere813/VsDave-3.0/commit/2acba794d875c89edd3be85f64db1f5be17cbb80][https://github.com/BemboLikePizza/VsDave/commit/1303bb3e337f9c10ae661ccf3d04f7aecd39a0ba]  


The terminal's code is primarily contained within the file '''TerminalState.hx''', which can be viewed along with the rest of the Vs. Dave 3.0b source code on GitHub.[https://github.com/FuseIsHere813/VsDave-3.0/blob/main/source/TerminalState.hx] The command help text and some error messages are stored in '''terminalList.txt''', which has several language localizations.[https://github.com/FuseIsHere813/VsDave-3.0/blob/main/assets/preload/locale/en-US/terminalList.txt] Currentmost changes to these files can be seen in the main repo[https://github.com/BemboLikePizza/VsDave/blob/main/source/TerminalState.hx][https://github.com/BemboLikePizza/VsDave/blob/main/assets/preload/locale/en-US/terminalList.txt]; the latest modification was made on December 29th, 2022.[https://github.com/BemboLikePizza/VsDave/commit/e357665e0bf3064085379184327af0e11f17a1f2]
The terminal's code is primarily contained within the file '''TerminalState.hx'''. The command help text and some error messages are stored in '''terminalList.txt''', which has several language localizations[https://github.com/FuseIsHere813/VsDave-3.0/blob/main/assets/preload/locale/en-US/terminalList.txt], while the effects of granting admin to characters can be found throughout several files under the namespace '''CharacterFunnyEffect.''name''''', particularly in '''PlayState.hx'''. More minor terminal-related functionality can be seen in '''FunnyTextState.hx''' (Recurser's ending dialogue for Polygonized when granted admin). The source code of the 3.0b release can be found [https://github.com/FuseIsHere813/VsDave-3.0/ here], while currentmost ''publicly available'' changes can be seen in the [https://github.com/BemboLikePizza/VsDave/ repo hosted by BemboLikePizza]. The latest modification to terminal functions was made on December 29th, 2022.[https://github.com/BemboLikePizza/VsDave/commit/e357665e0bf3064085379184327af0e11f17a1f2] It should be noted that the 3.0b github repo contains some file modifications that occurred after 3.0b or its latest hotfix release on October 5th, 2022 at 9:14 AM GMT[https://gamebanana.com/updates/166975]; to see the version of files per their latest game release, see [https://github.com/BemboLikePizza/VsDave/tree/0e5ab3d7e6bc61e3538ab51077c770dc76434278 this link].


== Usage ==
== Usage ==


The terminal is accessible after beating Story mode. Unlocking it requires pressing the 7 key four times: first in the Story menu, which unlocks the joke week; then in Supernovae, which takes you to Cheating; then in Cheating, which takes you to Unfairness; lastly in Unfairness, which takes you to the terminal. After the terminal has been discovered, another method of access will unlock for the player, where it will then also be found in the Console menu in Freeplay under the "ENTER TERMINAL" option.  
The terminal is accessible at any point, even on a fresh copy of the game. Unlocking it requires pressing the 7 key four times: first in the Story menu, which unlocks the joke week; then in '''Supernovae''', which takes you to '''Cheating'''; then in Cheating, which takes you to '''Unfairness'''; lastly in Unfairness, which takes you to the terminal.


Both externally and in the source code, inputs are identified as ''commands'' (a certain prefixed word) and ''arguments'' or ''parameters'' (specifications to be used for commands). Each command has a certain number of arguments it can accept. The commands are as follows:
Another method of access for the terminal unlocks only after playing Exploitation at least once. Once the player has, it will appear as a new menu option in freeplay titled "Console"; this menu contains Cheating, Unfairness, Exploitation, and Enter Terminal. Selecting the last option takes the player directly to it without its initial cutscene.  


* '''admin''':
=== Commands ===
** ''"Shows the admin list, use grant to grant rights."''
** Using this command with the parameter ''grant'' and the name of a .dat character file triggers various game events. This is the command necessary for unlocking Exploitation. In 3.0a, it had 8 keywords; in 3.0b, one was removed, reducing it to 7.
** '''Error messages''': "''No version of the "admin" command takes [number] parameter(s).''" - appears when using any number besides 0 or 2 arguments; "''[input].dat is not a valid user or character.''" - using a non-keyword value for the character parameter
* '''characters''':
** ''"Shows the list of characters."''
* '''clear''':
** ''"Clears the screen."''
* '''help''':
** ''"Displays this menu."''
** Returns a list of valid commands and their functions.
* '''open''' ''keyword'' (3.0b):
** ''"Searches for a text file with the specified ID, and if it exists, display it."''.
** Replaced ''texts'' in 3.0b. It has 37 keywords initially available to the player and 8 additional keywords unlocked after using the ''vault'' command, totaling to 45.
* '''secret mod leak''' (pre-3.0a):
** ''"No providing such leaks."''
** This command only existed in development and was not usable in 3.0a[https://github.com/BemboLikePizza/VsDave/commit/d5c28ff602a6d511e81a36bb987b7fcc074594de#diff-c37d0deb77707b5c89b7a25ac18d3b6e018ebd1154eaae13b81ed68e60b00a6fL9] or 3.0b[https://github.com/BemboLikePizza/VsDave/commit/0e5ab3d7e6bc61e3538ab51077c770dc76434278]. In the current source code, it has been re-added to take the player to the You Can Think Pad minigame.
* '''texts''' ''keyword'' (3.0a):
** Functionally identical to ''open''. It had 14 keywords.[https://www.youtube.com/watch?v=2n4sLLquW5c] Was replaced by ''open'' in 3.0b.
* '''vault''' (3.0b):
** ''"Store valuable files here. Takes 3 key parameters seperated'' [sic] ''by spaces."''.
** Unlocks 7 additional keywords for the ''open'' command when all three parameters are entered. These are ''free'', ''p.r.a.e.m'', and ''reflection'', which can be typed in any order. If these are not inputted correctly, it returns an error message stating "Invalid keys. Valid keys: "
* '''welcometobaldis''':
** In 3.0a, this command took the player to the You Can Think Pad minigame that preceeds Roofs. In 3.0b, it was changed to only output the text "This was fun while it lasted but do it the intended way now plz k thx". In the current source code, the command has been removed entirely.


In total, there are 58 possible inputs in 3.0b and 26 in 3.0a.
Both externally and in the source code, inputs are identified as ''commands'' (a certain prefixed word) and ''arguments'' or ''parameters'' (specifications to be used for commands). For clarity's sake on this page, ''argument'' will be used to refer to an expected placement of text following a command, which has a certain number of valid ''parameters'' of which it must be substituted with one when using a command. For example, in the '''admin''' command, its first argument has one parameter, ''grant'', and its second argument has 8 parameters, including ''dave.dat'', ''bambi.dat'', and so forth - using a command like this in the game, henceforth, will look like "'''admin grant dave.dat'''".
 
All commands are case sensitive; not all of their parameters are. The commands are as follows:
 
{| class="wikitable" style="margin:auto"
|+ 9 commands
|-
! Command !! Version !! Help text !! # of Arguments !! # of Parameters !! Notes
|-
| '''admin''' || All || ''Shows the admin list, use grant to grant<br>rights.'' || 0<br>2 || 1: 1<br>2: 6 (3.0a), 7 (3.0b)<br>[[Terminal#admin|Jump to list]] || Using this command with the parameter ''grant'' and the name<br> of a .dat character file triggers various game events.<br>This is the command necessary for unlocking '''Exploitation'''.<br> Parameters are case sensitive.
|-
| '''characters''' || All || ''Shows the list of characters''. || 0 || 0 || Entering any arguments has no effect and performs the<br> same action.
|-
| '''clear''' || All || ''Clears the screen.'' || 0 || 0 || Entering any arguments has no effect and performs the<br> same action.
|-
| '''help''' || All || ''Displays this menu.'' || 0 || 0 || Returns a list of valid commands and their functions.<br>Entering any arguments has no effect and performs the <br>same action.
|-
| '''open''' || 3.0b || ''Searches for a text file with the specified ID, <br>and if it exists, display it.'' || 1 || 45 (3.0b)<br>44 (current<br> source code)<br>[[Terminal#open|Jump to list]] || Replaced ''texts'' in 3.0b.<br>All parameters except for those in base64 are case<br> insensitive.<br>Entering any additional arguments has no effect and<br>performs the same action.
|-
| '''secret mod leak''' || Pre-3.0a<br>Current source<br> code || ''No providing such leaks.'' || 0 || 0 || This command only existed in development and was not<br> usable in 3.0a[https://github.com/BemboLikePizza/VsDave/commit/d5c28ff602a6d511e81a36bb987b7fcc074594de#diff-c37d0deb77707b5c89b7a25ac18d3b6e018ebd1154eaae13b81ed68e60b00a6fL9] or 3.0b[https://github.com/BemboLikePizza/VsDave/commit/0e5ab3d7e6bc61e3538ab51077c770dc76434278]. In the current source <br>code, it has been re-added to take the player to the <br>You Can Think Pad minigame from '''Roofs'''.
|-
| '''texts''' || 3.0a || ''Searches for a text file with the specified ID,<br> and if it exists, display it.'' || 1 || 14<br>[[Terminal#open|Jump to list]] || Replaced by ''open'' in 3.0b.
|-
| '''vault''' || 3.0b || ''Store valuable files here. Takes 3 key<br>parameters seperated'' [sic]'' by spaces.'' || 3 || 1: 3*<br>2: 3*<br>3: 3*<br>[[Terminal#vault|Jump to list]] || When entered with all three parameters, it reveals 8 <br>additional parameters for the second argument of ''open''.<br> Vault's parameters can be entered in any order at least<br>once. Parameters are case sensitive.<br>Entering any additional arguments has no effect, regardless <br>of where they're placed. As long as the three parameters<br> are used anywhere, it will perform the same action.
|-
| '''welcometobaldis''' || 3.0a-3.0b || ''No providing such leaks.'' || 0 || 0 || In 3.0a, this command took the player to the You Can <br>Think Pad minigame that precedes '''Roofs'''. In 3.0b, it was<br>changed to only output the text "This was fun while it <br>lasted but do it the intended way now plz k thx". In the<br> current source code, the command has been removed<br> entirely.
|}
 
In total, there are '''58''' combinations of commands that produce unique outputs in 3.0b, '''25''' in 3.0a, and '''57''' in current source code.
 
=== Controls ===
 
Any key pressed by the player affects the text input. Many keys and common shortcuts do not function the same in the terminal as they would in other typical applications. The output of each key has been mapped below:
 
[[File:Terminal Keyboard.png|thumb|center|1200px|A keyboard diagram for the outputs of the terminal.]]
 
The keys that have special functions are as follows:
 
* '''Shift''': Change text to uppercase
* '''Esc''': Exits from the terminal and returns to the main menu
* '''Enter''': Enters the command for processing
* '''Space''': Self-explanatory
* '''Backspace''': Also self-explanatory, although it is limited to only erasing one letter per keypress
* '''Ctrl + Backspace''': Erases the entire line (screen does not update until another key is pressed)
* '''Num Lock''': Alters the outputs of certain numpad keys
 
Many keys have been altered to produce different text results than normal, including some special keys. This is controlled by three key functions:
* The game converts all key inputs except for ''enter'', ''shift'', ''backspace'', and ''space'' into plaintext outputs;[https://github.com/BemboLikePizza/VsDave/blob/0e5ab3d7e6bc61e3538ab51077c770dc76434278/source/TerminalState.hx#L442]
* It then checks from the array '''unformattedSymbols''' to see if the newly-converted string matches any entries;
* If there is a match, it changes the output again to its equivalent properly formatted symbol stored in the array '''formattedSymbols'''.
 
To use an example from the game, this process looks like this: The player presses the semicolon key. This input is converted to a lowercase string, which becomes "semicolon". Finally, this string becomes the correct intended symbol, ";".
 
However, the list of unformatted symbols is not exhaustive to all the keys on the keyboard and only includes numbers and limited punctuation marks.[https://github.com/BemboLikePizza/VsDave/blob/0e5ab3d7e6bc61e3538ab51077c770dc76434278/source/TerminalState.hx#L37] This is why many keys, which do not have any matches in the unformattedSymbol array, simply produce the plaintext name of the key when pressed. Interestingly, an unformatted entry for ''plus'' exists but not for its formatted equivalent.
 
Because caps lock has a plaintext output, pressing it will not affect the casing of typed letters. Only the shift key can alter casing, and it does this universally for any key that has an output containing alphabetic letters (so entering Shift + Ctrl will output CONTROL). Due to the modifications to the shift and ctrl keys, it is impossible to use a majority of keyboard shortcuts, such as copying, pasting, selecting, and moving selected text.
 
Other features to note:
 
* The following symbols are impossible to type: '''!@#$%^&*()_+{}|\:"'<>?`~'''. ''Valid'' symbols include: ''',./;[]='''
* Esc is both a function and a text key. For a split second while the screen transitions, one will be able to see "escape" having been added to the text input.
* The alt key does nothing, but it does produce a sound when pressed.
 
=== Errors ===
 
There are 6 (internally, 7) error messages that can display for various invalid command uses. 3 of them are contained in '''terminalList.txt''' and 3 are in '''TerminalState.hx'''. They are as follows:
 
{| class="wikitable" style="margin:auto"
|+ 6 errors
|-
! Error !! Text !! Cause
|-
| '''term_unknown''' || ''Unknown command "[input]"'' || Using an invalid command
|-
| '''term_grant_error1''' || ''[input] is not a valid user or character.'' || Using an invalid parameter for the second argument of ''admin''.<br>Does not display if the first argument is also invalid.
|-
| '''term_admin_error1'''<br>'''term_admin_error2'''<br>(used together) || ''No version of the "admin" command takes [number] parameter(s).'' || Using anything other than 0 or 2 arguments for ''admin''. This<br>displays regardless if the first argument is entered correctly.<br>The number of arguments is counted by each word proceeding<br>from ''admin'' separated by whitespace.
|-
| ''No variable name'' || ''File not found.'' || Using an invalid parameter for ''open''
|-
| ''No variable name'' || ''Invalid keys. Valid keys: [number]'' || Using any fewer than the 3 parameters for ''vault''. The number<br>counts how many correct parameters were in the input; for<br>example, using ''vault free'' will return ''Invalid keys. Valid keys: 1''.
|-
| ''No variable name'' || ''Invalid Parameter'' || ''Intended'' to appear when the first argument of ''admin'' is invalid, but<br>it does not display in the game.
|}
 
The last error message listed is bugged - henceforth, when the player uses the ''admin'' command with two arguments and the first one is invalid, it returns nothing. This is because the code that handles the admin command output does not reset the previous text in the ''else'' branch of the statement evaluating if the first argument is ''grant''.


== Commands ==
== Commands ==
Line 52: Line 128:
=== admin ===
=== admin ===


[[File:Terminal admin.png|thumb|The ''admin'' command output.|500px]]
[[File:Expunged takeover.gif|thumb|'''admin grant expunged.dat'''|600px]]


Using the '''admin''' command on its own returns the following text:
Using the '''admin''' command on its own returns the following text:
Line 58: Line 134:
<blockquote>''[Username]''<br>To add extra users, add the grant parameter and the name.<br>(Example: admin grant exbungo.dat)<br>NOTE: ADDING CHARACTERS AS ADMINS CAN CAUSE UNEXPECTED CHANGES.</blockquote>
<blockquote>''[Username]''<br>To add extra users, add the grant parameter and the name.<br>(Example: admin grant exbungo.dat)<br>NOTE: ADDING CHARACTERS AS ADMINS CAN CAUSE UNEXPECTED CHANGES.</blockquote>


The command will display the user's PC name, if available. If it is not, it will instead display the name "User354378".
The command will display the user's PC name if the self awareness option is enabled. If it is disabled, it will instead display the name "User354378".


'''admin grant''' gives administrator permissions to various characters. The 7 keywords are as follows:
'''admin grant''' gives administrator permissions to various characters. All of them except for Moldy return the message "Loading..." before executing their effects. The 7 parameters are as follows:


* admin grant '''dave'''.dat:  
* admin grant '''dave'''.dat: Loads '''House''' with Cheating's modchart.[https://youtu.be/QCEPoApu5xs?si=dQJ8saZebkPt2k-Q&t=14]
* admin grant '''bambi'''.dat:  
* admin grant '''bambi'''.dat: Loads '''Shredder''' and replaces every note with the up note, both in the chart and the UI.[https://youtu.be/QCEPoApu5xs?si=qLmY8cejEY5sQkDT&t=175]
* admin grant '''tristan'''.dat:  
* admin grant '''tristan'''.dat: Loads '''House''' and replaces the opponent and vocals with Tristan's. The note order is changed from left, down, up, right to left, right, up, down.[https://youtu.be/QCEPoApu5xs?si=CUMLIRGksfEBHQep&t=337]
* admin grant '''expunged'''.dat: Returns the text message "Loading...". After a few seconds, Expunged spams the terminal screen with glitching effects and messages from Expunged gloating and mocking the player before crashing the game. Reopening it will reveal that the game has been altered significantly, replacing the program title with ''Vs. Expunged''. The only option given to the player is to play the newly-unlocked Exploitation, which they must beat in order to reverse the changes. (Note: Closing the game window also reverses the changes, but Expunged leaves a taunting message for the player for next time they open the game, calling them a coward.)
* admin grant '''expunged'''.dat: [[Expunged]] spams the terminal screen with glitching effects and messages gloating and mocking the player for several seconds as an ear-piercing glitch sound is played before crashing the game. Reopening it will reveal that the game has been altered significantly, replacing the program title with ''Vs. Expunged''. The only option given to the player is to play the newly-unlocked '''Exploitation'''. The game can be returned to normal either by beating Exploitation, or by closing the game window; if the player does the latter, Expunged leaves a taunting message for them for next time they open the game, calling them a coward.
* admin grant '''moldy'''.dat:  
* admin grant '''moldy'''.dat: Returns the message "you know what? im gonna close the game so you can watch my baldi's basics playthrough...". It then crashes the game and opens a video by Moldy titled [https://www.youtube.com/watch?v=azMGySH8fK8 me playing baldi's basics] uploaded to the dillon's videos channel. The audio is heavily volume-boosted and the video quality is only available in 144p.
* admin grant '''exbungo'''.dat:  
* admin grant '''exbungo'''.dat: Has a random chance of loading either '''House''', '''Insanity''', '''Polygonized''', '''Five Nights''', '''Splitathon''', or '''Shredder'''. It will load Exbungo as the opponent, replace the instrumental with amen breaks, and add the wavy distortion effect from Kabunga. The vocals remain the same as the original opponent's.[https://youtu.be/QCEPoApu5xs?si=gyP-g5X6-G424d6u&t=494]
* admin grant '''recurser'''.dat
* admin grant '''recurser'''.dat (3.0b): Loads '''Polygonized''' with a wavy arrow modchart and altered cutscene dialogue. The world starts off at nighttime in 2D; only at the very end of the song does the background switch to Polygonized's, and Dave with his scared 2D sprite.[https://youtu.be/uFkBM6sC7JM?si=eQU83MH4lz-aHbMm&t=17] The beginning dialogue is as follows:
 
[[File:Recurser admin polygonized end dialogue.gif|frame|right|Ending dialogue of Polygonized when Recurser is given admin.]]
 
<blockquote>
'''Dave:''' It's getting quite late, maybe we could do one last song?<br>
'''Boyfriend:''' Beepity Bep!<br>
'''Dave:''' Hm, how about something a bit more experimental?<br>
'''Dave:''' Something more dramatic since this is our last song of today...<br>
'''Girlfriend:''' Hm, I have this experimental track on here... called "Polygonized"<br>
'''Dave:''' Huh, Interesting name. Who made it?<br>
'''Girlfriend:''' Honestly I have no clue. I don't recall ever downloading this song...<br>
'''Boyfriend:''' Skep dep!<br>
'''Girlfriend:''' Alright alright, I'll play it..<br>
</blockquote>
 
At the end, the screen is replaced with a black background and white disembodied text in the center, where lower-opacity copies of said text drift around the screen:
<blockquote>
Well. It was worth a shot.<br>
Time to get back to keeping this world in order.<br>
Just the way I love it.
</blockquote>
 
Following this, the game returns to the terminal screen.


=== characters===
=== characters===
Line 86: Line 185:
=== open ===
=== open ===


'''open''' holds the bulk of Vs. Dave's story and character information, its contents of which are often informally referred to in the community as the "'''3.0(b) lore'''" (as separate from 3.0a, which lacked many of the current keywords with the most significant lore implications). It is highly heterogeneous in subject matter and in-universe authors. 8 keywords are character names:
'''open''' holds the bulk of Vs. Dave's story and character information, its contents of which are often informally referred to in the community as the "'''3.0(b) lore'''" (as separate from 3.0a, which lacked many of the current parameters with the most significant lore implications). It is highly heterogeneous in subject matter and in-universe authors. Unlike any other command, all but 8 of ''open's'' parameters are case insensitive.
 
Many of the entries contain capitalized words, which indicate titles of other entries. This can lead to short chains of parameters being discovered. Some are only one level deep, such as '''open recurser''' containing "ORDER" which leads to '''open order'''. Others can go much deeper. For example, '''open bambi''' contains "GOD", which leads to '''open god''' that contains "EYE", which leads to '''open eye''' that contains "LORD", which leads to the dead-end '''open lord'''.
 
8 parameters are character names:


{| class="wikitable" style="margin:auto"
{| class="wikitable" style="margin:auto"
Line 110: Line 213:
|}
|}


In the current source code, open expunged has a comment stating "[THIS AND EXBUNGOS FILE ARE THE ONLY ONES I HAVE ACCESS TO UNFORTUNATELY. I HATE IT]".
In the current source code, ''open expunged'' has a comment stating "[THIS AND EXBUNGOS FILE ARE THE ONLY ONES I HAVE ACCESS TO UNFORTUNATELY. I HATE IT]".


Another 14 keywords are numbers consisting of ''logs'' written by Dave across the span of several years. Two of the keywords contain different text in the source code than the final build of the game. In 3.0a, the command was "texts" rather than "open".
Another 14 parameters are numbers consisting of ''logs'' written by [[Dave]] across the span of several years. Two of the parameters contain new logs in the source code written by [[Muko]]. In 3.0a, the command was "texts" rather than "open".


{| class="wikitable" style="margin:auto"
{| class="wikitable" style="margin:auto"
Line 148: Line 251:
|}
|}


Note: While LOG 12 is signed off by [[Minor Characters#Maldo|Maldo]], this may be an error. Given that the log states "''still''" and refers to Maldo as a third party, the most likely author is actually [[Muko]].


 
A third category of parameters consist of 15 singular words including nouns and verbs. All were released with the 3.0b update.
A third category of keywords consist of 15 singular words including nouns and verbs. All were released with the 3.0b update.


{| class="wikitable" style="margin:auto"
{| class="wikitable" style="margin:auto"
|+ 15 keywords
|+ 15 parameters
|-
|-
! Command !! Current release (3.0b)
! Command !! Current release (3.0b)
Line 167: Line 270:
| open '''artifact3''' || Artifact 3:<br>A notebook, found on the floor of the 3D realm.<br>Notes: I haven't bothered with the cypher yet.<br>I have more important matters.
| open '''artifact3''' || Artifact 3:<br>A notebook, found on the floor of the 3D realm.<br>Notes: I haven't bothered with the cypher yet.<br>I have more important matters.
|-
|-
| open '''artifact4''' || \"Artifact\" 4:<br>A weird email, with attached images that use the same cypher as Artifact 3.<br>Notes: Who sent this?
| open '''artifact4''' || "Artifact" 4:<br>A weird email, with attached images that use the same cypher as Artifact 3.<br>Notes: Who sent this?
|-
|-
| open '''deleted''' || The unnamable [sic] never was a god and never will be. Just an accident.
| open '''deleted''' || The unnamable [sic] never was a god and never will be. Just an accident.
Line 190: Line 293:




The words contained in angled brackets - p.r.a.e.m, free, and reflection - are the arguments necessary for the '''vault''' command. When the command is used, the final additional 8 keywords are revealed. Each keyword is an English word encoded in base64. Two have been removed and one has been added in the current source code.
The words contained in angled brackets - p.r.a.e.m, free, and reflection - are the parameters necessary for the '''vault''' command. When the command is used, the final additional 8 parameters are revealed. Each parameter is an English word encoded in base64. These 8 parameters are case sensitive, likely due to the fact that base64 encoding is, also, case sensitive; changing the casing of letters changes the base text. Two have been removed and one has been added in the current source code.




{| class="wikitable" style="margin:auto"
{| class="wikitable" style="margin:auto"
|+ 8 keywords
|+ 8 base64 ciphers
|-
|-
! Command !! Current release (3.0b) !! Unreleased source code (December 2022)
! Command !! Current release (3.0b) !! Unreleased source code (December 2022)
Line 214: Line 317:
| open '''YmlydGhkYXk='''<br>''"birthday"'' || http://gg.gg/davetabase-birthday || -
| open '''YmlydGhkYXk='''<br>''"birthday"'' || http://gg.gg/davetabase-birthday || -
|-
|-
| open '''ZW1haWw='''<br>''"email"'' || http://gg.gg/davetabase-mysterious-emai|| -
| open '''ZW1haWw='''<br>''"email"'' || http://gg.gg/davetabase-mysterious-email|| -
|}
|}
=== vault ===
'''vault''' has 3 arguments, each of which must be used with one out of its three possible parameters '''free''', '''p.r.a.e.m''', and '''reflection'''. Any combination like "vault free p.r.a.e.m reflection" and "vault free reflection p.r.a.e.m" have the same effect. When entered correctly, the following text is returned:
<blockquote>Vault unlocked.<br>cGVyZmVjdGlvbg<br>bGlhcg<br>YmVkdGltZSBzb25n<br>dGhlIG1lZXRpbmcgcDE=<br>dGhlIG1lZXRpbmcgcDI=<br>YXJ0aWZhY3QzLWE=<br>ZW1haWw=<br>YXJ0aWZhY3QzLWE=</blockquote>
These 8 strings of base64 text are the revealed additional parameters for the command ''open''. Note that this command is not actually necessary in order to ''use'' these parameters - they are always available to the player regardless if the vault has been unlocked. ''Vault'' simply reveals their names. Likewise, this command can be repeated any number of times and will produce the same output.


== External materials ==
== External materials ==


Three of the base64 open commands - '''YXJ0aWZhY3QzLWE=''', '''YmlydGhkYXk=''', and '''ZW1haWw=''' - link to external materials hosted online which expand on specific elements of the story of Vs. Dave and Bambi.  
Three of the base64 ''open'' parameters - '''YXJ0aWZhY3QzLWE=''', '''YmlydGhkYXk=''', and '''ZW1haWw=''' - link to external materials hosted online which expand on specific elements of the story of Vs. Dave and Bambi. Said materials are often referred to as "'''the ARG'''".[https://x.com/OfficialMTM101/status/1826456083680104897][https://x.com/OfficialMTM101/status/1708544436031123493]


=== birthday ===
=== birthday ===


The destination link of YmlydGhkYXk= is http://gg.gg/davetabase-birthday, which redirects to https://docs.google.com/document/d/1NpzvRAwsQCIWQEJgOw07Opt1T2h2HiCg_3_pDc6njho/edit, a Google document titled '''BIRTHDAY'''. The document contains a one-page short story about Tristan's 9th birthday. Dave reminisces with relief that "his machine truly worked" as he cuts Tristan's cake. Before he can give the cake to his son, however, he is abruptly transported to the Void. Everyone at the party panics; Tristan winds up in the Void with his father, where both encounter [[Expunged|Expunged in her proto form]].  
The destination link of YmlydGhkYXk= is http://gg.gg/davetabase-birthday, which redirects to https://docs.google.com/document/d/1NpzvRAwsQCIWQEJgOw07Opt1T2h2HiCg_3_pDc6njho/edit, a Google document titled '''BIRTHDAY'''. The document contains a one-page short story about [[Tristan|Tristan's]] 9th[https://fixupx.com/OfficialMTM101/status/1580418941427458048] birthday. [[Dave]] reminisces with relief that "his machine truly worked" as he cuts Tristan's cake. Before he can give the cake to his son, however, he is abruptly transported to the Void. Everyone at the party panics; Tristan winds up in the Void with his father, where both encounter [[Expunged#Extra|Expunged in her proto form]]. [[Minor Characters#Spike|Spike]], [[Playbot]], [[Minor Characters#Diamond Man|Diamond Man]], and The Hall Monitor make cameos in this story.


=== email ===
=== email ===


The destination link of ZW1haWw= is http://gg.gg/davetabase-mysterious-email, which redirects to https://drive.google.com/drive/folders/1Pg8BZmgtZMs-bZSJqYUyN_2w_JZvD7Q9. It is a Google drive folder titled '''REDACTED ARTIFACTS''', and it contains 8 files, including a '''readme.txt''' and 7 images. The readme is as follows:
[[File:Cypher key.png|thumb|right|420px|A key for the letters that signify each glyph in the cypher.]]
 
The destination link of ZW1haWw= is http://gg.gg/davetabase-mysterious-email, which redirects to https://drive.google.com/drive/folders/1Pg8BZmgtZMs-bZSJqYUyN_2w_JZvD7Q9. It is a Google drive folder titled '''REDACTED ARTIFACTS''', and it contains 8 files, including a '''[https://drive.google.com/drive/folders/1Pg8BZmgtZMs-bZSJqYUyN_2w_JZvD7Q9 readme.txt]''' and 7 images. The readme is as follows:


<blockquote>here you go dave. i know you may not know who i am but i know who you are friends with.<br><br>i suggest you read these to satisfy your curiosity about him and everything that surrounds him.<br><br>but after that, stop. its not safe.</blockquote>
<blockquote>here you go dave. i know you may not know who i am but i know who you are friends with.<br><br>i suggest you read these to satisfy your curiosity about him and everything that surrounds him.<br><br>but after that, stop. its not safe.</blockquote>


The seven images are written in a cipher, which has a 1 to 1 relationship with the English alphabet. The deciphered image text is sourced from a document created by m1les0.[https://docs.google.com/document/d/1s3uKUVFAJqpwrjRHrUy45f_AHKR1zmW4iIbaP5ihP3o/edit]
It is unknown who wrote this readme and sent the email to [[Dave]]; the character is not named anywhere in the game or external materials.


<gallery heights="400" widths="400">
The seven images are written in '''the cypher''', which has a 1 to 1 relationship with the English alphabet. The cypher is available as a font that can be downloaded [https://fontstruct.com/fontstructions/show/2179147/the-cults-cypher on Fontstruct], released by MissingTextureMan101 to the public after the images had been deciphered.[https://twitter.com/OfficialMTM101/status/1577877440705155073?s=19] The font contains some symbols that do not appear in any of the artifacts, such as exclamation marks and the at sign, which curiously resembles Bambi's hat.
File:Artifact4.png|'''artifact4.png'''<br>Transcription:<br>''our lord has ceased communication with us completely. we do not know why. last time we tried to talk to him, he told us to "fuck off" was the prophecy that madden said really true? is our lord really going mad? no. i refuse to believe he was correct. he was a false prophet. a liar... right?''
 
File:Artifact5.png|'''artifact5.png'''<br>Transcription:<br>''RULES<br><br>RESPECT OUR LORD<br><br>DO NOT DISCUSS THE MADDEN PROPHET.<br><br>OUR GOD IS WISE. DO NOT INSULT HIM.<br><br>THANK OUR LORD FOR EVERYTHING.<br><br>DO NOT MENTION THE GOLDEN ONE.<br><br>DO NOT MENTION THE UNNAMABLE'' [sic]''.<br><br>DO NOT REVOLT AGAINST OUR LORDS WISHES. OR YOU WILL BE SENT TO THE FIRERY PITS OF HELL.''
The deciphered image text is sourced from a document created by [https://x.com/m1les0 m1les0].[https://docs.google.com/document/d/1s3uKUVFAJqpwrjRHrUy45f_AHKR1zmW4iIbaP5ihP3o/edit]
File:Artifact6.png|'''artifact6.png'''<br>Transcription:<br>''our lord used to be reasonable. going to heaven was a right. but he told madden that every day he would get rid of his eyes. that he would become less wise. but they dont want you knowing that. this isnt a religion anymore. its a cult. thats why i want you to run as fast as you can. find a better life. away from this place. i love you.''
 
File:Artifact7.png|'''artifact7.png'''<br>Transcription:<br>''our lord is wise. because he is covered with eyes. he has seen almost everything. his eyes are disappearing.''
<gallery heights="400" widths="300">
File:Artifact8.png|'''artifact8.png'''<br>Transcription:<br>''Once he forgets he will never remember again.<br>His powers will never unfold ever again.''
File:Artifact4.png|'''[https://drive.google.com/drive/folders/1Pg8BZmgtZMs-bZSJqYUyN_2w_JZvD7Q9 artifact4.png]'''<br>Transcription:<br>''our lord has ceased communication with us completely. we do not know why. last time we tried to talk to him, he told us to "fuck off" was the prophecy that madden said really true? is our lord really going mad? no. i refuse to believe he was correct. he was a false prophet. a liar... right?''
File:Artifact9.png|'''artifact9.png'''<br>Transcription:<br>''madden. you are under arrest for falsifying prophecies.<br>but i promise you i didnt. please. dont hurt me.<br>you have caused mass panic, our lord would never do what you described. you are lying.<br>please i promise. this is true. he is taking out his eyes.<br>traitor. goodbye.<br>madden disappeared before being shot. iff'' [sic]'' found, report to council.''
File:Artifact5.png|'''[https://drive.google.com/drive/folders/1Pg8BZmgtZMs-bZSJqYUyN_2w_JZvD7Q9 artifact5.png]'''<br>Transcription:<br>''RULES<br><br>RESPECT OUR LORD<br><br>DO NOT DISCUSS THE MADDEN PROPHET.<br><br>OUR GOD IS WISE. DO NOT INSULT HIM.<br><br>THANK OUR LORD FOR EVERYTHING.<br><br>DO NOT MENTION THE GOLDEN ONE.<br><br>DO NOT MENTION THE UNNAMABLE'' [sic]''.<br><br>DO NOT REVOLT AGAINST OUR LORDS WISHES. OR YOU WILL BE SENT TO THE FIRERY PITS OF HELL.''
File:Madden_artifact.png|'''madden.png'''<br>Transcription:<br>''Our lord will stop removing his eyes once he reaches two. because by that time, he will have fallen from the heavens.''
File:Artifact6.png|'''[https://drive.google.com/drive/folders/1Pg8BZmgtZMs-bZSJqYUyN_2w_JZvD7Q9 artifact6.png]'''<br>Transcription:<br>''our lord used to be reasonable. going to heaven was a right. but he told madden that every day he would get rid of his eyes. that he would become less wise. but they dont want you knowing that. this isnt a religion anymore. its a cult. thats why i want you to run as fast as you can. find a better life. away from this place. i love you.''
File:Artifact7.png|'''[https://drive.google.com/drive/folders/1Pg8BZmgtZMs-bZSJqYUyN_2w_JZvD7Q9 artifact7.png]'''<br>Transcription:<br>''our lord is wise. because he is covered with eyes. he has seen almost everything. his eyes are disappearing.''
File:Artifact8.png|'''[https://drive.google.com/drive/folders/1Pg8BZmgtZMs-bZSJqYUyN_2w_JZvD7Q9 artifact8.png]'''<br>Transcription:<br>''Once he forgets he will never remember again.<br>His powers will never unfold ever again.''
File:Artifact9.png|'''[https://drive.google.com/drive/folders/1Pg8BZmgtZMs-bZSJqYUyN_2w_JZvD7Q9 artifact9.png]'''<br>Transcription:<br>''madden. you are under arrest for falsifying prophecies.<br>but i promise you i didnt. please. dont hurt me.<br>you have caused mass panic, our lord would never do what you described. you are lying.<br>please i promise. this is true. he is taking out his eyes.<br>traitor. goodbye.<br>madden disappeared before being shot. iff'' [sic]'' found, report to council.''
File:Madden_artifact.png|'''[https://drive.google.com/drive/folders/1Pg8BZmgtZMs-bZSJqYUyN_2w_JZvD7Q9 madden.png]'''<br>Transcription:<br>''Our lord will stop removing his eyes once he reaches two. because by that time, he will have fallen from the heavens.''
</gallery>
</gallery>


=== artifact3 ===
=== artifact3 ===


The destination link of YXJ0aWZhY3QzLWE= is http://gg.gg/davetabase-artifact3, which redirects to https://drive.google.com/drive/folders/1Pg8BZmgtZMs-bZSJqYUyN_2w_JZvD7Q9. It is an image file hosted on Google drive titled '''artifact3.png'''. It uses the same cipher as the email images. The deciphered image text is sourced from a document created by m1les0.[https://docs.google.com/document/d/1s3uKUVFAJqpwrjRHrUy45f_AHKR1zmW4iIbaP5ihP3o/edit]
The destination link of YXJ0aWZhY3QzLWE= is http://gg.gg/davetabase-artifact3, which redirects to https://drive.google.com/drive/folders/1Pg8BZmgtZMs-bZSJqYUyN_2w_JZvD7Q9. It is an image file hosted on Google drive titled '''artifact3.png'''. It also uses the cypher. The deciphered image text is sourced from a document created by m1les0.[https://docs.google.com/document/d/1s3uKUVFAJqpwrjRHrUy45f_AHKR1zmW4iIbaP5ihP3o/edit]


<gallery heights="400" widths="400">
<gallery heights="350" widths="600">
File:Artifact3.png|'''artifact3.png'''<br>Transcription:<br>''hello my name is madden. powers stay im using a long enough cypher because for him to i dont want save me everyone to plese read this ill do anything. this place help goes agains the lord i hope he saves me. our lord''
File:Artifact3.png|'''artifact3.png'''<br>Transcription:<br>''hello my name is madden. powers stay im using a long enough cypher because for him to i dont want save me everyone to plese read this ill do anything. this place help goes agains the lord i hope he saves me. our lord''
</gallery>
</gallery>


== Gallery ==
== Gallery ==
<gallery heights="360" widths="640">
File:Terminal admin.png|The ''admin'' command output.
File:Terminal keyspam.png| The result of mashing a bunch of special keys.
File:Console screen.png| The Console option in the Freeplay menu.
File:Terminal menu.png| Within the Console menu, the alternate method of access for the terminal after it's unlocked.
</gallery>


<gallery heights="350" widths="350">
<gallery heights="350" widths="350">
Line 263: Line 387:
</gallery>
</gallery>


== Story ==
{| class="wikitable" style="margin:auto"
|+ Sounds
|-
! Audio !! Title !! Notes
|-
| [[File:TheAmbience.mp3]] || '''TheAmbience.ogg''' || -
|-
| [[File:Terminal space.mp3]] || '''terminal_space.ogg''' || -
|-
| [[File:ExpungedGrantedAccess1.mp3]] || '''expungedGrantedAccess.ogg''' || '''VOLUME WARNING'''<br>First file that plays after granting Expunged admin
|-
| [[File:ITrollYou.mp3]] || '''iTrollYou.ogg''' || '''VOLUME WARNING'''<br>Second file that plays after granting Expunged admin
|-
| [[File:RecurserDialogue.mp3]] || '''recurserDialogue.ogg''' || Plays on each text display of the end of<br>modified Polygonized
|-
| [[File:Terminal key.mp3]] || '''terminal_key.ogg''' || ''Unused''
|-
| [[File:Terminal bckspc.mp3]] || '''terminal_bckspc.ogg''' || ''Unused''
|}


== Trivia ==
== Trivia ==


* "Terminal" is a word interchangeable with console, shell, and command prompt. It may also refer to [https://en.wikipedia.org/wiki/Computer_terminal computer terminals]. Early computer terminals used command line interfaces as an easier, albeit initially slower way to interact with data than through punch cards.
* A '''.dat''' file is a generic data file that stores information specific to the application it refers to.[https://www.lifewire.com/what-is-a-dat-file-2620550] .dat files are usually text files, though they may also be used for videos, sound, images, and anything else. The characters being stored as .dat files suggests that, in-universe, the characters are in part or whole literal data structures that can be manipulated, such as granting them administrator permissions, and in turn given the ability to manipulate the game and therefore the world itself.
* AntiCheat.dll may be referencing ''EasyAntiCheat'', a program commonly used in various online multiplayer video games to prevent cheats or hacks from being used that would give players an unfair advantage. This is appropriate considering that not only is the 7 key traditionally used to open the chart editor/debug menu in FNF games, but [[Expunged]] is also heavily fixated on the idea of cheating or fairness.
* Despite referencing the file path ''bin/plugins/AntiCheat.dll'', no such directory exists in the mod's folder or source code. There is a ''plugins'' folder in the root mod folder in distributions, but no file titled "AntiCheat.dll".
** Similarly, there are no character .dat files in game distributions or source code. These may either simply be made up, or imply that ''in-universe'', Vs. Dave and Bambi has a different folder structure and contents than the actual game itself.
* The glitching sound that plays after entering ''admin grant expunged.dat'' is actually two separate sound files. The first and longer, glitchier one is titled '''expungedGrantedAccess.ogg''', and the second, deeper rumbling sound is '''iTrollYou.ogg'''.
* The background music that plays in the terminal screen is titled '''TheAmbience.ogg'''.[https://github.com/FuseIsHere813/VsDave-3.0/blob/main/assets/shared/music/TheAmbience.ogg] There are several noteworthy things about this file.
* The background music that plays in the terminal screen is titled '''TheAmbience.ogg'''.[https://github.com/FuseIsHere813/VsDave-3.0/blob/main/assets/shared/music/TheAmbience.ogg] There are several noteworthy things about this file.
** TheAmbience is a slowed-down version of the beginning of Recursed. It is unknown whether this was selected arbitrarily or for a specific meaning.
** TheAmbience is a slowed-down version of the beginning of Recursed. It is unknown whether this was selected arbitrarily or for a specific meaning.
** This file has additional metadata that the rest of the game's music and sound files lack. Its artist name is "''Universe #55553''", its track title "''Ambience''", its album title "''Secrets Unlocking''", its track number "''55553''", its DATE "''20XX''", and its comments "''this universe is... interesting. to say the least''". This is one of the few references to a date in the timeline of the Vs. Dave universe.  
** This file has additional metadata that the rest of the game's music and sound files lack. Its artist name is "''Universe #55553''", its track title "''Ambience''", its album title "''Secrets Unlocking''", its track number "''55553''", its DATE "''20XX''", and its comments "''this universe is... interesting. to say the least''". This is one of the few references to a date in the timeline of the Vs. Dave universe. [[File:Secret mod leak.png|thumb|right|200px|secret mod leak.png]]
* Two unused terminal keypress sounds are present in the source code. The one that is actually used is titled '''terminal_space.ogg''', while the others are '''terminal_key.ogg'''[https://github.com/BemboLikePizza/VsDave/blob/main/assets/preload/sounds/terminal_key.ogg] and '''terminal_bckspc.ogg'''[https://github.com/BemboLikePizza/VsDave/blob/main/assets/preload/sounds/terminal_bkspc.ogg], which are pitched-down versions of the space sound. Commit history shows that all three files were intended to be used respectively for general keypresses, for the spacebar, and backspace[https://github.com/FuseIsHere813/VsDave-3.0/commit/a7e5ca79b4d9c701fd68ef34c1c696ea2ac7ca09], but all were removed from TerminalState.hx in the 3.0a release.[https://github.com/BemboLikePizza/VsDave/commit/1303bb3e337f9c10ae661ccf3d04f7aecd39a0ba] terminal_space was later re-added in 3.0b.[https://github.com/FuseIsHere813/VsDave-3.0/blob/8dd98b48f95d123b8a4723e0149f09eb16c5c8c3/source/TerminalState.hx#L94]
* Two unused terminal keypress sounds are present in the source code. The one that is actually used is titled '''terminal_space.ogg''', while the others are '''terminal_key.ogg'''[https://github.com/BemboLikePizza/VsDave/blob/main/assets/preload/sounds/terminal_key.ogg] and '''terminal_bckspc.ogg'''[https://github.com/BemboLikePizza/VsDave/blob/main/assets/preload/sounds/terminal_bkspc.ogg], which are pitched-down versions of the space sound. Commit history shows that all three files were intended to be used respectively for general keypresses, for the spacebar, and backspace[https://github.com/FuseIsHere813/VsDave-3.0/commit/a7e5ca79b4d9c701fd68ef34c1c696ea2ac7ca09], but all were removed from TerminalState.hx in the 3.0a release.[https://github.com/BemboLikePizza/VsDave/commit/1303bb3e337f9c10ae661ccf3d04f7aecd39a0ba] terminal_space was later re-added in 3.0b.[https://github.com/FuseIsHere813/VsDave-3.0/blob/8dd98b48f95d123b8a4723e0149f09eb16c5c8c3/source/TerminalState.hx#L94]
* secret mod leak and welcometobaldis share the same help text.
* ''secret mod leak'' and ''welcometobaldis'' share the same help text. Given the changes made to their functions in the current source code, this suggests that ''secret mod leak'' is intended to replace ''welcometobaldis''.
** Despite ''secret mod leak'' not being present in any release of the game, its help text is in every iteration of the game as an unused asset.
* The terminal's commands are stored in the class '''TerminalCommand'''. Humorously, the default ''commandHelp'' value for objects in this class is "if you see this you are very homosexual and dumb."
* The return text for ''admin grant moldy.dat'' is stored as an error message, while the error message ''term_unknown'' does not use the error namespace.
* ''admin'' is the only command with error handling for whether it is entered with an invalid ''number'' of arguments. All other commands entered with additional arguments do not affect the output. For ''vault'', these arguments can even be in any order; for ''open'', it must occur after a valid first argument.
* ''secret mod leak'' shares a title with the image asset '''secret mod leak.png''', a photo of Baldi's sprite clipping through the roof of a house.
* The first input the player can make upon opening the terminal does not have spacing between the ">" and the text; in any subsequent entry, it does.
* Although highly likely to simply be coincidence, the blacked-out regions of text on the top of artifact4.png resemble the letters "IV" - the roman numerals for 4.
* The cypher only has glyphs for uppercase letters, not lowercase letters. This may simply be an arbitrary choice of glyph storage rather than implying that the cypher is always in capitalized text.

Latest revision as of 11:44, 24 September 2024

WARNING: This page contains major spoilers to Vs. Dave and Bambi! Read on at your own risk.

The terminal screen in-game when first loaded.

The terminal, also referred to in the game as the Vs Dave Developer Console, is a secret feature in Vs. Dave and Bambi used to access bonus songs and lore about the characters. It is unlocked by pressing the 7 key during Unfairness. It is reminiscent to a command line interface, where the player inputs written commands that return snippets of text or alter the gameplay of the mod. Its primary purpose is to unlock Exploitation, the most difficult song of the mod, while the rest of its contents are optional. The provided lore most significantly expands on the backgrounds of Dave, Bambi, Expunged, Recurser, and Madden, a character that only appears in this feature; numerous other characters are minorly featured, including Moldy, Exbungo, Tristan, Spike, Playbot, Diamond Man, The Hall Monitor, Boyfriend, and Blade, another terminal-exclusive character. Several additional exclusive characters are mentioned or implied to exist but are not named.

It was first introduced in the 3.0a release and was expanded in the 3.0b update; some further changes have been made to its source code since then, but have not yet accompanied any release of the game. The current source code has added brief mentions to Muko and Maldo. The lore in the terminal was primarily written by MissingTextureMan101.

Disclaimers[edit | edit source]

  • As of September 19th, 2024, Recurser has been amicably removed from Vs. Dave and Bambi by request of his creator AadstaPinwheel.[1] This change will apply to the upcoming 3.5 release. All references to him and provided lore through the terminal are no longer canon nor reflective of his present character; this page describes his lore only in context of previous releases of the game.
  • Numerous times MissingTextureMan101 has stated that the 3.0b lore has poor implementation and quality, and it is intended to be rewritten and polished for the upcoming 3.5 release with help from BillyBobbo.[2][3][4][5] This is important to keep in mind while reading the open command entries and external materials; the story is unfinished and subject to change in future updates.
    • The 3.5 update does not currently have a release date, but it is near completion. The latest news on its progress is the description of Moldy's new Cheating mix on YouTube from August 26th, which states that a 3.5 release is "much closer than you might think".[6] The lore has been confirmed to have a rewrite planned, with the latest update being that the time before Bambi's fall from godhood has been refined.[7]
  • In several places, the Bambi religion is referred to as a cult, such as in artifact6.png and the cult's cipher. The usage of the word "cult" has since been retracted as inaccurate and non-literal[8] (this needs a primary source); their name as referred to by MissingTextureMan101 elsewhere is simply the Bambi religion[9][10] and the cult's cipher as the cypher.[11] These will be the names used in this article when not directly quoting source material.
  • There is a major timeline discrepancy in the described events of some terminal contents, and the exact occurrences of many of these things are unclear.
    • The current canonical timeline is that the birthday incident occurs on Tristan's 9th birthday; because Tristan is currently 9 in the game's events, this means that it, Dave's meeting with Recurser, and the mysterious email that Dave receives all happened within a rather short period of time prior to Dave encountering Boyfriend in-game. Dave finished and used the P.R.A.E.M two years before the birthday incident.
    • The initial timeline had the birthday incident occur on Tristan's 7th birthday, two years before the events of the game. In this timeline, Dave finished and used the P.R.A.E.M. only a month before the birthday incident, and the meeting with Recurser happened some time during or shortly after it. The email arrives much later in time.

Description[edit | edit source]

The terminal's introductory screen.

When it is accessed through pressing 7 on Unfairness, a black screen with green horizontal lines displays and reads out the following text:

> bin/plugins/AntiCheat.dll: No argument for function "AntiCheatThree"

> Redirecting to terminal...‎

The player can skip this sequence by pressing enter. The screen then does a sliding-fade transition to the terminal. The terminal is strongly reminiscent to Windows command prompt. Similar to the software, it is a black screen with white Fixedsys text containing a header at the top that reads "Vs Dave Developer Console[Version 1.0.00001.1234] All Rights Reserved.". In the current source code, the header's string of numbers instead reads [Version 1.0.00001.1235].[12] The header text is erased if the player uses clear, though the screen will scroll downward if inputs exceed the length of the viewport. Beneath it is a text input area where the player can enter commands.

Pressing most keys plays a typing sound (see Controls section). A slow, ominous ambient track accompanies this screen on loop. Sounds were introduced in 3.0b.[13][14]

The terminal's code is primarily contained within the file TerminalState.hx. The command help text and some error messages are stored in terminalList.txt, which has several language localizations[15], while the effects of granting admin to characters can be found throughout several files under the namespace CharacterFunnyEffect.name, particularly in PlayState.hx. More minor terminal-related functionality can be seen in FunnyTextState.hx (Recurser's ending dialogue for Polygonized when granted admin). The source code of the 3.0b release can be found here, while currentmost publicly available changes can be seen in the repo hosted by BemboLikePizza. The latest modification to terminal functions was made on December 29th, 2022.[16] It should be noted that the 3.0b github repo contains some file modifications that occurred after 3.0b or its latest hotfix release on October 5th, 2022 at 9:14 AM GMT[17]; to see the version of files per their latest game release, see this link.

Usage[edit | edit source]

The terminal is accessible at any point, even on a fresh copy of the game. Unlocking it requires pressing the 7 key four times: first in the Story menu, which unlocks the joke week; then in Supernovae, which takes you to Cheating; then in Cheating, which takes you to Unfairness; lastly in Unfairness, which takes you to the terminal.

Another method of access for the terminal unlocks only after playing Exploitation at least once. Once the player has, it will appear as a new menu option in freeplay titled "Console"; this menu contains Cheating, Unfairness, Exploitation, and Enter Terminal. Selecting the last option takes the player directly to it without its initial cutscene.

Commands[edit | edit source]

Both externally and in the source code, inputs are identified as commands (a certain prefixed word) and arguments or parameters (specifications to be used for commands). For clarity's sake on this page, argument will be used to refer to an expected placement of text following a command, which has a certain number of valid parameters of which it must be substituted with one when using a command. For example, in the admin command, its first argument has one parameter, grant, and its second argument has 8 parameters, including dave.dat, bambi.dat, and so forth - using a command like this in the game, henceforth, will look like "admin grant dave.dat".

All commands are case sensitive; not all of their parameters are. The commands are as follows:

9 commands
Command Version Help text # of Arguments # of Parameters Notes
admin All Shows the admin list, use grant to grant
rights.
0
2
1: 1
2: 6 (3.0a), 7 (3.0b)
Jump to list
Using this command with the parameter grant and the name
of a .dat character file triggers various game events.
This is the command necessary for unlocking Exploitation.
Parameters are case sensitive.
characters All Shows the list of characters. 0 0 Entering any arguments has no effect and performs the
same action.
clear All Clears the screen. 0 0 Entering any arguments has no effect and performs the
same action.
help All Displays this menu. 0 0 Returns a list of valid commands and their functions.
Entering any arguments has no effect and performs the
same action.
open 3.0b Searches for a text file with the specified ID,
and if it exists, display it.
1 45 (3.0b)
44 (current
source code)
Jump to list
Replaced texts in 3.0b.
All parameters except for those in base64 are case
insensitive.
Entering any additional arguments has no effect and
performs the same action.
secret mod leak Pre-3.0a
Current source
code
No providing such leaks. 0 0 This command only existed in development and was not
usable in 3.0a[18] or 3.0b[19]. In the current source
code, it has been re-added to take the player to the
You Can Think Pad minigame from Roofs.
texts 3.0a Searches for a text file with the specified ID,
and if it exists, display it.
1 14
Jump to list
Replaced by open in 3.0b.
vault 3.0b Store valuable files here. Takes 3 key
parameters seperated
[sic] by spaces.
3 1: 3*
2: 3*
3: 3*
Jump to list
When entered with all three parameters, it reveals 8
additional parameters for the second argument of open.
Vault's parameters can be entered in any order at least
once. Parameters are case sensitive.
Entering any additional arguments has no effect, regardless
of where they're placed. As long as the three parameters
are used anywhere, it will perform the same action.
welcometobaldis 3.0a-3.0b No providing such leaks. 0 0 In 3.0a, this command took the player to the You Can
Think Pad minigame that precedes Roofs. In 3.0b, it was
changed to only output the text "This was fun while it
lasted but do it the intended way now plz k thx". In the
current source code, the command has been removed
entirely.

In total, there are 58 combinations of commands that produce unique outputs in 3.0b, 25 in 3.0a, and 57 in current source code.

Controls[edit | edit source]

Any key pressed by the player affects the text input. Many keys and common shortcuts do not function the same in the terminal as they would in other typical applications. The output of each key has been mapped below:

A keyboard diagram for the outputs of the terminal.

The keys that have special functions are as follows:

  • Shift: Change text to uppercase
  • Esc: Exits from the terminal and returns to the main menu
  • Enter: Enters the command for processing
  • Space: Self-explanatory
  • Backspace: Also self-explanatory, although it is limited to only erasing one letter per keypress
  • Ctrl + Backspace: Erases the entire line (screen does not update until another key is pressed)
  • Num Lock: Alters the outputs of certain numpad keys

Many keys have been altered to produce different text results than normal, including some special keys. This is controlled by three key functions:

  • The game converts all key inputs except for enter, shift, backspace, and space into plaintext outputs;[20]
  • It then checks from the array unformattedSymbols to see if the newly-converted string matches any entries;
  • If there is a match, it changes the output again to its equivalent properly formatted symbol stored in the array formattedSymbols.

To use an example from the game, this process looks like this: The player presses the semicolon key. This input is converted to a lowercase string, which becomes "semicolon". Finally, this string becomes the correct intended symbol, ";".

However, the list of unformatted symbols is not exhaustive to all the keys on the keyboard and only includes numbers and limited punctuation marks.[21] This is why many keys, which do not have any matches in the unformattedSymbol array, simply produce the plaintext name of the key when pressed. Interestingly, an unformatted entry for plus exists but not for its formatted equivalent.

Because caps lock has a plaintext output, pressing it will not affect the casing of typed letters. Only the shift key can alter casing, and it does this universally for any key that has an output containing alphabetic letters (so entering Shift + Ctrl will output CONTROL). Due to the modifications to the shift and ctrl keys, it is impossible to use a majority of keyboard shortcuts, such as copying, pasting, selecting, and moving selected text.

Other features to note:

  • The following symbols are impossible to type: !@#$%^&*()_+{}|\:"'<>?`~. Valid symbols include: ,./;[]=
  • Esc is both a function and a text key. For a split second while the screen transitions, one will be able to see "escape" having been added to the text input.
  • The alt key does nothing, but it does produce a sound when pressed.

Errors[edit | edit source]

There are 6 (internally, 7) error messages that can display for various invalid command uses. 3 of them are contained in terminalList.txt and 3 are in TerminalState.hx. They are as follows:

6 errors
Error Text Cause
term_unknown Unknown command "[input]" Using an invalid command
term_grant_error1 [input] is not a valid user or character. Using an invalid parameter for the second argument of admin.
Does not display if the first argument is also invalid.
term_admin_error1
term_admin_error2
(used together)
No version of the "admin" command takes [number] parameter(s). Using anything other than 0 or 2 arguments for admin. This
displays regardless if the first argument is entered correctly.
The number of arguments is counted by each word proceeding
from admin separated by whitespace.
No variable name File not found. Using an invalid parameter for open
No variable name Invalid keys. Valid keys: [number] Using any fewer than the 3 parameters for vault. The number
counts how many correct parameters were in the input; for
example, using vault free will return Invalid keys. Valid keys: 1.
No variable name Invalid Parameter Intended to appear when the first argument of admin is invalid, but
it does not display in the game.

The last error message listed is bugged - henceforth, when the player uses the admin command with two arguments and the first one is invalid, it returns nothing. This is because the code that handles the admin command output does not reset the previous text in the else branch of the statement evaluating if the first argument is grant.

Commands[edit | edit source]

admin[edit | edit source]

admin grant expunged.dat

Using the admin command on its own returns the following text:

[Username]
To add extra users, add the grant parameter and the name.
(Example: admin grant exbungo.dat)
NOTE: ADDING CHARACTERS AS ADMINS CAN CAUSE UNEXPECTED CHANGES.

The command will display the user's PC name if the self awareness option is enabled. If it is disabled, it will instead display the name "User354378".

admin grant gives administrator permissions to various characters. All of them except for Moldy return the message "Loading..." before executing their effects. The 7 parameters are as follows:

  • admin grant dave.dat: Loads House with Cheating's modchart.[22]
  • admin grant bambi.dat: Loads Shredder and replaces every note with the up note, both in the chart and the UI.[23]
  • admin grant tristan.dat: Loads House and replaces the opponent and vocals with Tristan's. The note order is changed from left, down, up, right to left, right, up, down.[24]
  • admin grant expunged.dat: Expunged spams the terminal screen with glitching effects and messages gloating and mocking the player for several seconds as an ear-piercing glitch sound is played before crashing the game. Reopening it will reveal that the game has been altered significantly, replacing the program title with Vs. Expunged. The only option given to the player is to play the newly-unlocked Exploitation. The game can be returned to normal either by beating Exploitation, or by closing the game window; if the player does the latter, Expunged leaves a taunting message for them for next time they open the game, calling them a coward.
  • admin grant moldy.dat: Returns the message "you know what? im gonna close the game so you can watch my baldi's basics playthrough...". It then crashes the game and opens a video by Moldy titled me playing baldi's basics uploaded to the dillon's videos channel. The audio is heavily volume-boosted and the video quality is only available in 144p.
  • admin grant exbungo.dat: Has a random chance of loading either House, Insanity, Polygonized, Five Nights, Splitathon, or Shredder. It will load Exbungo as the opponent, replace the instrumental with amen breaks, and add the wavy distortion effect from Kabunga. The vocals remain the same as the original opponent's.[25]
  • admin grant recurser.dat (3.0b): Loads Polygonized with a wavy arrow modchart and altered cutscene dialogue. The world starts off at nighttime in 2D; only at the very end of the song does the background switch to Polygonized's, and Dave with his scared 2D sprite.[26] The beginning dialogue is as follows:
Ending dialogue of Polygonized when Recurser is given admin.

Dave: It's getting quite late, maybe we could do one last song?
Boyfriend: Beepity Bep!
Dave: Hm, how about something a bit more experimental?
Dave: Something more dramatic since this is our last song of today...
Girlfriend: Hm, I have this experimental track on here... called "Polygonized"
Dave: Huh, Interesting name. Who made it?
Girlfriend: Honestly I have no clue. I don't recall ever downloading this song...
Boyfriend: Skep dep!
Girlfriend: Alright alright, I'll play it..

At the end, the screen is replaced with a black background and white disembodied text in the center, where lower-opacity copies of said text drift around the screen:

Well. It was worth a shot.
Time to get back to keeping this world in order.
Just the way I love it.

Following this, the game returns to the terminal screen.

characters[edit | edit source]

characters returns the following text:

dave.dat
bambi.dat
tristan.dat
expunged.dat
exbungo.dat
recurser.dat
moldy.dat

help[edit | edit source]

help returns the following text:

(3.0b)
help - Displays this menu.
characters - Shows the list of characters.
admin - Shows the admin list, use grant to grant rights.
clear - Clears the screen.
open - Searches for a text file with the specified ID, and if it exists, display it.
vault - Store valuable files here. Takes 3 key parameters separated by spaces.

(3.0a)
help - Displays this menu.
characters - Shows the list of characters.
admin - Shows the admin list, use grant to grant rights.
clear - Clears the screen.
texts - Searches for a text file with the specified ID, and if it exists, display it.

open[edit | edit source]

open holds the bulk of Vs. Dave's story and character information, its contents of which are often informally referred to in the community as the "3.0(b) lore" (as separate from 3.0a, which lacked many of the current parameters with the most significant lore implications). It is highly heterogeneous in subject matter and in-universe authors. Unlike any other command, all but 8 of open's parameters are case insensitive.

Many of the entries contain capitalized words, which indicate titles of other entries. This can lead to short chains of parameters being discovered. Some are only one level deep, such as open recurser containing "ORDER" which leads to open order. Others can go much deeper. For example, open bambi contains "GOD", which leads to open god that contains "EYE", which leads to open eye that contains "LORD", which leads to the dead-end open lord.

8 parameters are character names:

8 characters
Command Current release (3.0b) 3.0a
open dave Forever lost and adrift.
Trying to change his destiny.
Despite this, it pulls him by a lead.
It doesn't matter to him though.
He has a child to feed.
open bambi A forgotten GOD.
The truth will never be known.
The extent of his POWERs won't ever unfold.
A forgotten god.
The truth will never be known.
The extent of his powers won't ever unfold.
open tristan The key to defeating the one whose name shall not be stated.
A heart of gold that will never become faded.
open moldy Let me show you my DS family!
open recurser A being of chaos that wants to spread ORDER.
Despite this, his sanity is at the border.
A being of chaos that wants to spread order.
Despite this, his sanity is at the border.
open exbungo [FAT AND UGLY.]
open expunged [FILE DELETED]
[FUCK YOU!]
The End. They weren't created by a beast.
They were created by the one who wanted power the leeeeeeeeeeeeeeeeeeee
[DATA DELETED]
[FUCK YOU!]
open boyfriend LOG [REDACTED]
A multiversal constant, for some reason. Must dive into further research.
LOG -1:
Beep skeedoop bop! Skeep leep. Skadeep!

In the current source code, open expunged has a comment stating "[THIS AND EXBUNGOS FILE ARE THE ONLY ONES I HAVE ACCESS TO UNFORTUNATELY. I HATE IT]".

Another 14 parameters are numbers consisting of logs written by Dave across the span of several years. Two of the parameters contain new logs in the source code written by Muko. In 3.0a, the command was "texts" rather than "open".

14 logs
Command Current release (3.0b) 3.0a Unreleased source code (December 2022)
open 1 LOG 1
Hello. I'm currently writing this from in my lab.
This entry will probably be short.
Tristan is only 3 and will wake up soon.
But this is mostly just to test things. Bye.
-
open 2 LOG 2
I randomly turned 3-Dimensional again, but things were different this time...
I appeared in a void with
random red geometric shapes scattered everywhere and an unknown light source.
What is that place?
Can I visit it again?
[DATA CORRUPTED] -
open 3 LOG 3
I'm currently working on studying interdimensional dislocation.
There has to be a root cause. Some trigger.
I hope there aren't any long term side effects.
[DATA CORRUPTED] -
open 4 LOG 4
I'm doing various tests on myself, trying to figure out what causes the POLYGONization.
It hurts a lot,
But I must keep a smile. For Tristan's sake.
LOG 4
I'm currently working on studying interdimensional dislocation.
There has to be a root cause. Some trigger.
I hope there aren't any long term side effects.
-
open 5 [FILE DELETED] [DATA CORRUPTED] -
open 6 LOG 6
Not infront of Tristan. I almost lost him in that void. I- [DATA DELETED]
LOG 6
My interdimensional dislocation appears to be caused by mass amount of stress.
How strange.
Maybe I could isolate this effect.
-
open 7 LOG 7
My interdimensional dislocation appears to be caused by mass amount of stress.
How strange.
Maybe I could isolate this effect somehow?
- -
open 8 [FILE DELETED] - LOG 8
Hey, Muko here. Dave recently called me to assist with the PROTOTYPE.
It's been kind of fun. He won't tell me what it does though.
open 9 [FILE DELETED] - -
open 10 LOG 10
Working on the prototype.
- -
open 11 [FILE DELETED] - -
open 12 [FILE DELETED] - LOG 12
The prototype going pretty well.
Dave still won't tell me what this thing does.
I can't figure it out even with the
blueprints.
I managed to convince him to take a break and
go to Cicis Pizza with me and Maldo.
He brought Tristan long as well. It was fun.
-Maldo
open 13 [FILE DELETED] - -
open 14 LOG 14
I need to stop naming these numerically its getting confusing.
- -

Note: While LOG 12 is signed off by Maldo, this may be an error. Given that the log states "still" and refers to Maldo as a third party, the most likely author is actually Muko.

A third category of parameters consist of 15 singular words including nouns and verbs. All were released with the 3.0b update.

15 parameters
Command Current release (3.0b)
open god
open artifact1
Artifact 1:
A stone with symbols and writing carved into it.
Description:Its a figure that has hundreds of EYEs all across its body.
Notes: Why does it look so much like Bambi?
open eye Our LORD told us that he would remove one of his eyes everyday.
He tells me that he's doing this to save us.
That he might one day become unreasonable and we need to have faith in ourselves.
...
Please, I promise you that's what he said. I-I'm not lying.
Don't hurt me.
open lord A being of many eyes. A being so wise. He gives it all up to ensure, that the golden one will have a bright future.
open artifact2 Artifact 2:
An almost entirely destroyed red robe.
Description: A red robe.
It has a symbol that resembles Bambi's hat, etched on it.
open artifact3 Artifact 3:
A notebook, found on the floor of the 3D realm.
Notes: I haven't bothered with the cypher yet.
I have more important matters.
open artifact4 "Artifact" 4:
A weird email, with attached images that use the same cypher as Artifact 3.
Notes: Who sent this?
open deleted The unnamable [sic] never was a god and never will be. Just an accident.
open prototype Project <P.R.A.E.M>
Notes: The SOLUTION.
Estimated Build Time: 2 years.
open solution I feel every ounce of my being torn to shreds and reconstructed with some parts removed.
I can hear the electronical hissing of the machine.
Every fiber in my being is begging me to STOP.
I don't.
open stop A reflection that is always wrong now has appeared in his dreams.
It's a part thats now missing.
A chunk out of his soul.
open order What is order? There are many definitions. Recurser doesn't use any of these though.
They want to keep everything the way they love it.
To them, that's order.
open power [I HATE THEM.] [THEY COULD'VE HAD SO MUCH POWER, BUT THEY THREW IT AWAY.]
[AND IN THAT HEAP OF UNWANTED POWER, I WAS CREATED.]
open birthday Sent back to the void, a shattered soul encounters his broken <reflection>.
open polygonized
open polygon
open 3D
He will never be <free>.
open p.r.a.e.m Name: Power Removal And Extraction Machine
Progress: Complete
Notes: Took longer than expected. Tristans 7th BIRTHDAY is in a month.


The words contained in angled brackets - p.r.a.e.m, free, and reflection - are the parameters necessary for the vault command. When the command is used, the final additional 8 parameters are revealed. Each parameter is an English word encoded in base64. These 8 parameters are case sensitive, likely due to the fact that base64 encoding is, also, case sensitive; changing the casing of letters changes the base text. Two have been removed and one has been added in the current source code.


8 base64 ciphers
Command Current release (3.0b) Unreleased source code (December 2022)
open cCGVyZmVjdGlvbg
"perfection"
[BLADE WOULD'VE BEEN PERFECT. BUT DAVE HAD TO REFUSE.] [BLADE WOULD'VE BEEN PERFECT. THE GOLDEN WARRIOR. BUT DAVE HAD TO REFUSE. HE HAD TO LIE TO ME. LIAR. LIAR.]
open bGlhcg
"liar"
LOG 331
I refuse to put Tristan through the torture that is P.R.A.E.M. Especially for [DATA EXPUNGED]. Not now. Not ever.
-
open YmVkdGltZSBzb25n
"bedtime song"
Even when you're feeling blue.
And the world feels like its crumbling around you.
Just know that I'll always be there.
I wish I knew, everything that will happen to you.
But I don't, and that's okay.
As long as I'm here you'll always see a sunny day.
-
open dGhlIG1lZXRpbmcgcDE=
"the meeting p1"
Conversation Log (1/2)
Recurser: You're Dave
[Dave turns around abruptly, startled.]
Dave: Uh. Yeah.
Recurser: I've been watching.
Dave: ...
Recurser: Why are you 3D? Can you stop?
Dave: I... don't know. And if I would, I could.
Recurser: Out of Order. This... isn't what you do.
Dave: "Out of Order..?"
Removed.
open dGhlIG1lZXRpbmcgcDI=
"the meeting p2"
Conversation Log (2/2)
Recurser: Yeah. Things aren't the way they are supposed to be. Wrong.
Dave: I can... agree.
Recurser: And... what about [DATA EXPUNGED]
[Dave Freezes]
Dave: How did you-
Recurser: I already have explained. I've been watching.
Dave: ...
Dave:Can you help me..?
Dave: You spend a lot of time around this... place. Can you prevent [DATA EXPUNGED] from messing things up please...
Recurser: I'll stop them from causing things to go Out of Order.
Dave: Thank you...
Removed.
open Y29udmVyc2F0aW9u
"conversation"
- Log 336
I encountered some entity in the void today.
Called me "Out of Order".
It mentioned [DATA EXPUNGED] and I asked it for help.
I don't know if I can trust it but I don't really have
any other options.
open YXJ0aWZhY3QzLWE=
"artifact3-a"
http://gg.gg/davetabase-artifact3 -
open YmlydGhkYXk=
"birthday"
http://gg.gg/davetabase-birthday -
open ZW1haWw=
"email"
http://gg.gg/davetabase-mysterious-email -

vault[edit | edit source]

vault has 3 arguments, each of which must be used with one out of its three possible parameters free, p.r.a.e.m, and reflection. Any combination like "vault free p.r.a.e.m reflection" and "vault free reflection p.r.a.e.m" have the same effect. When entered correctly, the following text is returned:

Vault unlocked.
cGVyZmVjdGlvbg
bGlhcg
YmVkdGltZSBzb25n
dGhlIG1lZXRpbmcgcDE=
dGhlIG1lZXRpbmcgcDI=
YXJ0aWZhY3QzLWE=
ZW1haWw=
YXJ0aWZhY3QzLWE=

These 8 strings of base64 text are the revealed additional parameters for the command open. Note that this command is not actually necessary in order to use these parameters - they are always available to the player regardless if the vault has been unlocked. Vault simply reveals their names. Likewise, this command can be repeated any number of times and will produce the same output.

External materials[edit | edit source]

Three of the base64 open parameters - YXJ0aWZhY3QzLWE=, YmlydGhkYXk=, and ZW1haWw= - link to external materials hosted online which expand on specific elements of the story of Vs. Dave and Bambi. Said materials are often referred to as "the ARG".[27][28]

birthday[edit | edit source]

The destination link of YmlydGhkYXk= is http://gg.gg/davetabase-birthday, which redirects to https://docs.google.com/document/d/1NpzvRAwsQCIWQEJgOw07Opt1T2h2HiCg_3_pDc6njho/edit, a Google document titled BIRTHDAY. The document contains a one-page short story about Tristan's 9th[29] birthday. Dave reminisces with relief that "his machine truly worked" as he cuts Tristan's cake. Before he can give the cake to his son, however, he is abruptly transported to the Void. Everyone at the party panics; Tristan winds up in the Void with his father, where both encounter Expunged in her proto form. Spike, Playbot, Diamond Man, and The Hall Monitor make cameos in this story.

email[edit | edit source]

A key for the letters that signify each glyph in the cypher.

The destination link of ZW1haWw= is http://gg.gg/davetabase-mysterious-email, which redirects to https://drive.google.com/drive/folders/1Pg8BZmgtZMs-bZSJqYUyN_2w_JZvD7Q9. It is a Google drive folder titled REDACTED ARTIFACTS, and it contains 8 files, including a readme.txt and 7 images. The readme is as follows:

here you go dave. i know you may not know who i am but i know who you are friends with.

i suggest you read these to satisfy your curiosity about him and everything that surrounds him.

but after that, stop. its not safe.

It is unknown who wrote this readme and sent the email to Dave; the character is not named anywhere in the game or external materials.

The seven images are written in the cypher, which has a 1 to 1 relationship with the English alphabet. The cypher is available as a font that can be downloaded on Fontstruct, released by MissingTextureMan101 to the public after the images had been deciphered.[30] The font contains some symbols that do not appear in any of the artifacts, such as exclamation marks and the at sign, which curiously resembles Bambi's hat.

The deciphered image text is sourced from a document created by m1les0.[31]

artifact3[edit | edit source]

The destination link of YXJ0aWZhY3QzLWE= is http://gg.gg/davetabase-artifact3, which redirects to https://drive.google.com/drive/folders/1Pg8BZmgtZMs-bZSJqYUyN_2w_JZvD7Q9. It is an image file hosted on Google drive titled artifact3.png. It also uses the cypher. The deciphered image text is sourced from a document created by m1les0.[32]

Gallery[edit | edit source]

Sounds
Audio Title Notes
TheAmbience.ogg -
terminal_space.ogg -
expungedGrantedAccess.ogg VOLUME WARNING
First file that plays after granting Expunged admin
iTrollYou.ogg VOLUME WARNING
Second file that plays after granting Expunged admin
recurserDialogue.ogg Plays on each text display of the end of
modified Polygonized
terminal_key.ogg Unused
terminal_bckspc.ogg Unused

Trivia[edit | edit source]

  • "Terminal" is a word interchangeable with console, shell, and command prompt. It may also refer to computer terminals. Early computer terminals used command line interfaces as an easier, albeit initially slower way to interact with data than through punch cards.
  • A .dat file is a generic data file that stores information specific to the application it refers to.[33] .dat files are usually text files, though they may also be used for videos, sound, images, and anything else. The characters being stored as .dat files suggests that, in-universe, the characters are in part or whole literal data structures that can be manipulated, such as granting them administrator permissions, and in turn given the ability to manipulate the game and therefore the world itself.
  • AntiCheat.dll may be referencing EasyAntiCheat, a program commonly used in various online multiplayer video games to prevent cheats or hacks from being used that would give players an unfair advantage. This is appropriate considering that not only is the 7 key traditionally used to open the chart editor/debug menu in FNF games, but Expunged is also heavily fixated on the idea of cheating or fairness.
  • Despite referencing the file path bin/plugins/AntiCheat.dll, no such directory exists in the mod's folder or source code. There is a plugins folder in the root mod folder in distributions, but no file titled "AntiCheat.dll".
    • Similarly, there are no character .dat files in game distributions or source code. These may either simply be made up, or imply that in-universe, Vs. Dave and Bambi has a different folder structure and contents than the actual game itself.
  • The glitching sound that plays after entering admin grant expunged.dat is actually two separate sound files. The first and longer, glitchier one is titled expungedGrantedAccess.ogg, and the second, deeper rumbling sound is iTrollYou.ogg.
  • The background music that plays in the terminal screen is titled TheAmbience.ogg.[34] There are several noteworthy things about this file.
    • TheAmbience is a slowed-down version of the beginning of Recursed. It is unknown whether this was selected arbitrarily or for a specific meaning.
    • This file has additional metadata that the rest of the game's music and sound files lack. Its artist name is "Universe #55553", its track title "Ambience", its album title "Secrets Unlocking", its track number "55553", its DATE "20XX", and its comments "this universe is... interesting. to say the least". This is one of the few references to a date in the timeline of the Vs. Dave universe.
      secret mod leak.png
  • Two unused terminal keypress sounds are present in the source code. The one that is actually used is titled terminal_space.ogg, while the others are terminal_key.ogg[35] and terminal_bckspc.ogg[36], which are pitched-down versions of the space sound. Commit history shows that all three files were intended to be used respectively for general keypresses, for the spacebar, and backspace[37], but all were removed from TerminalState.hx in the 3.0a release.[38] terminal_space was later re-added in 3.0b.[39]
  • secret mod leak and welcometobaldis share the same help text. Given the changes made to their functions in the current source code, this suggests that secret mod leak is intended to replace welcometobaldis.
    • Despite secret mod leak not being present in any release of the game, its help text is in every iteration of the game as an unused asset.
  • The terminal's commands are stored in the class TerminalCommand. Humorously, the default commandHelp value for objects in this class is "if you see this you are very homosexual and dumb."
  • The return text for admin grant moldy.dat is stored as an error message, while the error message term_unknown does not use the error namespace.
  • admin is the only command with error handling for whether it is entered with an invalid number of arguments. All other commands entered with additional arguments do not affect the output. For vault, these arguments can even be in any order; for open, it must occur after a valid first argument.
  • secret mod leak shares a title with the image asset secret mod leak.png, a photo of Baldi's sprite clipping through the roof of a house.
  • The first input the player can make upon opening the terminal does not have spacing between the ">" and the text; in any subsequent entry, it does.
  • Although highly likely to simply be coincidence, the blacked-out regions of text on the top of artifact4.png resemble the letters "IV" - the roman numerals for 4.
  • The cypher only has glyphs for uppercase letters, not lowercase letters. This may simply be an arbitrary choice of glyph storage rather than implying that the cypher is always in capitalized text.