Glossary of Gaming, Game Development, and Game Design Terms (Part 2 of 2 - Metallic to Wav)

in #glossary8 years ago (edited)

Continuation from first half that can be found by clicking here. Albedo to Mesh is documented in the first half. This half is Metallic to Wav.

Continuing


Metallic: is a type of texture map used in physically based rendering (PBR) to describe the metallic properties of an object such that it can determine what should shine, what should reflect, etc. The Specular map is used similar to this, but a shader is typically going to be designed to work with a specular work flow or a metallic work flow. Not both.
Marmoset - Tutorial: Physically Based Rendering, And You Can Tool! | Unity- Working with physically-based shading: A practical Approach | Unreal - Physically Based Materials

Model: The term model is essentially referring to a 3D mesh made in a program like Blender or some other that contains the UV, vertice, triangle, normal, information. Hopefully if it is going to be animated it also is rigged with bones.
Wikipedia

Noise: is seemingly random data that is generally not actually random. It is usually generated from mathematical functions to SEEM random without in fact being random. Given specific inputs it can generate the same noisy data over and over again. This enables creation of infinite worlds and such simply by sending the coordinates and perhaps a seed to the program designed to handle it. This makes it so you can generate huge things without needed to store a lot of data. It can be used for making textures, AI behavioral patterns, music, sounds, etc. Any way that the programmer can conceive to utilize the noise. The important thing for this to work in a useful way is that it must produce the same noise consistently based upon input provided to it. One of the most famous noise functions in this day and age is the Perlin Noise function.
Redblobgames.com - Noise Functions and Map Generation | Unity - Asset Store - Procedural Examples

Normals: is a line to the right angle of a surface. All you really need to know is it is a direction that enables 3D shaders to know whether to render a surface as hard (faceted) or smooth. If it is incorrect it can also result in the texture being rendered on the wrong side of a triangle. For example: If you take a box with it's normals pointing out then it looks like a box. If you flip those normals they would now be pointing in and from outside there would be nothing. From inside the box you would instead see four walls, a ceiling, and floor. A basic room is really just a box from the inside.
Wikipedia

Normal Map: is also called a bump map. It is a way using a texture, lighting, and a shader to add a lot more detail to the appearance of a 3D object than the model actually has in terms of actual triangles. Sometimes people will take something like Zbrush and sculpt a model in extremely high detail. The very fine details they will convert to a normal map texture, and the resulting model will be much lower in terms of over all triangles, but it will still look just as detailed. This is an optimization technique and at this point is one of the most common types of textures to exist other than the albedo/diffuse.
Wikipedia | Unity - Normal map (bump mapping)

OBJ: is an 3D model file format known as the Wavefront .obj file. It is very portable. It contains just the geometry of the mesh and possibly a material. It does not store animation or rigging information. If you are working on a model that needs rigging or bones check the FBX format or consult which format your game engine of choice prefers. For making static objects that do not have moving parts OBJ is a very good choice.
Wikipedia

Occlusion: is the hiding of things that should not be perceivable. This is not to be confused with occlusion map which is different. Generally occlusion involves a 3D program knowing that something is hidden behind something else and knowing not to show it. In game engines how well you can get occlusion working can be a huge optimization. It doesn't have to apply just to visuals though that is the most common. I've also encountered occlusion systems that were based around occluding sounds.
Wikipedia - Occlusion Culling

Occlusion Map: this is also known as Ambient Occlusion and refers to a texture that is used by some shaders to give more realistic properties to an object. It is sometimes abbreviated as AO. There are different techniques for enhancing the results of ambient occlusion and you will often see AO as part of some effect name such as SSAO which means it is talking about a specific implementation of Ambient Occlusion.
Wikipedia - Ambient Occlusion

OGG: is the file extension for a containerized compressed audio format called Ogg Vorbis. MP3s while immensely popular are actually a lossy form of compression. This means depending upon the settings used when making an MP3 the file may be smaller and smaller, but more and more audio details can be lost. Ogg Vorbis is a form of audio compression that while still lossy is much higher in fidelity.
Wikipedia - Vorbis

Optimization: is the process of fine tuning a project. There are different considerations depending upon what you are optimizing towards. Do you want a smaller file format, smaller memory footprint, or smaller packet size for networks? To do that is one form of optimization. Do you want the program to run faster and handle more frames per second? That is another form of optimization. Sometimes those optimization goals can overlap, but often they do not. Sometimes the trick to getting more speed can make a program bigger. The process of making something take up less space can likewise take longer as that usually involves compression, byte packing, or some other computation processes that you would normally worry about.
Unity - Optimizing graphics performance | Unity - Optimizing scripts | 4 Ways to Increase Performance of your Unity Game | Programing Optimization

Parallax Map: is sometimes called a height map. This can add even more detail than a normal map and allow more extreme variation. It does use a texture designed to be a parallax map and a shader capable of processing it. Look at the rocks in the wall in the image I provided for a visual explanation.
Wikipedia | Steep Parallax Mapping

Parallax Scrolling: is a technique where you have more than one background image (typically in 2D games) and you intentionally scroll the speeds of the backgrounds at different speeds. This is very popular in many 2D games.
Wikipedia


Particles: are an effect that uses a large number of sprites to simulate an effect. It can be used in 3D or 2D. It is great for simulating explosions, fire, etc. The best particle systems randomize the quantity and positioning of the sprites based upon some rules so it is not simply some animation playing in the same loop over and over again. Smoke, forcefields, blood spurts, you name it. People sometimes make bird flocks, clouds, and more using particle systems.
Wikipedia

PBR: See Physically Based Rendering.

PBS: See Physically Based Rendering.

Perlin Noise: is perhaps one of the most popular noise functions out there at the moment when it comes to gaming. It is a noise function great for making procedural textures, but it is especially popular for making procedural maps and is almost always used in voxel based games to tell the game how to build the map when all it needs is the X,Y,Z and a seed value to determine what the map should look like there.
Wikipedia | Understanding Perlin Noise

Physically Based Rendering: is the process of rendering in real time using specialized texture maps and shaders to produce more and more realistic results at real time speeds. This is critical to game design and as this continues to improve so to will the "realness" factor of games. They are doing this by getting better and better at mimicing the properties of physical materials and what they do with light as it hits them. This is sometimes called Physically Based Shading.
Marmoset - Basic Theory of Physically-Based Rendering | Unity - Standard Shader

*Physically Based Shading: see Physically Based Rendering.

Pixel: a pixel is the smallest unit that can be given color on your computer screen. It can go from black to white and uses different shades of color between there. When you get a 1080P HDTV you are getting a screen that is built up of 1920x1080 pixels. That is 2,073,600 pixels to draw a standard 1080P HDTV screen.
Wikipedia

Power of 2: sometimes you will see a reference that things should be in powers of 2. This is because of the binary nature of things the computers and videocards naturally work better with things that fall on a power of 2 boundary. This is especially true when building texture atlases and things like that. Here is a quick power of 2 table that is a high as you're likely going to need for textures. 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048, 4096, 8192, 16384
Wikipedia

Programming: generally refers to writing code that will run directly on the machine itself. It will communicate with the CPU, the drivers, etc. It is code designed to run native on the Operating System. (OS) In terms of writing games this would be like writing the game from scratch without and engine, or taking the engine and modifying the engine and using it only to make a game. See scripting for what the difference is. That is when it becomes apparent what the difference is. In terms of skills both programming and scripting use the same skills it is just a matter of the languages and access levels available.

Projector: in this case is referring to a type of GameObject in Unity. It is kind of like a light, but instead of a light you tell it to put a texture of your choice on the first surface it encounters. You could use it to do shadows below someone, you could use it to place a grid on the floor, etc.
Unity - Projector

Random: indicates some random number generated process. It should be noted that these processes are always based upon math, or tables, or reaching out to a time source. They are never truly random. They appear random enough for the games and for all intents an purposes they might as well be. This is the rolling the dice, or picking a card part of games. There are studies and libraries on the internet to try to make better and better random number generators.

Raycast: is the process of essentially sending out a line from one point towards a direction and seeing if it encounters anything. This is often useful in games. If you shoot in a direction does it eventually hit anything and where did it hit? This is used in a lot of game engines.
https://en.wikipedia.org/wiki/Ray_casting | Unity - Raycast

Ray Tracing: is one of the earliest forms of 3D rendering I was aware of. The computer traces the path of a light beam per pixel to determine what the resulting image should look like. This technique can produce immensely realistic looking scenes, but it generally comes with a big performance cost. Finding ways to simulate some of these techniques without the high cost is where shaders come into play.
Wikipedia

Render: is the process of taking the lights, shaders, textures, materials, models, meshes, projectors, and particles in a scene and deciding which ones are visible and then setting the pixels on your screen to the proper color setting to display that scene.
Wikipedia

Resolution: is the number of pixels in a texture or in a screen. At one time 1024x768 was the most common screen resolution. That meant it was 1024 pixels wide, by 768 pixels tall. That was 786,432 pixels. When HDTV came out it had 720P and 1080P resolutions. The 1080P resolution is 1920x1080 which is 2,073,600 pixels. The resolutions keep growing. Textures on the other hand it is best to stick with a power of 2 if you want the best performance from the video card.
Wikipedia

RGB: is a color format for a texture. It splits the color into three components. Red, Green, and Blue channels. How you mix the light values of each of those channels together can produce all visible colors.
Wikipedia

RGBA: is the same as RGB but it adds in an alpha channel.
Wikipedia

Rigged: see bones.

RPG Maker: is a game engine designed specifically to make RPGs of specific styles. It is not free, but it is not expensive and it has many different versions. It is not unusual for it to go on sale in a bundle somewhere.
RPG Maker Site

Scene: in this aspect when it is used by me it will mean a single scene as per a Unity Engine scene. You can think of it as a Level.
Unity documentation

Scripting: is a form of coding. It is code and uses the same skills as programming. It may be different though. A script is generally support for programming added INTO another program. The script can use a totally made up language. Most of the things done in Unity and UE4 use scripting. You are not actually changing engine code. You are writing supported code that knows how to hook into the engine code, but otherwise is likely limited from 100% control. Sometimes scripting languages that are permitted blur the lines between programming and scripting so there may functionally be no difference. In general for game development you want to use scripting when it is feasible. The only reason you should ever dive into the engine code and do actual programming on an engine is if you need a feature that is not there, or if it is the only way to get the performance or other feature you need.
Wikipedia | Scripting: Higher Level Programming for the 21st Century by John K. Ousterhout

Seed: refers to a number that is provided to a noise or random function to reference a specific sequence of data. If people use the same seed they see the same thing. So which is faster and more efficient? Sending a huge map to someone, or sending them a single number that is the seed used to build the map?
Wikipedia

Serialize: is the process of converting data into a format that can be stored in a file or sent over a network. The key is it involves storing things that may not have normal data representations in some format that can then be reversed to regenerate the same object and conditions. This is also highly important for web based applications.
Wikipedia

Shader: is a program written for a GPU that tells your video card how to make an image. They are incredibly important to every modern video game. They are actually important far beyond just video games.
Wikipedia

Simplex Noise: is another noise function designed by Ken Perlin. He created it in 2001 to address the limitations of Perlin noise in higher dimensions. WIkipedia lists the advantages of Simplex over Perlin as follows:

  • Simplex noise has a lower computational complexity and requires fewer multiplications.
  • Simplex noise scales to higher dimensions (4D, 5D) with much less computational cost: the complexity is O(n2) n dimensions instead of the O(2n)of classic noise
  • Simplex noise has no noticeable directional artifacts (is visually isotropic), though noise generated for different dimensions are visually distinct (e.g. 2D noise has a different look than slices of 3D noise, and it looks increasingly worse for higher dimensions
  • Simplex noise has a well-defined and continuous gradient (almost) everywhere that can be computed quite cheaply.
  • Simplex noise is easy to implement in hardware.
Wikipedia

Specular: is a map texture that defines how shiny something should be. Generally this trait is expressed either with this quality, or with the Metallic map depending upon what type of shader is being used.
Understnding the Difference between Texture Maps

Sort: this is the process of taking a mass of data and organizing it into a specific order. This can be ascending, or descending numbers, alphabetical, etc. The process of putting something into a specific order is known as sorting.
Wikipedia

Sprite: is a 2D object. In Unity by default they use an unlit shader, which means it does not pay attention to lights. Yet it is important to realize there have been no ordinary 2D environments for quite some time. Even your 2D applications, windows, and games are really 3D. The difference is they put a plane built out of two triangles up that covers the entire screen and you are simply altering the texture that is on that plane. Once you realize this it becomes apparent that if there was no sprite system in Unity or your Game Engine then it is very likely you can make your own. If you make your own you can use whatever shaders you want and you could make sprites that used many types of maps and were responsible to lighting and other Physically Based Rendering features.
Wikipedia | Unity - Sprite

Texture: is an image built out of pixels of different colors. Every texture has a resolution. This can be considered similar to a piece of paper. How many dots (pixels) wide is the paper, and how many dots (pixels) tall is the paper.
Wikipedia

Texture Atlas: is a technique of taking many textures and putting them on a single picture. A 3D objects UVs tell it where on a texture it is to pull information from. Due to this it is possible to put the textures for a lot of different objects onto a single texture. Why would we do this? It is an optimization call. If objects share the same material and texture a video card can process them in a single pass. This can dramatically improve performance if you can convert a lot of objects to share a texture atlas.
Wikipedia

Triangles: are the smallest unit that the 3D video card uses to determine how to draw an object. You could place a single triangle on the screen if you wanted to. The more common occurrence is two triangles forming a plane.
Wikipedia - about triangles not specifically the computer 3D version | Wikipedia - Triangle Mesh

Tris: see triangles.

UE4: also known as Unreal Engine 4 is one of the best engines on the market. It has been a top engine for a very long time. It also used to be incredibly expensive to get a license to it. Unity rushed into this market with a free engine (until you make $100,000) and the market for all other engines began to decline. UE4, Cryengine, and others going free is an example of the free market working. They had to change in order to compete and it has proven very beneficial to those of us who want to make games. UE4 is a great engine. They provide source code access. It is FREE except it does take 5% royalties on anything you sell making it. It has been around a long time so you can make some truly beautiful looking things with it. It's Visual Scripting is the best in the business.
Wikipedia | UE4 Official Site

UI: see user interface.

Unity: is the engine that I am most adept with and that lead to all of these other engines either going free instead of costing $100,000+ per license, or going very inexpensive. It is why the market has been flooded with games, both good and bad. It is a powerful engine that can target a staggering number of platforms. It is pretty competitive in all areas. There are some areas where UE4 or Cryengine may squeak ahead and other areas where those engines are behind. Overall, for us the consumer this competition between engine makers is good for us. (The free version works great... it's what I use.)
Wikipedia | Unity - Official Page | Unity Download Page

Unreal: see UE4.

User Interface: this is how a human being uses a computer. DO they type, do they click, do they speak, do they swipe on a screen.
Wikipedia

UV: is a form of mapping that tells a video card how a texture should be mapped onto a 3D surface. The UV map tells what part of texture maps to what triangle.
Wikipedia

Vertices: is a point at the edge of a triangle. A triangle has 3 points and there are lines drawn between each point. Those 3 points are vertices. They will sometimes just be called a Vertex.
Wikipedia | Mathisfun.com

Verts: see Vertices.

Visual Scripting: is a method where instead of using lines of code you place objects on a layout and connect wires to them and designate what you want those connections to do. This is a lot easier for people with less programming experience to do. In many cases it is also faster even for those who do know how to program. If you are using UE4 it's visual scripting system is so powerful you can likely build an entire game out of it. Once you get into specific high performance needs or things not in the visual scripting then your only recourse is to fall back to the typical programming/scripting.
Wikipedia | UE4 - Blueprints Visual Scripting | Unity - Playmaker

Voxel: is a volumetric pixel. The idea here is that you break the world up into a grid of three dimensional spaces. Just like a pixel these spaces are uniform in size. Unlike a pixel you can put whatever you want to represent a state of that pixel into that spot as long as it fits within the space defined as one voxel. Usually there are very definite ways that this takes form (it can be 2D square regions too), but it should be noted that for all intents and purposes even a tile system where all tiles were the same uniform size could be technically considered a voxel. That is not the popular interpretation of them though. They either end up being cubes like Minecraft, or they end up being more complex shapes using Marching Cubes, Marching Tetrahedrons, or other.
Wikipedia | Voxelfarm - for extreme examples of voxel possibilities

WAV: is an uncompressed audio file. It takes up the most space, but it is lossless.
Wikipedia


Image Source/Credit


All images came from screenshot captures, images from the official site referenced in one of the hyperlinks below the particular glossary entry, or were made by me.

Conclusion


This concludes the glossary. This took quite a bit of time to put together. I thought it would be something useful to reference in other tutorials, and other people might find some benefit in referencing it as well. Some people may like it enough to consider it bookmark worthy. It actually took me most of today to make this post. I will possibly end up referencing back to this post quite a bit myself.

If you like this please consider voting for it. This may be the only post of its kind on the internet.

Happy developing.... Steem on!

Coin Marketplace

STEEM 0.28
TRX 0.13
JST 0.032
BTC 60906.91
ETH 2920.56
USDT 1.00
SBD 3.69