Terminal

From Dave and Bambi Wiki
Revision as of 16:11, 24 June 2024 by MaxDimo (talk | contribs)
Jump to navigation Jump to search
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.

Description

The terminal's introductory screen.

When it is accessed for the first time, 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 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].[1] 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 typing sound. A slow, ominous ambient track accompanies this screen on loop. Sounds were introduced in 3.0b.[2][3]

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[4], 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.[5] 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[6]; to see the version of files per their latest game release in either repo, see this link.

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.

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".

Commands

The player can exit from the terminal by pressing the escape key. Doing so takes them back to the main menu. 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[7] or 3.0b[8]. 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.

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:

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.

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

admin

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 available. If it is not, 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.[9]
  • admin grant bambi.dat: Loads Shredder and replaces every note with the up note, both in the chart and the UI.[10]
  • 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.[11]
  • 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.[12]
  • 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.[13] 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.

characters

characters returns the following text:

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

help

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

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. 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. 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

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 without repeating them. Thusly, 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.

External materials

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.

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 in her proto form. Spike, Playbot, Diamond Man, and The Hall Monitor make cameos in this story.

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:

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 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.[14]

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.[15]

Gallery

Trivia

  • The terminal is most likely named after the concept of 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.[16] .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.[17] 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.
  • 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[18] and terminal_bckspc.ogg[19], 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[20], but all were removed from TerminalState.hx in the 3.0a release.[21] terminal_space was later re-added in 3.0b.[22]
  • 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.