Glossary of Gaming, Game Development, and Game Design Terms (Part 1 of 2 - Albedo to Mesh)

in #glossary8 years ago (edited)

Perhaps you would love to look at some of the game design articles people like myself and others write on Unity, but you quickly become turned off by the fact we take for granted you know what certain words mean.

I apologize. I do take that for granted and I realize I was limiting potential audience by doing this.

My tutorials will not always be intended for the beginner, though some of them like the Turing Test will at least start out with things that likely can be tackled by a beginner in everything except programming.

I decided making a glossary of the terms I can think of now that I am familiar with and use fairly often. I will likely leave some out. This may have terms that are useful to even experienced people, and it will certainly be missing many terms I either did not think to include, or perhaps I didn't know those terms either.

Layout of the Glossary


There will be several different ways that a word or phrase might appear in this glossary.

Word or phrase: information about the word. References to other words or phrases that are also in the glossary. So if you see a word italicized it means somewhere in this blog entry that word also has its own entry.
Links to relevant web pages, or other content about this word for those who want to know more.

Word or phrase: followed by an italicized word or phrase. When a word is bold and italicized that is intended to mean that there is already an explanation in the glossary for this word. What word or phrase you should look for will appear as the italicized word accompanying this glossary entry.

Glossary


Albedo: in game design some shaders use a texture map called albedo. This is simply the plain color portion of the image. It is usually an RGB or RGBA image. If a game is going to have much more than simply shaded solid color objects then they will at the very least use what is essentially an albedo texture. The name for this texture is also called Diffuse in many cases. If you are using a simple Sprite system the sprites are essentially made 100% of albedo/diffuse textures. This is the most common type of texture you will encounter.
Marmoset explanation of PBR

Alpha: The alpha in game design refers to what is known as the alpha channel on a texture. See RGBA for some more texture specific details. Most often this channel is used to indicate how transparent a texture should be. This completely depends upon the shader that is being used to draw the textures. The alpha channel can be used for many other things by the shader. It depends upon how the shader is designed. The alpha channel is sometimes used to perform some rather complex tasks that have nothing to do with transparency. It is important to note that in the majority of cases when someone is speaking of alpha they will be referring to how transparent/opaque and object it. The opacity of a texture is usually stored in the alpha channel.
Wikipedia | Adobe Photoshop Tutorial

Amazon Lumeryard: this is a new game engine being designed by Amazon and completely integrating with their cloud system. It is a free game engine that is being driven by the Cryengine game engine. It is billed as a free AAA game engine.
Official Page

Ambient Occlusion: see occlusion map.

Array: an array is a collection of information. It is almost always a collection of the same type of information. When discussing game development you can generally assume this is the case. In some programming languages it does not need to be as rigid. If I have an array of 5 dogs then it would be an array 5 in length. Each slot might be able to contain a representation for a different type of dog. This is a very powerful data type in programming and will be used in a lot of cases.

Asset: in game development these days this refers to something you can add to your game project and just use. It will reduce your load time. It can be assets you created yourself for use across multiple games, or it could be assets you purchased or acquired for free from places like the Unity or UE4 asset stores. This can be models, textures, shaders, sounds, and many more types of things. The idea with assets is they save you time so you can spend more time building your games and less time making the things you need in order to build your game.
Unit Asset Store | UE4 Asset Store | Cryengine Asset Store | Game Maker Studio Store | RPGMaker Store | Amazon Lumberyard

Binary: is the method that current computers use to store numbers as either 0 or 1. That means technically every piece of information in a post is stored as essentially an array of many collections of zeros and ones. In game development it can mean this, but it also can reference a few other things. If a file is binary then it is considered to be more than just simple text. Usually any type of file other than text files will be binary in format. There can also be references to binary trees. The amount of different ways this can be used is extensive. If you want to know far more then look at the wikipedia link below.
Wikipedia | Binary File example | Binary Tree Example

Blender: is an open source free 3D Modeling that is quite powerful. This has quickly become the defacto standard for people that wish to have a free tool with good support for making 3D Models, Movies, etc. This program is so well maintained that it is always nipping at the heals of the big guys and programs like Maya, Z-Brush, 3D Studio Max, etc. Those programs can all do some things better, perhaps many things. They are also quite expensive. My team uses Blender for modeling, some Z-Brush for details, and Substance Painter and Adobe Photoshop for texturing.
Blender EDIT: One community member suggested BDX as a java game engine plugin for Blender. Thank you @djleo.

Bones: bones refer to aspects within a 3D Model that define points of movement. Depending upon the amount of detail and the format used by the bones they can include a lot of extra detail. Bones are used to animate a model. A model that has bones is also known as a rigged model. This means it is ready to animate. If you decide to do 3D modeling yourself you will want to become familiar with adding bones and/or rigging your models.
Blender: Noob to Pro/Bones | Unity - Preparing your own character | UE4 - FBX Skeletal Mesh Pipeline

Boolean: is a logical value. It means a data type that stores TRUE or FALSE. This is similar to binary in that there are two values. The difference is it is only meant to store whether something is true or false. There are some details about the implementation. Depending on the language being used it may be using far more than a single bit (0 or 1) in order to store what effectively only needs a 0 or 1. This can be for speed reasons, or it could be for extended functionality to the boolean data type in that programming language. When you hear the term the important thing to remember is that it is referring to a true or false value.

Bump Map: see Normal Map.

CC0: stands for Creative Commons 0. This is also known as Public Domain. When someone creates something and releases it out in the world that means you can use it however you want with no restrictions. You do not need a license to do anything with this art, sound, etc. This is the meaning of no strings attached. If you find such assets you don't have to worry about researching license restrictions or requirements.
Learn more from creativecommons.org

Channel: is usually referring to a channel in a texture. Depending on the format this could be a Red, Green, or Blue color channel as found in RGB or it might also include the Alpha channel as found in RGBA. There are other image formats that have different formats. Another popular one is CMYK which stands for Cyan, Magenta, Yellow, and black. You are not likely to use this in game development. This format is much more popular in pre-press like environments and where you plan to print something out with physical ink like a book, magazine, brochure, or poster. CMYK essentially indicates what types of ink colors are needed to reproduce the image.
Wikipedia | CMYK

CLI: see Command Line Interface.

Code: is usually a term to refer to a program, or script. It can be used to describe either type. Programming and Scripting use similar very similar skills, and in reality the boundaries between them are starting to blur. Each will be explained for what they tend to mean if you consider the boundaries still there in each of their glossary entry sections.

Coding: the act of creating code. See code.

Collider: this is an item that exists within game engines. It should be viewed as the boundaries that when something touches another something a collision is considered to happen. If it were compared to your body then your skin with its nerves would be your bodies collider. This is simplifying the human body much more than in reality, but it works in this case. In game design you often want to use tricks. These tricks are often referred to as optimization. In colliders it can be as simple as finding the simplest shape you can get away with using and still have your game work the way you want. While a body is detailed and making a collider that conforms to the shape of the body would take a lot of tris you might be able to get away with using a simple box or capsule shaped collider and reduce the tris required by the collider. Even though the collider is NOT visually represented on the screen when you play, it is still there just like any 3D model and is used by that engines physics or collision system.

Command Line Interface: The old school technique of typing commands into a text line and having the computer or game react to what you typed. It did not have anything to do with mouse, icons, etc. These days sometimes a CLI can be interacted with technically using a mouse. Does that mean it is still a CLI, or has it in fact become a GUI?
Zork as a game example using CLI

Controller: has many meanings in terms of gaming. These days when it is said it is usually referring to a GamePad like that which comes with a Playstation, XBox, Nintendo, or Steam Console. In reality controller is just another name for an input device. Keyboard, Mouse, Light Pen, Touch Screen, Joystick, Gamepad, WII Mote, VR Headset, Wand, and microphone can all be forms of Controllers.

CPU: is the Central Processing Unity. It is the workhorse of your computer. It is plugged into the motherboard and uses the motherboard like a highway to reach out to all other parts of the computer. It is very much like the brain of the computer. It can be fast, the faster the better. When it comes to many things modern day GPUs are much faster.
Wikipedia

Cryengine: is a AAA game engine that has also gone free after Unity began to challenge all the longstanding game engines. Cryengine by Crytek has been around for numerous years and has been used in titles like Far Cry, Crysis, Star Citizen, and many more. It was licensed by Amazon and the Amazon Lumberyard is running on a modified version of the Cryengine made by Amazon. From the game developers perspective it is a very powerful engine with some compelling features. It is still lacking in some areas. It does not have the communal base, or asset store/market support on the level of Unity, or UE4. With Lumberyard becoming a factor that could quickly change in the future, so it is certainly worth keeping an eye on developments with Cryengine and Lumberyard. ("NO ROYALTIES, NO OBLIGATIONS")
Wikipedia | Cryengine

Diffuse: see albedo.

Edge is the side of a triangle between two vertices.
mathisfun.com

Emission Map: is also sometimes called an emission map. It is a texture designed to be used by a shader in such a way that it indicates the glowing, or parts of the texture that should be acting as though they are emitting their own source of light.
Unity example - useful for understanding the concept even if not using this engine.

Face: is an individual surface of a 3D object. It is composed of vertices and edges.
mathisfun.com

FBX: is the FilmBoX style of storing 3D models in a file. It was developed by Kaydara and owned by Autodesk since 2006. It is one of the most common formats used to create 3D model assets for game engines. It is supported by both Unity and UE4 and it can contain the model, the bones, and animations, materials, and more all in a single file. If you do not need to animate something the OBJ format is more efficient. If you are making an animated object, or an object you intend to animate then you should strongly consider the FBX format unless the engine you are working with does not like it.
Wikipedia

GameMaker Studio: is another game engine that has been around for a very long time(1999). There are many games that have gone to market with this tool. This has always seemed like an indie engine before the term indie had really been in use. It started out simple and kept adding features over the years. Some games that have been produced using this engine are: Spelunky, Gunpoint, Hotline Miami, Undertale and many more.
Wikipedia | GameMaker: Studio

GameObject: is something I will reference in my tutorials frequently as I tend to use Unity at the moment though personally I am engine agnostic (will use whatever tool works the best for me at the time). In Unity every thing that is active in a scene is a gameobject.
Page on GameObject in Unity Documentation

Garbage Collection: is a concept referring to how your program will clean up the memory it uses. In the past and even to this day when you would code a game you might need a chunk of RAM memory (the fast stuff) and you were responsible for telling the computer when you did this. If there was a bug, or you were sloppy, sometimes the memory was not freed up and this was known as Memory Leakage. It still happens today. Many new programming languages environments came out with a concept known as garbage collection. The language will attempt to keep track of when something using memory is active or not active. Garbage Collection refers to a process where the virtual environment running the program will occasionally look at things that it has needed memory for and will if possible tell the computer when the memory is free to use. That is the simple level. It actually does some neater things than this. It will also attempt to compact and defragment usage. In a sense you could imagine a a row of seats that can seat 10 people in a theater. In that row of 10 seats we have people in groups A,B,C, and D sitting in it. We will consider X to represent an empty seat. When the seats are full it looks like this AAABCCDDDX. Let is say that both B and C groups decide to move. Now the seats look like AAAXXXDDDX. What garbage collection would do is realize that there is a spot that could sit up to 3 people, and a spot that could fit 1 person. If it were not fragmented it could sit 10 people. So it does this: AAADDDXXXX and now there is a slot big enough for 4 people.
This is a complex and ever growing and improving field. If you want to know more about garbage collection of the computer variety here are a few links to get you started.
Wikipedia | Mono | Fundamentals of Garbage Collection - MSDN - Microsoft

GC: see Garbage Collection.

GODOT: is a free open source 2D and 2D game engine I just was informed about by someone here on steemit a week or two ago. It is a project headed up by MIT and is under the MIT License. It is still in it's infancy, but is worth keeping an eye on.
GODOT Engine

GPU: is a graphics processing unit. It is to your graphics card what the CPU is to the rest of your computer. There was a time that this was called a Graphic Co-Processor, but they have involved way beyond that. There are some things that the GPU is so much better at than the CPU. The engineers that designed them have made it immensely skilled at certain types of math. Some new code is often written to be ran on the GPU for math purposes instead of on the CPU, because the GPU is so much faster at most math. This includes non-game things such as mining crypto-currencies using GPU rather than CPU.
Wikipedia

Graphical User Interface: is something we all take for granted now, yet there was a time not so long ago in history that this invention was a major paradigm shift. Instead of typing into a CLI on the keyboard, the concept of icons, menus, windows, and mouse driven interaction appeared. It came from Xerox Parc, and appeared on early Mac and Lisa from Apple, as well as early Windows that was stolen by Microsoft when Bill Gates saw the Apple products. There were also products on the Commodore 64 that did this but, those are largely not mentioned in the history of the creation of the GUI. GEOS was a C64 project that was (Graphic Environment Operating System).
GUI Wikipedia | Xerox Parc [1973] | Apple Lisa[1983] | Microsoft[1985] | C64 Geos [1986]

GUI: see Graphical User Interface.

Height Map: There are two ways that a height map is referenced in game development. One is as a synonym for the term Parallax Map which refers to another map used by specialty shaders to essentially extend the extreme detail potentials of the Normal Map. However, there is another type of height map in gaming that has nothing to do with the shader. A height map that is typically a grayscale image that is topographical height data and is used to generate a 3D mesh from the height data stored in the texture.
Wikipedia

Height Map: In some cases this refers to Parallax Map.

IK: see inverse kinematics.

Illumination Map: See emission map.

Inverse Kinematics: is used in robotics and gaming. It uses the bones in a model combined with the action it is seeking to do and uses equations to determine how that should impact all of the bones. This can be as simple as determining how to reach out and turn a door nob without having a specific animation for that. It is also popular for determining proper foot placement on varied terrain.

Kinematics: is a classical field of study involving the study of motion. In games it is typically used in animation to determine how something should be animated. The Invers Kinematics also known as IK can be very important in game development depending on how life like and precise you want your animations to appear.
Wikipedia

Leadwerks: is another game engine out there. It is not free, but it is very low cost and games you make with it have no royalties or other restrictions. I acquired it from the Steam platform during a sale.
Leadwerks

Level: in game design a level typically refers to an area where you run around. In many games this might encompass the entire map that you run through. In really big open world games it might instead encompass certain regions of the outside map, and the individual interior regions. Perhaps the interior of the Jarl's Hall would be considered a level, and outside in the town/city surrounding that level might be another. What constitutes a level really is up to the discretion of the team making a game and how they have laid out their design document. It is really easy to think of this in terms of like a Counter Strike map, Unreal Tournament map, etc. All of those things the entire map would be a level. There is also the other gaming term of "Leveling up" that still applies, but is typically not what developers are referring to when they are discussing levels between themselves. In comparing it to Unity a Level could be the same thing as a scene, though there are exceptions to all of these possibilities.
Wiki - Level Design

License: in the gaming world refers to how you are allowed to do something, how much it costs to be able to do that, what kind of restrictions are on you, and do you have to pay royalties. It is important to know what license requirements there are on the engines, and with any assets you plan to use.
I went into a little more depth on some types of licensing with regards to assets in this tutorial.

Light: is very important to game design. If you are using unlit shaders it may not matter what lights are, however if you are making something 3D or something that should respond to lights then lighting and lights become one of the most important things there are. It is important to understand what type of lighting you are using, what restriction there may be on that type of lighting, how to optimize your game for better performance, and what to avoid so you don't have performance issues in the first place. Then there is the importance of how you setup your lights can totally make or break a good visual.
BNG - Introduction to Lighting in Games | Gamasutra - Lighting design fundamentals: How and where to use colored light

List: in game design is referring to a list data. It is similar to an array but it can shrink and grow as needed. If you delete a list member out of the middle of the list the list does not have a blank spot, it instead treats it as though it were never there. The same action with an array would leave blank spots. Lists can be very useful in many cases and you will see me make reference to them in many of my tutorials. They also have the names Linked List. Different algorithmic structures can be developed using lists as well such as Stacks, and Queues.
Wikipedia | C# MSDN

Lumberyard: see Amazon Lumberyard.

Map: in some cases a developer may be referring to a level, but it can often refer to a different texture map used on a material and by a specific shader. Examples of maps are: Normal Map, Parallax Map, Emission Map, Occlusion Map, Specular Map, and others.

Material: a material is essentially a shader combined with the appropriate textures. These two things combined give a video card and rendering process something it can actually work with. This is how I use it. It can mean almost the same thing as shader or it can be slightly different depending upon which engine you use. The end result though usually does still essentially mean how to apply and manipulate the textures on a 3D object.
Official Unity Tutorial - Materials | Unreal - Physically Based Materials

Mesh: is the triangles, normals, and vertices that make up a 3D model. They also will have the UV coordinates which tell it how to attach a texture to the model when there is a material combined.

Conclusion


It told me my post was too big. The second half will be posted shortly after this one.

NOTE: Source information for images is explained in the second post. I did this all as a single post, but it told me it was too large so I split it in half. That means my notes about credit are in the second post.

PART TWO IS AVAILABLE HERE.

Sort:  

If you are already using Blender, you may also be interested in BDX - a Java API for making games in Blender (it's a Blender plugin).

I'm busy learning Godot at the moment. Planning on doing a tutorial on here when I get good enough.

I looked at the Blender Game Engine years ago, I don't know if that is the same as BDX. Wasn't quite my thing. I also am not a fan of Java anymore and only use it if I have to. As a scripting language it might work well, but I've had to support a lot of Java apps that were not games and over time that has made me not a fan of Java. :) I'd use it if that was what I needed to learn.

I still appreciate your comment though, as I didn't make this just for me. So some people might truly benefit from knowing about BDX so thank you for sharing it.

I edited the main blog entry and added your recommendation to the Blender section.

Thanks a lot!

Coin Marketplace

STEEM 0.18
TRX 0.13
JST 0.029
BTC 58225.92
ETH 3120.30
USDT 1.00
SBD 2.50