Podcast
Questions and Answers
What is the primary use of the Vector3 class in game development?
What is the primary use of the Vector3 class in game development?
What is the purpose of using Time.deltaTime in the Update() method?
What is the purpose of using Time.deltaTime in the Update() method?
What does the GameObject.Destroy() method do when called with a time parameter?
What does the GameObject.Destroy() method do when called with a time parameter?
Which of the following statements about the Game architecture is true?
Which of the following statements about the Game architecture is true?
Signup and view all the answers
What feature does the Input.GetButton() function provide in game development?
What feature does the Input.GetButton() function provide in game development?
Signup and view all the answers
What is a key characteristic of the flow experience a player should achieve?
What is a key characteristic of the flow experience a player should achieve?
Signup and view all the answers
Which of the following is NOT an attribute of flow?
Which of the following is NOT an attribute of flow?
Signup and view all the answers
How does a game typically teach players its rules?
How does a game typically teach players its rules?
Signup and view all the answers
What balance is necessary for flow to occur according to the content?
What balance is necessary for flow to occur according to the content?
Signup and view all the answers
Which condition is necessary for flow to occur?
Which condition is necessary for flow to occur?
Signup and view all the answers
What does a player experience when they are fully immersed in flow?
What does a player experience when they are fully immersed in flow?
Signup and view all the answers
What is one of the roles of game mechanics?
What is one of the roles of game mechanics?
Signup and view all the answers
Which situation leads to a loss of the sense of self?
Which situation leads to a loss of the sense of self?
Signup and view all the answers
What is one of the main functions of game mechanics?
What is one of the main functions of game mechanics?
Signup and view all the answers
Which type of problem in games can be considered optional?
Which type of problem in games can be considered optional?
Signup and view all the answers
What happens if a problem in a game has a single solution?
What happens if a problem in a game has a single solution?
Signup and view all the answers
In terms of risk and reward, how should risk be structured?
In terms of risk and reward, how should risk be structured?
Signup and view all the answers
Which of the following best defines core mechanics in a game?
Which of the following best defines core mechanics in a game?
Signup and view all the answers
What defines meta mechanics in gaming?
What defines meta mechanics in gaming?
Signup and view all the answers
What types of challenges can players face in a game?
What types of challenges can players face in a game?
Signup and view all the answers
What is a consequence of actions taken by players in games?
What is a consequence of actions taken by players in games?
Signup and view all the answers
Which platform has exclusive access to its store for game purchases?
Which platform has exclusive access to its store for game purchases?
Signup and view all the answers
What is the revenue cut percentage taken by the Epic Games Store?
What is the revenue cut percentage taken by the Epic Games Store?
Signup and view all the answers
Which of the following platforms is non-exclusive for app purchases?
Which of the following platforms is non-exclusive for app purchases?
Signup and view all the answers
Which genre does not fall under the action category?
Which genre does not fall under the action category?
Signup and view all the answers
What is the typical revenue cut percentage for the Apple App Store?
What is the typical revenue cut percentage for the Apple App Store?
Signup and view all the answers
Which of the following player modes is characterized by a direct competition between players?
Which of the following player modes is characterized by a direct competition between players?
Signup and view all the answers
Which mobile platform is known to have substantial restrictions on app stores, as of 2024?
Which mobile platform is known to have substantial restrictions on app stores, as of 2024?
Signup and view all the answers
What is a new emerging genre mentioned that combines features of existing games?
What is a new emerging genre mentioned that combines features of existing games?
Signup and view all the answers
What does a higher weight on an edge in path-finding signify?
What does a higher weight on an edge in path-finding signify?
Signup and view all the answers
What is the primary function of a navigation mesh (navmesh)?
What is the primary function of a navigation mesh (navmesh)?
Signup and view all the answers
Which statement is true regarding A* path-finding?
Which statement is true regarding A* path-finding?
Signup and view all the answers
What additional capability does Unity provide for path-finding?
What additional capability does Unity provide for path-finding?
Signup and view all the answers
What is a common aspect of mobile games?
What is a common aspect of mobile games?
Signup and view all the answers
What is a potential challenge of developing multi-platform games?
What is a potential challenge of developing multi-platform games?
Signup and view all the answers
What kind of agents can the ML Agents package in Unity support?
What kind of agents can the ML Agents package in Unity support?
Signup and view all the answers
How are weights for different types of agents represented in path-finding?
How are weights for different types of agents represented in path-finding?
Signup and view all the answers
Which method is NOT a way to implement AI in Unity?
Which method is NOT a way to implement AI in Unity?
Signup and view all the answers
Which is an advantage of writing your own AI in Unity?
Which is an advantage of writing your own AI in Unity?
Signup and view all the answers
What is the primary function of game logic in a game?
What is the primary function of game logic in a game?
Signup and view all the answers
Which method is used to efficiently find game objects in Unity?
Which method is used to efficiently find game objects in Unity?
Signup and view all the answers
In Unity's Scene Graph Hierarchy, what should you avoid according to best practices?
In Unity's Scene Graph Hierarchy, what should you avoid according to best practices?
Signup and view all the answers
What does the Entity-Component-System (ECS) design pattern emphasize?
What does the Entity-Component-System (ECS) design pattern emphasize?
Signup and view all the answers
What is DOTS in Unity?
What is DOTS in Unity?
Signup and view all the answers
What problem can arise with unrealistic physics in games?
What problem can arise with unrealistic physics in games?
Signup and view all the answers
What is the role of the Event Manager in a game's architecture?
What is the role of the Event Manager in a game's architecture?
Signup and view all the answers
Which component is responsible for playing audio in Unity?
Which component is responsible for playing audio in Unity?
Signup and view all the answers
What does the Command Interpreter do in a game?
What does the Command Interpreter do in a game?
Signup and view all the answers
How does the graphics display handle rendering efficiently?
How does the graphics display handle rendering efficiently?
Signup and view all the answers
What is the main advantage of using GameObjects in Unity?
What is the main advantage of using GameObjects in Unity?
Signup and view all the answers
What limits the components of User Interface (UI) in Unity?
What limits the components of User Interface (UI) in Unity?
Signup and view all the answers
What is one disadvantage of complex 3D scenes in Unity?
What is one disadvantage of complex 3D scenes in Unity?
Signup and view all the answers
What aspect must be considered for audio in a 3D game environment?
What aspect must be considered for audio in a 3D game environment?
Signup and view all the answers
Study Notes
Game Design Basics
- Game design determines what will be and won't be in the game, dictating the overall player experience and ensuring player engagement.
- It always works within difficult constraints.
- A game designer must communicate the project vision to the whole team, explaining every detail.
- They create game mechanics, story, setting, and narrative while ensuring balance.
- A game designer acts as the player's advocate.
Player-centric approach
- Understanding the player's desires and needs is crucial.
- Determining how the game will affect the player.
- What value is provided to the player?
Create experiences, not mechanics
- Focus on the player's experience over game mechanics.
- Every design decision should contribute to an enjoyable experience.
Player Motivation
- People play games for various reasons, such as starting a game, keeping playing, and returning the next day.
- Motivation changes over time and in response to gameplay.
- Exercise: Evaluate what motivates you in a game and what made you stop playing it.
Gamer Motivation Model
- A model categorizing player motivations.
- This model groups player motivation into action, social, mastery, achievement, immersion, and creativity.
- Example motivations include destruction, competition, challenge, completion, fantasy, and discovery.
Deliberate Game Design
- Every element of the game needs a purpose.
- How fulfillments change with other changes need to be considered.
- Re-evaluate existing purposes and don't add anything to the game if the team can't justify why it needs to be included.
- Note that this may conflict with designer wishes.
Judging an idea
- A framework for evaluating ideas while recognizing unknowns.
- The framework suggests quick experimentation then follow up with further action or rejection.
Game Design is Communication
- Informing the player regarding how a game will be presented.
- Keeping a consistent Game Design Document (GDD), providing clarity and reminding the team of the purpose.
- Ensuring two teams working on the same GDD create practically identical games.
- Understanding what the customer will value in the game and how to market it effectively.
Game Design is Iterative
- A cyclical approach, alternating between learning, data collection, idea generation, and building and testing.
- Important for iteratively refining/improving the game (Build-Measure-Learn).
Minimalism
- Designer responsibility for keeping ideas/game implementations to a minimum to improve development speed and team satisfaction.
- Removing unnecessary elements has benefits for both game quality and team morale.
Kill Ideas Quickly
- The need to effectively eliminate unwanted project components.
- Prioritize concepts/game components that improve the game and remove/reject unnecessary ones.
Every Game Developer is a Game Designer
- Every game developer should consider themselves somewhat a game designer.
- This implies that they should have some basic awareness and interest in the core design aspects of the project.
- It's important for everyone within the game production to be knowledgeable in the basics of game design.
You will copy a lot
- Game design involves research based on the development of prior games; often design ideas are not completely original and new.
- It is key that the project team understands that game design involves a significant amount of established prior work.
It's Analysis & Research
- Understanding, researching, and evaluating existing games for potential benefits.
- Assessing and evaluating existing games to better understand their successes/failures.
Player should get into flow
- Flow, in the context of games, is a positive state of being a player where the experience takes precedence over other stimuli.
- This condition is characterized by energized focus, full involvement, and enjoyment in activities.
Flow Attributes
- Clear Goals.
- Balance between challenge and ability.
- Immediate feedback during game action.
- Feeling in control of the game situation.
- Full concentration on the task at hand with no distractions.
- Your consciousness becomes the thing you do.
Flow conditions
- Knowing what to do, how to do it.
- High perceived challenges, high perceived skills.
- Freedom from distractions.
Game Mechanics
- Rules determining outcomes within the game environment.
- Not all game rules need to be explicitly stated and some actions are known by the players as they progress through the game.
- Digital games often have systems that enforce valid actions and specify outcomes from invalid actions, creating clear rules of play.
Games are problem-solving activities
- Games provide challenges and their mechanics provide tools to overcome these challenges.
- Games provide various sorts of challenges, including physical and mental.
- Considering the overall game as a problem to solve can give a player motivation to continue playing.
Problems & Tools
- Providing the player with problems to overcome and the tools with which to do so.
- Problems/challenges in games need to be more diverse.
- Providing the player multiple tools to overcome problems/challenges in the game.
Risk & Reward
- Actions in games often involve risk, which should be proportional to the potential reward.
- Balancing risk to reward is key to creating interesting and engaging gameplay.
Game Mechanics Classification
- Describing game mechanics in greater detail.
- Categorizing game mechanics into core mechanics and meta mechanics gives insight into the structure of games.
- Core mechanics relate to repeating actions that largely affect the game.
- Meta mechanics are wrapped around and often support core game mechanics, but they aren't as frequently interacted with by the end user.
Core + Meta Mechanics
- Core mechanics describe the fundamental game actions that the player repeatedly interacts with (a high frequency of interaction).
- Meta mechanics surround core mechanics, connecting them together to shape the overall gameplay design (a lower frequency of interaction).
5 Types of Mechanics
- Categorizes core mechanics into Physics, Economy, Progression, Tactical Maneuvering, and Social Interaction.
- Understanding different mechanics types across various categories of gameplay can benefit understanding the structure of various existing games.
Simulation, Management, Adventure, Puzzle, and Social Games
- Broad categorization of game mechanics with similar characteristics.
- Understanding these broad categories of gameplay allows one to further narrow down or assess various game architectures.
Games are about doing the same thing over and over again
- The repetitive nature of games is an important aspect of game design.
Core (Game) Loop
- Describing the sequence of actions repeated in a game to define the core gameplay of the game.
- The game loop is important and needs to be clearly defined, since the player will go through this loop.
Core Game Loop - Overwatch
- Describing the standard game loop for the competitive game Overwatch in more detail.
- Outlining each stage in the game loop with connections.
Overwatch Core Vs Meta
- Illustrates how “core gameplay” is contained distinctly within the “meta gameplay” part of a larger game.
Game Design step-by-step guide
- A stepwise approach to planning game design detailing each needed step while creating the game.
- The designer must define how all these elements fit together to fulfill the designer's and the team's end goals regarding the game.
Game Design knowledge + skills
- Summarization of necessary knowledge/skills of a game designer.
- Designer creativity/communication is vitally important, but so are soft skills, introspection and the ability to take criticism.
- In addition, the knowledge of game play of a diverse range of games is very helpful for the designer to generate innovative ideas.
Game Design Specializations
- Categorizes game design into System, Level/World, Economy, Monetization, and Narrative Design.
- All these can be further analyzed to shape a better game design strategy.
Game Documentation
- Provides a summary of document types used in games
- Illustrates the needed documents for game design and their interactions with development.
- Including an example diagram giving insight into how these interact.
Pitch Deck (or Concept Doc)
- Details about a presentation used in game development showing the game's goal and purpose.
- The presentation format conveys game purpose/viability and assists with pitching the concept to management/investors/etc.
Pitch Deck contents
- Outline of the contents of a pitch deck for a game, including premise, player motivation, unique selling points, Target Market, competitor analysis, budget, scope, timeline, and revenue projections, and license information.
- Including this information aids in the effective presentation of the pitch to others.
Game Design Document (GDD)
- Discusses the importance of a game design document (GDD) that is similar to a hardware requirements specification document.
- Describes the use of various components and detailed description of features and gameplay.
GDD forms
- Discusses various platforms used for creation of a GDD, such as Google Docs/Notion, Wiki, or Miro.
- Provides pros and cons of each GDD platform, considering different needs for each.
GDD Structure
- Outlines required elements for a well-defined Game Design Document (GDD) describing needed elements.
Core game loop
- Describes a simplified loop in a game to explain what actions/events happen and their relationship to each stage of the loop.
2D Camera
- Summarizes different camera types used in games from a gameplay perspective, such as side-scroller, isometric, or top-down.
3D Camera
- Summarizes different camera types used in 3D games, such as 1st person, 3rd person, or top-down.
Controls
-Describes the user input methods used by different platforms in game design and development. -Includes a description of examples using consoles or touchpads for controlling a game.
Characters
- Provides information on different character design styles.
- Differentiates between single-character and multiple-character, as well as character commander-types of gameplay.
Characters
- Describes customizable character designs, including specific/customizable and character attributes including visuals and stats.
Uls
- Provides a visual/interactive overview of the user interface flow (screen-flow) when navigating different game interfaces.
1 Picture > 1000 words
- Emphasizes the importance of visual representation in design and understanding games (a visual is often worth a thousand words).
Art Design Document (ADD)
- Outlines information needed to describe the art used in a game.
- Includes categories of art style, mood boards, palettes, 2D/3D assets, animation techniques, software, workflows, and limitations.
- Importance of these elements to define the "look" and "feel" of a game.
Technical Design Document (TDD)
- Describes essential information regarding technological and hardware aspects of a game's production.
Production Plan
- Outlines a game's production plan, detailing team allocation, task estimates, deadlines for shipping, marketing strategies, and post-launch plans including DLCs and LiveOps.
Game Development Stages
- Illustrates a summary of standard game development stages (like concept, design, implementation, testing, and deployment) as a cyclical process.
- Outlines the tasks and responsibilities of developers during each phase.
Development phases
- Describes basic development steps from concept, prototypes, pre-production, production, Alpha, Beta, Gold, to post-production in greater detail.
Problem & Solutions
- Presents issues in game development and their potential solutions.
- Describes common challenges in game design and proposes potential solutions.
- Explains the potential advantages of iteration and flexibility against earlier, inflexible methods.
Introduction to Unity
- Describes Unity as a game engine used for game development in several different formats. – Outlines percentages for game usage, detailing its strengths both in free and premium versions.
Game Engines
- Provides an overview of several popular game engines/frameworks.
- Details popularity of each engine/framework by percentage as of 2022.
- Describes that several additional engines/frameworks are also available.
Unity
- Describes the technical and licensing aspects of Unity, including cost, accessibility, and platforms supported.
Unity Platforms
- Outlines relevant platforms and relevant versions for use with Unity.
Unreal
- Describes the technical and licensing aspects of Unreal, including cost, accessibility and platforms supported.
Unreal Platforms
- Outlines relevant platforms and relevant versions for use with Unreal.
Godot
- Describes Godot as a free and open-source game engine.
Godot 4.3 Platforms
- Specifies the supported platforms.
Picking an engine
- Highlights the importance of license/pricing, support and features.
- Suggests which engines/frameworks are better suited to various games, depending on genre, intended platform, etc.
Why Unity
- Describes advantages of Unity including wide support, easier to learn than Unreal and better performance relative to Godot.
Recommendations
- Provides best practices for utilizing Unity and its tools for initial game project creation, use of LTS (Long Term Support) versions as a standard design practice.
Interface overview
- Provides an overview of standard elements of the interface that are used with Unity.
Basic Concepts
- Outlines some of the fundamental elements used in Unity for game object properties.
Scripting
- Presents some of the basic scripting concepts used in Unity.
- Discusses the use of certain functions such as GetComponents and input.GetKey().
Scripting (2)
- Discusses the use and function of specific Unity classes and scripting concepts.
Scripting (3)
- Outlines additional concepts including vectors and their use in Update and FixedUpdate function calls within Unity scripts.
Game and Engine Architecture
- Describes game architecture as a collection of layers to help facilitate understanding and implement game and engine architecture.
Game development is software development
- Game development is fundamentally software development, following established design patterns.
Game architecture
- Describes game architecture as encompassing all parts of a game, highlighting the importance of adhering to established standards.
Game architecture layers
- Describes the layer structure of a game using the analogy to TCP.
- Outlines several categories or layers that are used, such as Application, Game Logic, and Game View.
Game logic layer
- Describes the responsibilities of the game logic layer, including its interaction with other layers and its implementation of game mechanics.
Game view layer
- Describes the layer that presents game state related information (like visuals and audio) to the player.
- Outlines the characteristics and functionality of the game view layer, such as dealing with user input with game logic..
An example – racing game
- Presents an example of a racing game and its associated game logic, input, and output.
Racing Game – Human Game View
- Presents an example workflow of a game view in a racing game from a player's perspective.
Racing Game – Al Game View
- Presents an example workflow of game views in a racing game with an Al as a controller.
Game views
- Discusses various aspects of a game view and its flexibility in handling input and output, including a basic implementation of rendering and an example of how an AI interacts with game data.
Game views (2)
- Discusses advantages/disadvantages of various game views, such as 4:3 (smaller) vs 16:9 aspect ratios and how to handle player perspective issues.
Input devices and output devices
- Categorizes game input/output and how they affect the overall structure of the underlying game design.
Application layer
- Describes the application layer as the layer between hardware/software and gameplay.
Reading input
- Discusses game design regarding user input.
Reading input in Unity
- Describes how the Input System in Unity works, outlining differences between the "Old" and "New" models used within Unity and their differences.
File System and Resource Caching
- Explains the importance of efficiently managing game resources, considering the need for a resource cache to maintain a quick gameplay experience with minimal interruptions or lag.
Resource Loading in Unity
- Describes the different methods available in Unity for handling loading procedures of various game resources, describing available options like SceneManager.LoadScene and SceneManager.LoadSceneAsync or use of Addressables for fine-grained memory control during load procedures.
Resource Loading in Unity
- Describes actions regarding resource handling and their load procedure in greater detail.
Initialization, Main Loop, and Shutdown
- Describes the initial, continuous, and final stages of a game.
Simple game loop
- Outlines elements of a simplified game loop.
Game loop in Unity
- Describes the Update and FixedUpdate functions in Unity, describing their importance in the game loop and differences in use.
How Unity game loop looks (simplified)
- Shows simplified Unity game loop code example.
Unity's game loop simplified
- Outlines Unity's simplified game loop visually in diagram form.
Unity Update & FixedUpdate
- Discusses specific use cases for Update() or FixedUpdate() methods, detailing how these functions work relative to each other depending upon the type of game state being handled and the frequency of calculations required.
Unity Execution Order
- Explains the importance of understanding the order of events in Unity.
Other Application Layer Code
- Details various code or system functions useful in the application layer for games, such as systems handling time, strings, threads, or network communication.
Game Logic Layer - Authoritative
- Describes the function and various aspects of the Game Logic Layer, outlining it as an important layer in game architecture that contains elements needed to handle and manage game states regarding different game events, physics, and other game elements.
Game logic
- Describes the game logic, outlining its importance in game universe and how changes to game state happen.
Game state and data structures
- Outlines needed components for managing game objects to support game play, and how to deal with complex structures when navigating and managing updates to game state.
Scene Graph Hierarchy in Unity
- Outlines the structure of the scene graph hierarchy in Unity.
Game state and data structures
- Describes problems that may arise when dealing with game data and objects, as well as potential solutions and approaches.
Entity-Component-System (ECS)
- Outlines the principles and components of the Entity-Component-System (ECS) design pattern.
ECS in current Unity
- Explains the ECS design pattern in the context of current Unity implementation, describing similarities and distinctions.
Example of systems
- Provides an example of how systems work within an ECS implementation and details examples of various kinds of systems.
True ECS in Unity
- Details how to achieve a true ECS structure in Unity.
Physics and Collision
- Describes elements of physics that affect game play (and/or how they work in a game), such as rigid body dynamics, ragdolled physics, fluid simulations, etc., as well as addressing issues like precision.
Game Events
- Outlines the role of game events as mechanisms that trigger responses in subsystems.
Process Manager
- Describes the process manager layer and how it works to execute various actions in a game.
Command Interpreter
- Explains why the command interpreter layer is useful in separating game logic and view, describing its role and how it enables more effective debugging.
Game view – Human
- Describes the role of a human game view in a networked game.
- Explains how the game view's actions interact with the logic layer, detailing the necessary components and how decisions are made.
Graphics Display
- Summarizes the important aspects of handling graphical display for various game objects and how these components relate to the overall game process workflow.
Rendering
- Describes the visual processing components in a game.
Graphics Display (2)
- Details how various graphical capabilities of games affect how games are rendered.
Audio
- Describes three categories of audio involved in game development, including audio effects, music, and speech, as well as needed elements for implementation of each kind.
Audio in Unity
- Outlines specific Unity components utilized for audio in game development.
User Interface Presentation
- Highlights the importance of tailoring user interfaces (UIs) to specific game requirements, and when re-using UI components might or might not be possible.
Unity UI
- Describes the graphical elements frequently utilized in Unity to create UIs.
Options
- Outlines general options available in typical game UI, such as resolution, aspect ratio, and other visual components.
Game Physics
- Describes importance of real-time physics in video games, outlining needs and considerations regarding their implementation.
Realistic modeling of the world
- Describes how game physics tries to model the real world and the challenges associated with doing so in real-time environments.
Pong physics model
- Describes the basic physics for a game like Pong.
Pong physics model (2)
- Presents details for how the basic physics in Pong can be described and/or conceptualized when dealing with collisions and changes to game state.
Complex physics models
- Describes several kinds of more complex physics available, and/or needed in various advanced game conditions and challenges.
Complex physics models – Reality
- Describes how various complex physics concepts are often simplified for practical reasons in game design.
Rigid body dynamics
- Discusses rigid body dynamics in detail for games.
Linear Dynamics
- Describes linear dynamics, defining the position and/or velocity functions, and how to identify/handle constant/variable acceleration values.
Example
- Explains parabolic projectile movement and related components for the example.
Forces
- Discusses the need to compute acceleration by considering various game forces.
Getting the desired positions
- Outlines steps needed for accurately implementing the calculated forces to get objects in the desired position or location relative to game state parameters.
Moving with variable acceleration
- Describes the challenges in computing variable acceleration, and highlighting numerical integration as an important solution for computing motions with variable forces or other changing conditions.
Rotational dynamics
- Describes principles related to the rotation of objects in games.
Object-object interaction
- Describes steps needed to determine object collisions in more complex game situations.
Intersections
- Presents an overview of how to determine the overlap of game objects given various possible configurations.
Determining the intersection
- Describes various types of algorithms appropriate for determining object intersection, including examples for use in games.
Complex intersections
- Discusses the importance of how non-convex intersections/collisions are more difficult to compute/evaluate, while explaining why this knowledge is important.
Optimizing intersections
- Describes general approaches for improving speed and reducing issues when dealing with complex intersections, and how to use simpler shapes with bounding volumes..
Bounding volumes
- Describes the use of bounding volumes to simplify collision detection between complex game objects.
(Ray)casting
- Outlines the use of ray-casting to determine which objects overlap/intersect with a virtual line (ray), to efficiently and accurately estimate what elements in a game environment might overlap.
Space partitioning
- Discusses the various methods used to determine collisions/intersections when using more complex/realistic models of objects within games.
Space partitioning (2)
- Outlines the need for handling dynamic objects, including the need for adjusting partition structures efficiently.
Collision response
- Describes aspects of game calculations needed to handle collisions, including physical material considerations needed for real-world approximations and how to generate forces due to interactions between game entities.
Precision problems
- Explains why simplifying the simulation of various forces may be needed to maintain consistent performance and the challenges associated with maintaining precision.
Tunneling
- Discusses various techniques/methods for attempting to mitigate the "tunneling" issue when an object passes through other objects in an unrealistic simulation.
Solutions
- Addresses several solutions to the "tunneling" issue when a game simulation results in an unrealistic overlap of objects.
Unity's physics engine
- Describes the structure of the Transform component used for representing objects in the engine and how using components to describe different physical principles and/or entities aids consistency in development and gameplay.
Unity's physics engine scripting
- Outlines how to implement scripts with Unity's physics engine.
Execution Order of Event functions
- Describes the order in which various events/functions are executed in Unity.
Collisions messages called only in some cases
- Presents an overview of interactions and collisions in specific circumstances.
Unity's physics engine scripting (2)
- Discusses specific Unity functions/classes used for physics calculations, particularly for different testing and computation strategies.
Math for 3D games
- Describes the various mathematical concepts/components fundamental to game design regarding three-dimensional geometry.
What we need the math for
- Outlines the different mathematical needs for 3D game design and development.
- Discusses how these elements are needed for games, ranging from object manipulation to rendering to physics.
Floating point numbers
- Outlines the significance of using IEEE 754 standard floating-point numbers for representing numerical values in game environments.
- Explains the importance of using single/double precision and GPU FLOPS for efficient computation.
Vectors and points
- Introduces the role of vectors and points in 3D game mathematics and their use in different aspects of game design.
Vectors and points - Unity
- Presents the Unity Vector classes, their uses for 3D math functionality (e.g. for vector/point manipulations, animations, and physics components) and various mathematical operations.
Transformations
- Describes affine transformations for games.
Affine Transformations
- Describes affine transformations and their use in 3D games.
Affine Space
- Explains the concept of affine space and its components for dealing with vectors and points in various aspects of game design.
Affine Transformations
- Describes how affine transformations are used in mapping between spaces to help in representing game layouts.
Examples
- Illustrates examples of 3D transformations including translation, rotation, and scaling.
Combining Transforms
- Describes how these transformations can be combined and the importance of the order of transformations.
Graphics APIs use matrix form
- Explains how 3D graphics APIs use matrix transformations for manipulating objects.
Unity transform details
- Explains why Unity transforms are a collection of 4x4 matrices.
Orientation vs Rotation
- Presents the difference between Orientation and Rotation used for object transformations in 3D games using a reference frame.
Orientation Representation
- Explains numerical representation of orientation using various methods such as Euler angles, Axis+Angle, and Quaternions and their efficiency/usefulness.
Quaternions
- Presents Quaternions and the advantages and drawbacks of using them for representing rotations in 3D games.
Quaternions
- Explains more about applying quaternions in various contexts.
Why 4x4 matrix
- Explains why 4x4 matrices are used to represent transformations in 3D graphics and games.
4x4 matrix allows other transforms
- Describes how 4x4 matrices can also represent non-affine transformations involving homogenous coordinates.
3D Transformation Pipeline
- Describes the needed 3D transformations used in the pipeline for 3D games in more detail.
Scene Graph
- Describes the Scene Graph and how it is used in 3D games
Object Transformation
- Outlines the concepts involved with transforming objects in a game.
Different spaces and transforms
- Describes how different spaces for representing position/orientation of 3D game objects relate to the game pipeline and their use/interaction with various game components.
Spaces in Unity
- Describes how different spaces (object, world, eye, NDC, viewport, screen space) and associated transformations are used in Unity.
Real-time Rendering Pipeline
- Explains different rendering pipelines and their relationship to objects in the scene.
AI in Games
- Outlines the different motivations for implementing Al in games and how it relates to the player.
A little history
- Presents the history of game Al, giving examples.
The Kind of Al in games
- Describes some general types of Al commonly used in games.
Hacks - "Game Al is not Al"
- Highlights the distinction between basic Al implementations and more sophisticated Al, emphasizing that not all implementations are actually AI.
Heuristics
- Describes what "heuristics" is in the context of AI and games, highlighting common examples and their limitations.
Algorithms
- Describes what "algorithms" are in the context of AI and games, and what sorts of operations they support.
Academic Al vs. Game Al
- Describes how Acadamic Al and Game Al have some differences and aims for different outcomes regarding user experience, efficiency and precise results for game design.
Game State Analysis
- Outlines the analysis of game data and how these actions/states/etc. are used in various areas of game design (like physics or Al actions).
Gameplay Al is a 3-step process
- Describes a decision tree for the process of gameplay AI action and decision making.
Al Difficulty
- Explains some differences in the implementation of AI depending on the complexity or purpose of the game, and some potential issues associated with AI design.
An example: Sims
- Describes how decisions are made in games with complex/dynamic game state and/or in-game models.
Al types in games
- Describes different types of algorithms used in games, such as hardcoded, or weighted random algorithms.
Weighted randoms example
- Explains the use of weighted randomization in games for creating dynamic AI behavior.
Finite State Machines (FSM)
- Describes Finite State Machines (FSMs) as a useful mechanism for representing and/or modeling Al actions as transitions between different states.
Finite State Machines (2)
- Describes the use of FSMs to define actions during gameplay and explains how game action might change based upon different states.
Finite State Machines (3)
- Describes the use of Finite State Machines (FSMs) regarding how transition rules might involve aspects of randomization and/or reactivity..
Decision trees
- Describes decision trees as an Al design tool and how they work, including their function, structure, use of nodes, and their traversal through the decision tree.
Decision trees (2)
- Explores how decision trees can be used in a game to create sub-trees depending on various conditions.
Decision trees (3)
- Shows an example for how a decision tree can be used in a broader game design, including an example based upon differing possible levels of health variables to define appropriate actions.
Behavior Trees
- Explains how behavior trees expand upon the use case of decision trees, and/or what components they might include.
Behavior Trees (2)
- Details how various kinds of nodes, including composite, decorator, and leaf nodes, are related to behavior trees.
Behavior Trees – Actions
- Details the role that parameters and actions might play in Behavior Trees and how they're generally used for game logic decision making.
Halo 2
- Presents an example of a game using Behavior Trees.
Fuzzy logic
- Describes the concept and implementation of fuzzy logic in game Al, explaining its purpose and use relative to other methods like decision trees.
Fuzzy logic (2)
- Explores the implementation details of fuzzification, which assigns degrees of membership in decision making.
Fuzzy logic (3)
- Addresses the complexity of defuzzification (converting membership degrees to specific actions) using fuzzy logic and the importance of ensuring that these transitions are balanced/appropriate.
Fuzzy logic (4)
- Presents the use and complexity of Al prototyping or use-cases with fuzzy logic, such as games that try to be more or less similar to real-world behaviors.
Utility theory
• Provides a description of how utility theory functions regarding game Al design.
Utility theory - examples
- Examines the use case of utility theory in an example game like chess, and how it applies to the game's strategic considerations/decision-making framework.
Utility theory in practice
- Describes the application of utility theory to practical game design, highlighting how it aids in localized decision-making and understanding game actions.
Goal-oriented action planning (GOAP)
- Describes the goal-oriented action planning (GOAP) method in game development regarding Al and its various uses.
GOAP (2)
- Describes how one example game (like a character getting hungry, searching for food/etc.) is conceptualized using some basic GOAP methods.
GOAP (3)
- Presents how sequences of goals might exist and how to deal with situations where a sequence might not exist, or when multiple goals are present in a single game state.
Path-finding
- Outlines the concepts of Path-finding, describing it more as a support, rather than an Al technique, utilized in various contexts.
Path-finding (2)
- Discusses some of the limitations or potential drawbacks when implementing path-finding, including how to handle more complex/irregular terrains.
Path-finding (3)
- Explores different aspects of edge weight, its importance, and how weights might change based upon a variety of criteria.
A* path-finding (aka. A-star)
- Presents a well-known path-finding algorithm.
Path-finding – taking it a step further
• Describes the use of navigation meshes (navmeshes) to calculate paths through a specific terrain/environment in more detail, and/or how tolerances can be used to further improve the use and design aspects of pathfinder algorithms.
Al in Unity
- Presents commonly used Al systems/libraries, including Behavior Trees or Finite State Machines, that can be directly utilized with Unity.
Al in Unity
- Explains Al tools available and when it might be beneficial to use non-Unity-specific systems.
10 Business of Video Games
- Outlines the core aspects of the business of video game design.
Platforms
- Provides information on various gaming platforms (e.g. arcades, consoles, computers, VR, mobile, handheld, and browsers).
Platforms (2)
- Details different kinds of platforms/platforms utilized for video games.
Platform Dependent Development
- Describes how the development of games differs depending on which platforms are utilized.
Platform Stores
- Describes various platforms involved in providing a storefront to display/sell video games.
Platform Stores
- Outlines various platforms/stores commonly associated with selling video games, both traditional (e.g. the "Physical" aspect) vs digital stores.
Platform revenue cuts
- Describes revenue sharing arrangements amongst platforms that sell/distribute video games.
Genres
- Describes different game categories based upon functionality, including (Action, Adventure, Simulation, RPG, Strategy, Casino, Puzzle, Sandbox, Survival, etc.)
Player Modes
- Outlines different player experiences (e.g., single-player, local, co-op or multiplayer, including LAN and/or online configurations).
Why have genres
- Presents the advantages and considerations for defining games using different "genres" when appealing to specific target audiences.
Players
- Describes various kinds of players who might participate in a video game based on their involvement or engagement, and/or the time spent playing the game.
Target Audience
- Discusses the need to target a specific audience for a game.
Target Audience
- Explores general aspects of various kinds of gamer profiles (such as "hyper-casual" vs hardcore)
- Provides additional considerations for understanding who your player is relative to various games.
Acquiring Gamers
- Explores various strategies for finding/attracting more gamers for your specific game, such as promoting your game to gain traction and awareness.
Business Models
- Explores various business models for game presentation.
Premium Games
- Explores various advantages/disadvantages of producing a new, premium video game, ranging from how long it takes to develop a specific or new game to market it, as well as various other factors used in various business models for game development.
Earning from Premium Games
- Details several ways for earning money from a premium game; these various methods are useful for both developers and publishers.
Premium Game Timeline
- Presents a possible timeline of various stages and sub-stages of development relative to premium game production.
Typical earnings from a premium game
- Shows possible revenue patterns or trends associated with premium games.
Free to Play (f2p)
- Expounds on various considerations when producing free-to-play games.
Acquisition
- Describes the overall process for gaining players regarding both "paid" and "organic" traffic strategies.
- Highlighting strategies (like ad networks, ASO, etc.) used for both methods.
Acquisition
- Explores the various facets related to acquiring new players for various game types, including specifics for (organic and paid traffic, etc.) based upon differing user demographics.
Retention
- Describes strategies and techniques for maintaining players after they initially install/begin playing a game.
Monetization
- Provides descriptions for various methods of monetization available in a video game.
- Indicates the relative importance or necessity of different kinds/types of monetization methods based on a variety of user profiles/demographics.
Free To Play
- Discusses how to earn money from using a "free-to-play" business model for games.
Typical earnings from a F2P game
- Describes typical revenue trends over time from a Free-to-Play game.
LTV > CPI
- Describes the concept of "Life-time Value (LTV) vs Cost per Install (CPI) and how this is associated with determining game success.
Estimates online
- Expounds upon utilizing various websites for evaluating estimates regarding video game success and revenues.
Premium Game as a Service
- Discusses some premium game as a service (such as "Early Access") implementations.
Other business models
- Describes various business models besides the premium or free-to-play models that can be used for game development, such as arcade or subscription models.
What business model is
Studying That Suits You
Use AI to generate personalized quizzes and flashcards to suit your learning preferences.
Related Documents
Description
Test your knowledge on essential game development concepts such as the use of the Vector3 class, timing in updates, game object management, and the flow experience for players. This quiz will cover various aspects of game mechanics and design principles critical for creating engaging gameplay.