FINAL FANTASY XV Debug Menu Analysis
POTENTIAL SPOILER WARNING
The following content comes from the debug menus shown in the recent "Real-Time Technologies of FINAL FANTASY XV Battles" footage from SIGGRAPH 2016. The content shown in this thread may contain game element related spoilers. Please note, any and all of the analysis and discussion in this thread will be based solely on publicly provided materials from SQUARE ENIX.
If you've seen this video, you'll have already noticed the plethora of debug menus. And if you're like me, you want to know what all of this stuff is! To me, I think it's interesting to look at debug memories. I have fond memories of going to the debug room back in FINAL FANTASY VII, so these things really interest me.POTENTIAL SPOILER WARNING
The following content comes from the debug menus shown in the recent "Real-Time Technologies of FINAL FANTASY XV Battles" footage from SIGGRAPH 2016. The content shown in this thread may contain game element related spoilers. Please note, any and all of the analysis and discussion in this thread will be based solely on publicly provided materials from SQUARE ENIX.
Anyways, all of this stuff is in Japanese, so it's hard for people to really understand what this stuff is. Despite most of this information being useless to the general public, I still enjoy the work I put into doing this, and I know some of you enjoy this stuff regardless.
Please note that I actually don't speak Japanese. All of my work here is done by knowing the characters and basic sentence structure along with online translators and some basic context to make these translations. If you do speak Japanese and or can provide any corrections, please feel free to do so.
OVERVIEW
Here's a list of all the window elements, I've numbered them so you can easily find them as reference for the analysis and video itself. Some of these windows might move or overlap one another, so keep that in mind when watching the video. ➊ MENU BAR
First, let's look at the menu bar. There are a lot of options for things like Character, Map, Script, Physics and event Network. The Network option might have something to do with remote debugging, but it could have something to do with in-game online features. We also see MiniGame as well, which I assume has to do with Justice Monsters V. ➋ WORLD TIME
The world time window is used for... the world time. The first option is to enable time flow is used to enable/disable time moving forward on its own. By that, I mean, if you uncheck the box, the time of day will just stop moving forward and it will be noon forever for example.Current time displays the current time in the day, obviously, and can be controlled with the slider beside it. This allows you to set the time to whatever you want.
Current date shows how many days into the playtime you are, and even the day of the week. In this case it's Monday in game... I guess.
The last option here is the rate of time which controls the speed in which time advances. Remember back when people asked how long an in-game day lasts? This is how you would control this setting, time will move faster the faster this rate is, and inversely, the lower the slower.
➌ ENVIRONMENT EFFECTS
Here's a big one, but most of it is pretty self explanatory with a lot of repeated information as you can see. The top section has a bunch of options that can be enabled/disabled. Anything with a gap to the left of the text can be checked off either like a on/off switch or a multiple choice selection.The procedural sky is referring to the dynamic volumetric clouds that the game creates at run time. In the SIGGRAPH talk they mention that "no two clouds are alike" which is very true, they are created at runtime.
Atmospheric scattering refers to the real life phenomenon classified as "scattering", which is where different particles in the air can effect how light refracts, which ultimately causes the coloration of the sky that we see on Earth. The wave length plays a big role in this, as it's what causes the sky to change color at sunrise, midday and sunset. The shorter distance the sun's light takes to get to our atmosphere during the day time creates the blue sky, while the longer distance the light travels through the atmosphere towards the end of the day at sunset is what causes the sky to turn an amber color. So... this setting makes the sky turn different colors.
There are other settings like stop the clouds which I assume stop cloud movement, and remove cloud shadows which stops the clouds from casting shadows. The last option I believe is translated properly as reset weather settings. Thank you to @Kume856 on Twitter for assisting me in the translation of this one. We believe it's saying that the current weather settings will be canceled or reset, so it might have to do with resetting the debug settings for the weather. The Japanese for this is "天気の上書きを全解除" for anyone that wants to take a crack at it.
The next section of options here are how you can manually change the settings for the weather, exposure, post effects, camera light and displaying some weather box. These settings might be manual control over the presets that you can see below, or just windows to change them outright, but they're never used in the video, so I'm not sure.
The last section is a bunch of presets which are used for selecting different weather conditions. If you watch the video you will see they click on different ones and change the weather from clear and sunny to gloomy and rainy. The bottom option to cancel debug weather state is another option which I believe basically sets the weather state to run normally and not invoke the weather presets.
➍ CURSOR MENU
This is what I like to refer to as the cursor menu, this menu pops up under the cursor in the debug menu and has features that are related to objects in the world.The first listing here is of the world coordinates which are displayed with X, Y and Z. This is representing the space you clicked in the 3D world. You can also see something called cell which might be something like a "chunk" if you've ever played Minecraft before; essentially large regions of space split up into multiple blocks. Area coordinates might be relative coordinates within the cell as these numbers are very small unlike the world coordinates which are huge. These coordinates are representing game units for their position which could be meters or even centimeters. Given the numbers for world coordinates, I'm going to assume that this is in meters, which would make the current world coordinates around 12 miles or 19 km from the origin.
Then there's the NaviMesh Cell which is shorthand for "navigation mesh cell". I'll go over what a navigation mesh is later in this thread. Anyways, you can see an option for create character entry was translated from "キャラエントリ読込み", there's another window related to this later. Control Noctis I believe is used to regain control of Noctis, it might also refocus the camera on him, I'm not entirely sure. The next few options are used to move game objects around like move the player here, move the party here and move the object here so you can quickly move in game objects or the player around. Load high LOD models around this area is used to load higher detailed models nearby. LOD means level of detail and refers to the practiced commonly used in video games to create multiple levels of detail of a given model to render at set distances.
The next two options are to save the selected entity's coordinates and to apply saved coordinates to selected entity which seems to be used to save the transform of selected object into a buffer to be used later. For example, if you want to move a pole out of the way or something then move it back to the same spot again.
Unfortunately, I have no idea what the next option is, the original Japanese is "PC向きのシーケンス定数を作成(Degree)" which I have translated as sequence player's rotation to a constant (degrees) which could be any number of things. It could mean to constantly rotate the player facing a certain direction, it could mean to create a constant spin on the player. None of these seem to have a practical use, and I'm not really sure what it could be. If anyone has any idea, please let me know.
Then the next few options are used to create a point using the current mouse pointer position and the player's position, I'm not sure what it means by creating a point however. Then there's camera view which might be how you free-roam with the camera, and then coordinate movement window which likely brings up a separate window which has controls to manually adjust the X, Y, Z and possibly rotational X, Y and Z of a selected object.
➎ SELECTION WINDOW
This window I'm not entirely sure what brings it up, but I believe it's when things are selected, which is why I titled this the way I did. Unfortunately, there's not much to go on for a lot of this information... like what on earth "ocean_default_mask" means (I assume the numbers after it are part of some memory address or something). There are also a few things that were translated here that I'm not completely sold on, but they'll have to do I guess.Control this as a character I believe is what this means, translated from "こいつを操作キャラに". I assume this would allow you to control a given selected object like a character perhaps. Model settings and part settings likely would allow you to change the model and part could be anything from breaking off parts of something, multiple strike points, or even just connected objects, it's hard to say. Movement control settings seems to control the way that the object moves through 3D space, the actual full text with parenthesis includes (originally gravity/inertia settings) which to me indicates that this setting has to do also with physics of the object.
This next setting is delete with character entry, the actual text reads "キャラエントリ含めて削除" which is "delete including character entry" which I can't really make sense of. I assume that it means that when you delete this object it will delete an associated "character entry". There is a window for character entry like I said earlier. The next one is just delete by itself, so clearly this first option is to be used for specific types of objects.
Select on AssetBrowser seems like it's an option where you can find what object this instance is created from in the AssetBrowser if I translated it correctly, again a lot of this stuff was confusingly phrased. The next couple are really straight forward thought, debug camera, node debugger but then there's this start debugging the gamepad which I'm also confused about. If I understood it correctly, this is used to start debugging of the controller, but it might also just mean to debug the entity somehow using the controller... I really don't know. Then of course there's the AI which serves to control the AI for the game object.
HotReload the texture and model are both used to reload the texture and model at run-time, the name "HotReload" originates from the term "hot-swap" which is how you described changing hardware components without shutting off your computer and it has since also gained meaning within software as well like in this example.
General parameter config is a pretty generic sounding name... Auto-buddy banter translated really weird, but I think it's correct, the text reads "自動しゃべくり君" where "しゃべくり" means to talk without pausing, "自動" means automatic and then "君" is kun, which means something like buddy. I assume what this was referring to was to constantly cycle through your party member's dialog they make between each other but have it play constantly...? I honestly don't have a clue.
Then we have instancing test which is just whatever, hierarchy window which is just referring to a sort of object tree and then material editor which is used to edit... materials... A material in case you didn't know refers to how an object would be rendered. For example you might have a plank of wood that has a wood material that has a wood shader to handle lighting and a specific texture that you want for it.
Two instances of this selection window come up in the video above, and I can't really correlate what they're for and how they're brought up, so really without context it's hard to make sense of a lot of this stuff.