Subtitles section Play video Print subtitles Where do you start with the video? Is that is that where we start here, asking where you start? That's a really good question to start with So when making a game specific video the first thing that I always research is what engine is the game using because there's a lot of standardization in the industry Well, it's very common for most of the big games that are coming out to be on five or six major engines, especially because up keeping an engine, a custom engine, has become such an expensive task that most studios just license some other engine to use and often that means that, if there's a moving or modifying community, if there's a community of people who are examining previous games of the same engine there's a lot of things that you can learn from that that you can use -- even in older versions of the engine. Very often when a new game comes out which is the first game in a new version of an engine the first thing that I will do is like research developer documentation for the previous version of the engine because they tend to be a lot of things that still cross over Traditionally, a good number of PC games store the variables that the game uses to set up its graphics in a series of files. If you are lucky and these files are user reachable and that means that you can play around with them Most engines have a dev console Like the Linux terminal like any console that you would think Most of the time it is not user reachable Sometimes it is so you just have to press the right letter and it comes out In older games it used to be always reachable, but sadly it's become a less common thing and, from there, It's a matter of experimenting. OK, like... let me let me let me find a very specific example Frostbite, which is the engine used by the Battlefield games Battlefield games still allow user access to the console So a new Battlefield game comes out. First thing I do is I know there's a variable that you can add to the launch commands of the exe that enables that developer console, and I start the game and I press the tilde button and it opens the console and then look ok Let's see if there's autocomplete and I will start writing things and see if it's out of completing comments to me like like ok If I press tab, does it auto-complete it to me? Okay so using that I will search if there's a command like "list all" "list command variables" or something to see if I can get a dump of All the things that are inside there that I can play around with if not, then it becomes a very painful process of going "a" and then pressing tab and autocomplete and see what comes out, and like taking screenshots and documenting all the little variables that are inside And then from the names of the variable experimenting trying to guess which ones are the ones that have to do with graphical fidelity, or graphic rendering in general and start changing values see if they can be changed in runtime, see if those values I can put in a certain file, and they will read them, and see what changes the game A lot of it is guesswork but once you sort of figure a certain engine, a lot of the games on the same engine thing tend to do something similar For Metal Gear Solid 5, that's probably my favorite most proud case Metal Gear Solid 5 runs in something they called the Fox engine, and that engine wasn't made for PC, and you can often tell When an engine wasn't made for PC because it has no configuration files this all like a black box. It's all super contained But I really really like this game and I really wanted to make a video about it. So I was exploring what to do and I came through The game had a pretty big modding community. There were people making like model swaps There were people introducing like new weapons in the game through mods, and I kept telling myself like OK But how did they figure this out, like how they did this? So I started doing some detective work and this mod is taken from this mod that is taking from this mod that I started digging digging digging and found the first mods of the game and reverse google search them and trace them back to like a couple of forum posts So I searched that entire forum thread, and went through like the first post and started reading them and it was a post about like the performance of the game but halfway through like post 300 or something someone figured out how how they game encrypted its files and created like a set of commands that you could do to unencrypt them and someone made a tool about it and people started experimenting a modding with it And I remember finding this very specific post of someone who went "Hey, I unencrypted the files." "I realized there's this folder here which has a bunch of Lua scripts" which are what the game runs every time you change a graphical setting so and this is often how games do it like when you set shadows to low The game will search up a script and it will be like ok shadows to low means that this resolution set to this this resolution set to this and this draw distance is set to this so they have this on different pockets and I remember seeing that and being like oh, but now that I have access to this file I can change what that script does and I could instead of Lowering the resolution of shadows. I could make them not draw shadows at all and I started doing this sort of thing and created basically a Script that you could put in Replace the normal script of the game and it will basically like not draw shadows and use a lower resolution Texture than what it usually will do and it will be immediately obvious why the developer didn't do it? because it really screw up with the Dynamic lighting system of the game. Oh, but it before it was like a thirty five performance game. So yeah, that was amazing I remember dude. I was so proud of that I'm putting a video about it and someone else took what I did in the video and created a mod Which was called like the potato metal gear mod or something in retrospective I wish I who could have thought of that and I could have published the mod instead of him But yeah That was that was an interesting contribution that I could do to that community and and I was a very fun process like vegan figuring out how to unencrypt it and seeing all those files there and play around with them that Done it that always makes my day. So it was really fun the Far Cry games run on Can't remember the name of the engine they use but it's the same one for all the Far Cry games it's just different versions of the same engine and It has configuration files that I read everything in XML. So I thought to myself oh, you can just probably find things there and change them, but it wouldn't really read it anything and I could not do like a really good video on several or most of our games for a while So I consulted with my discord community and someone Reminded me that I think Far Cry 3 or 4 has a decent modding community So altogether, we started looking through the documentation of the modding community It had a bunch of encrypted configuration scripts that as most games do Execute when you setup and the specific settings and people were putting around with those so I started trying to basically what I did with Metal Gear and figured it out if I could replace them and Some very bold person for my discord just decided to copy all the variables from those hidden encrypted configuration files copy and paste them on the normal XM user reachable XML And the game read them all like the game read all the variables that were not supposed to be on that file perfectly flawlessly and From that discovery we were able to for example more dramatically modify the draw distance of different elements of the game so you will have enemies three meters in front of you and they will not be rendering and you can like It was obviously very impractical but it was something that you could play around with for extra performance And from that we made some interesting discoveries so an LOD system in video games is basically, and I'm in a nutshell because it's a very big topic is When you create different versions of the models inside games that have different quantities of polygons or different quantities of details and then with low detail ones you display far off into the distance and if that things gets close to you you Gradually replace them for more details. That way you can serve the PCs resources and Player doesn't really have to notice that that is happening. But those usually are set to distances So X quantity of pixels you load a different model Double X quantity of pixels you blow a different model when you play around with that interesting things happen, for example in the Far Cry games a few different objects seem to be in different pockets in Terms of if they are drawn or not or if the use of lower version model or not I think higher priority buckets or to run farther which are critical things that the Player needs to notice and not so important stuff tends to be not rendered at the same distance Now there's the game called Far Cry primal Which a happens during the Stone Age. We noticed that the clothing of the Caveman was in a different pocket That the cavemen themselves and that means that if you set a really low value of your distance If you were a certain distance from the caveman They will be completely naked until you get close to them and the clothes will render so you will see them completely naked at a distance and we'll try to get clothes and the clothes and the clothes will appear and It's a makes you wonder how they sort of created this game, but Those are the interesting things that happen when you sort of play around with the inside variables of a game that you were not supposed to reach in the first place and to their credit these variables that the far cry engine reads directly from the user reachable XML They have not been fixed to this day. The last game in the Far Cry franchise Was released was for cry nuan and they just copied over the same set of variables that I've been using forever before cry video work At the first try. So thank you for that far cry team. Thank you yourself. Please continue doing that That is just very very fun that you can poke around in that eighty Ninety percent of the work that I do is simply figuring out what are the variables that the game is loading? when You set up a graphical setting or when the engine is loading on the first time trying to see where the names try to see where the maximum and minimum values and Trying to see if you can make them breathe and the main values and see what happens from there it would be I think will be healthier for the entire PC gaming ecosystem if we get more and more games that allow that sort of control over most particles a good example of someone who does that is it so the new newest versions of the eat engine used by the latest doom and Wolfenstein games They have an user which able developer console it's you set over a Variable and the lunch comments of the game and you press tilde and it opens up in most games and from there you can not Only play with a lot of the graphical settings But also activate things like god mode or infinite ammo like you can use it for actual cheats but what I have always liked about this games is That if you open up the dev console and you type anything you get a message that says you have enabled dev mode and you will not get any achievements on the game like And I think that's a fair deal. You can play around with the game. All you want you can a Custom settings you can play around with your graphical settings in no supported ways The game is just making sure you're not cheating your way into Achievements seems like a fair deal to me and I and I wish more games that this because this is something that you can all other players can get a lot of benefit out of and III have discovered a couple of things on the on that that console that makes both the new doom and the new Wolfenstein games way more accessible and low-end pcs So that is a tradition that I that I hope it continues the worst cases are the games that are Complete just bad ports from consoles they will try to grab the code base from the console and Slight adapted as best as possible with limited resources to PC That means not many graphical settings. That means often that you will find quirks There's two two examples come to mind near automata and the latest Monster Hunter game Both of this games and this is not me saying it this is that was a community discovery what are people started poking around the games and started realizing that the games use timing systems that are very common for consoles, but when you use that sort of System to calculate your timing on a PC. It causes stuttering and So when you notice stuff like that you're like it's a little bit irritating, especially because There's a tool that the guy who did the discovery Developed a tool that will in real time intersect the calls that the game will be doing on the code and replaced them with calls that were more efficient for PC and He has been he added a lot of different things to this tool that improved it improved the CPU performance of monster hunter by a lot and that allow things like changing the global illumination for Nier automata which Completely makes the game playable in like anything that I owned. Otherwise, it would have been impossible So for time to time the work is caught out to me by someone else who make this marvelous pieces of software But these pieces of software sort of exist because someone noticed that the code was written specifically for consul and he still has two quirks related to it and it's all been to the community to fix it, which isn't exactly morally right, but at least I'm Glad that it exists so we can get to enjoy this games Right. These are the kind of things that people who are writing computer games Not me people who know what they're doing writing computer games are thinking about right. How can we do post-processing like motion blur and bloom and other kinds of filters that look good in a game, but don't grind a whole thing to a
B1 engine graphical mod pc metal gear distance Low Spec Gaming - Computerphile 2 0 林宜悉 posted on 2020/03/27 More Share Save Report Video vocabulary