Ramblings

ULTRACOMFY's personal homepage.

User Tools

Site Tools


extraction_basics

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
extraction_basics [2026/04/14 13:17] – created ultracomfyextraction_basics [2026/04/14 17:48] (current) ultracomfy
Line 4: Line 4:
 </WRAP> </WRAP>
  
-~~Title:Extraction~~ +~~Title:Extraction Basics~~ 
-<WRAP centeralign>Video Games/Assets/\\ +<WRAP centeralign>Video Games/Assets/Extraction/\\ 
-<fs xx-large>Extraction</fs></WRAP> +<fs xx-large>Basics</fs></WRAP> 
-Video game file extraction is the process of ripping assets from video game's game filesIn 2026video game assets are still stored on the local machine and streamed from the disk. This makes all game assets accessible from the local machines, allowing talented individuals to extract them into their individual parts.+//This page is a documentation of some fundamental extraction concepts and ideas that are critical to understanding how extracting assets from video games worksFor an overview of actual extraction techniquessee [[Extraction]].//
  
-//This page is a documentation on extraction-related concepts and not a tutorial on how to extract assets from video games. For thatsee [[Extraction Tutorial]].// +In 2026, video game assets are still stored on the local machine and streamed from the diskThis makes all game assets accessible from the local machinesallowing talented individuals to extract them into their individual parts.
- +
-====== Video Game Files ====== +
-Video games store their assets in bits and bytes on a computer's hard drive. If you hear a sound or see a particular image inside a video game, it is almost certain that this is stored as a file somewhere on your computer((I say that because there can be some internet streaming which can bypass the hard drive entirely))The task of a user wishing to extract these assets is to know where to look and to understand some fundamental video game concepts, especially in regards to file and file formats. +
- +
-===== Plain Files ===== +
-Some games store their assets plainly, ie. their textures, sounds and many other things are just literal picture and sound files. In this case, "extraction" is as simple as copying the folder's contents elsewhere. [[DEFCON (Game)]] is one such case. As a "dataminer"it's useful to know what is a plain file and what isn't. More on that in a bit.+
  
 +====== Basic Concepts ======
 ===== Video Game Engines ===== ===== Video Game Engines =====
 While it is possible to build games from a text file - and is in fact how the earliest video games were made - that method is an incredibly tedious and painful endeavor. This is particularly notable when you consider that much of the legwork in video game development is similar to each other, and building completely new systems for //a 2D or 3D renderer, physics engine, audio engine, scripting, animation, artificial intelligence, networking, streaming, memory management, threads, localization support, scene graph, and cinematics//((Copied directly from Wikipedia)) every time you make a game is expensive and wasteful. A game engine provides basic structures for all of these which lets developers focus more on actually making the game. While it is possible to build games from a text file - and is in fact how the earliest video games were made - that method is an incredibly tedious and painful endeavor. This is particularly notable when you consider that much of the legwork in video game development is similar to each other, and building completely new systems for //a 2D or 3D renderer, physics engine, audio engine, scripting, animation, artificial intelligence, networking, streaming, memory management, threads, localization support, scene graph, and cinematics//((Copied directly from Wikipedia)) every time you make a game is expensive and wasteful. A game engine provides basic structures for all of these which lets developers focus more on actually making the game.
  
-===== Engine and Middleware Files ===== +===== Middleware ===== 
-Video game engines and plugins tend to use their own, custom file formats for thingsFor example, a very popular middleware audio plugin called [[WWise]] uses the file format WEM (amongst others)in place of things like MP3 or WAV, for audio. The technical reason for this is that creating your own audio format gives you full control over the features it should haveYour own audio format can be programmed to support audio layering within a single file, to contain data about the context in which it is played, to contain data about the programming [keyword 'Event Data'], other instructions to the audio or the game engine and all kinds of other information and interfaces to the audio that aren't present in more standardized formats like MP3.+Many games these days use 3rd party software for their audioOne very popular solution is [[WWise]], which is a bit like a game enginebut for audio. It provides structures for developers to make the game'audio development easierFor example, developers often want audio that reacts to the in-game physics - they want sounds to be muffled when you hear them through walls or corridors, they want a [[Doppler Effect]applied when there is a speed difference between sound source and the listener and many other things. Wwise comes with all these features pre-built and developers can just use them and mix them around to their liking.
  
-The same applies to the game engine'filesThey contain all kinds of information for the renderer, the physics enginethe audio engine, scripting, animation, AI, networking and so on and so forth. It's stored directly within the file. All of this is cool for developer, but it means that your audio player won't be able to decode these files anymoreIt will encounter data in the file it doesn't know what to do withThis will typically require //conversion//.+===== Container Files ===== 
 +When nearing completion, games made in game engines need to be "baked" or "cooked". That means compiling the game so that it no longer is a project file in a developer'game engine but rather a finished product that can be played by playersDuring that process, many game engines take all the game assetsindex them and store them in [[Container File|Container Files]] from where they will be loaded when the game is played by a player. These files are essentially just a bundle of many files, comparable to ZIP or RAR archivesLike ZIP or RAR archives, they cannot be loaded directly and require specialized software to read.
  
-This is why it's useful to know what is a plain file and what isn'tUnderstanding the type of file you're looking at helps you determine the correct next stepThe OGG formatas you will find it in [[Minecraft]]'s assets for exampleis not a proprietary format that requires hours of googling to find the right tool to extract from it. It is a standardized audio format that ~~many~~ considerable share of audio players already support by default or, if not, can be converted easily. It is common inside of video games due to its file size to audio quality ratio but not often seen in the wild.+====== Engine and Middleware Files ====== 
 +The reason video game engines, middleware and container files are important to talk about is because they both affect what you can expect to find inside game files. Importantly, <wrap em>video game engines and plugins tend to use their own, custom file formats for things</wrap>. For example, files in Unreal Engine games are generally stored in **Container Files** generated by Unreal, ending with ''.pak'' and ''.utoc''Inside them, you will find **Game Engine Files** ending with ''.uasset'', among others. When you extract these, it is possible that you will actually end up with readable ''.wav'' audio filebut if the game used WWise **Middleware** for its audio design then you will probably find ''.bnk'', ''.bank'' and ''.wem'' files instead. ''.bnk'' files themselves are another container format and often contain multiple individual audio files.
  
-===== Container Files ===== +It is helpful to know what to expect. To get to a game's audio, you will often have to break through multiple layers of file formats you won't immediately know what to do with. ''.pak''/''.utoc'' can contain ''.uasset'' which can contain ''.bank'' which can contain ''.wem'' which you can convert to ''.wav''/''.mp3''/etc. Each step requires understanding what you're dealing with and how to work through it. That's what this tutorials are here for. 
-When nearing completion, games made in game engines need to be "bakedor "cooked". That means compiling the game so that it no longer is a project file in a developer'game engine but rather a finished product that can be played by playersDuring that process, many game engines take all the game assets, index them and store them in [[Container File|Container Files]] from where they will be loaded when the game is played by a playerThese files are essentially just bundle of many filescomparable to ZIP or RAR archives. Like ZIP or RAR archives, they cannot be loaded directly and require specialized software to read.+ 
 +====== Plain Files ====== 
 +Some games store their assets plainly, ie. their textures, sounds and many other things are just literal picture and sound files. In this case, "extraction" is as simple as copying the folder'contents elsewhere. [[DEFCON (Game)]] is one such caseAs "dataminer"it's useful to know what is a plain file and what isn't.
  
-Middleware does this as well. BANK files are container files generated by [[FMOD]] that contain multiple audio files (typically). Opening them requires knowledge about how those files are structuredTo see all of this in action, you should read [[Extraction Tutorial]].+---- 
 +You are now ready to properly get into video game extractionReturn to [[Extraction|overview]].
extraction_basics.1776172659.txt.gz · Last modified: by ultracomfy

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki