Placeholder Image

字幕列表 影片播放

  • 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

Where do you start with the video? Is that is that where we start here, asking where you start?

字幕與單字

單字即點即查 點擊單字可以查詢單字解釋

B1 中級

低規格遊戲 - Computerphile (Low Spec Gaming - Computerphile)

  • 2 0
    林宜悉 發佈於 2021 年 01 月 14 日
影片單字