GEE - Introduction to Game Engines and Essentials Module Overview

GameDesignAnimation_OverviewBanner.png 

Introduction to Game Engines and Essentials Module Overview

Introduction

Intro to game Engines and Essentials ImageYou have learned a lot about roles, planning and the terminology of the game development world. Now it's time to make some games, and learn about more concepts in a very applied manner. Because Unity software is a very legitimate game development product, we will be using some of their tutorials as a starting point, and then building off of that. You might see some other tutorials that they offer, and you are encouraged to try them out when you feel ready. One of the best skills anyone in the technical field can develop is the ability to learn on your own, to be curious and discover without waiting to be told.

This module will use a very basic tutorial called "Roll-a-Ball", which will help you learn the Unity user interface (UI) and terminology while making a simple game that you can play. By the end of this module, you will learn a lot about how so many of these parts work together in the game engine to make a game come to life, to be playable. You will then create your own game, using some of what you made in the tutorial but also developing one or two new features based on your deduction. Modifying, or "modding", games is always a smart consideration, as a good developer avoids reinventing something that is readily available. Usually modding isn't enough though, and you need to use your tools in a new way.

Throughout the lesson, you are required to participate in a Discussion Board to support each other. It's important to acknowledge when you're stuck, and ask for help, and it's just as important to support your team members. The Discussion Board will be ongoing for this module, titled "Roll-a-Ball Discussion". Ask for help, offer answers, you can even share a fun experiment as long as you understand what you did and how you did it.  

 

Essential Questions

  1. What are the most basic terms used in game development, and 3D in particular?
  2. What are 3D game development tools like?
  3. How do I create basic game objects in a 3D environment?
  4. How do I add basic cameras and lights in a 3D game?
  5. What are the steps required to give the user control over the game?
  6. How are basic materials added and edited for 3D objects?
  7. What are some basic animation techniques for 3D objects?
  8. How do collisions occur, and what types are there?
  9. What are components of game objects, how are they created and assigned?
  10. How is a script created and assigned in a 3D game?
  11. How does basic scoring work in a video game?
  12. What are the steps to "build" and share a 3D game with others?

 

Key Terms

  1. Project: This represents everything in your game, and you should begin a new project every time you start a new game.
  2. Path (folder): The folder and directory where all of your game project information is stored. A good habit is to create a Unity folder on your computer, and then a folder before you ever start a project, so you can just select that folder when creating a new Unity project.
  3. Scene: Anything that looks like a different location is a scene. In a game, the title intro is a scene, the instructions are a scene, level one is a scene, level two is a scene, and so on.  All of the scenes in a project combine to make a game.
  4. Plane: A flat surface with no depth, just length and width.
  5. GameObject: Any "thing" that is in the game, like blocks, planes, spheres, and more.
  6. Transform: To change. The transform "component" in Unity is a place where all size and location changes are recorded and determines the Position, Rotation, and Scale of each object in the scene. Every GameObject has a Transform.
  7. Gizmo: The colorful red/blue/yellow set of arrows that help you stretch or move an object.
  8. X, Y, Z: The three dimensions of a 3D game. In Unity, Y is the vertical change, X and Z are the "flat" dimensions, similar to the X and Y when you look at a worksheet of a coordinate plane.  
  9. Game View: A preview of what the game looks like at that time, in that scene, a separate tab you can select which is what the player sees.
  10. Scene View: The appearance of your work area in the scene, not necessarily what the player sees.
  11. Components: The nuts & bolts of objects and behaviors in a game. They are the functional pieces of every GameObject, for programming, physics and more.
  12. Rigidbody: Rigidbodies enable your GameObjects to act under the control of physics. The Rigidbody can receive forces and torque to make your objects move in a realistic way.
  13. Collider: A Collider component defines the shape of an object for the purposes of physical collisions.
  14. Function: In programming, a named section of a program that performs a specific task.
  15. Update: Update is called every frame, if the MonoBehaviour is enabled. Update is the most commonly used function to implement any kind of game behaviour.
  16. FixedUpdate: This function is called every fixed framerate frame, if the MonoBehaviour is enabled. FixedUpdate should be used instead of Update when dealing with Rigidbody.
  17. Static: When something does not change, is not created, it is static.
  18. API: Application Programming Interface, the list of functions and other programming features of a computer language.
  19. Float: A type of number with decimals, commonly used in programming.
  20. Vector3: A representation of 3D vectors and points. This structure is used throughout Unity to pass 3D positions and directions around. It also contains functions for doing common vector operations.
  21. Camera: A camera is a device through which the player views the world.
  22. LateUpdate: LateUpdate is called every frame, if the Behaviour is enabled. LateUpdate is called after all Update functions have been called. This is useful to order script execution.
  23. Collectible/Pick Up: Any item that can be collected, usually for some type of points, rewards, or penalty.
  24. SetActive: A function that will activate or deactivate a GameObject. This is done using true (for activate) or false (for deactivate), which makes the GameObject visible or invisible, respectively.
  25. Materials: The component of a GameObject that controls the physical appearance such as color, texture, etc.
  26. Prefab: The prefab acts as a template from which you can create new object instances in the scene.
  27. Prefab Inheritance: Any edits made to a prefab asset are immediately reflected in all instances produced from it, but you can also override components and settings for each instance individually.
  28. Private Variable: A variable marked as private within a script is not displayed in the Unity component inspector, it is private to the script of the GameObject.
  29. Public Variable: A variable marked as public within a script is displayed in the Unity component inspector, and its value can be changed in the Unity component inspector.
  30. Trigger: A collider configured as a Trigger (using the Is Trigger property) does not behave as a solid object and will simply allow other colliders to pass through. When a collider enters its space, a trigger will call the OnTriggerEnter function on the trigger object's scripts.
  31. Destroy: A function that removes a gameobject, component or asset.
  32. Conditional Statement: An "if" test in scripting that evaluates a specific condition to see if it is true or false, and then performs procedures based on the response.
  33. Tag: A tag can be used to identify a game object. Tags must be declared in the Tags and Layers manager before using them.
  34. isKinematic: This controls whether physics affects the rigidbody. If isKinematic is enabled, Forces, collisions or joints will not affect the rigidbody anymore. The rigidbody will be under full control of script and not physics.
  35. State: The current status of an object or other item. For example, true or false, alive or dead, moving or not moving are information that would be contained in the "state" of a GameObject, if it wanted to keep track of them.
  36. Int: A number that has no decimal portion, no decimal places.
  37. UI: Abbreviation for User Interface. GUI is Graphical User Interface.
  38. Element: The base class for images & text strings displayed in a GUI.
  39. Text: The default Graphic to draw font data to screen.
  40. EventSystem: The EventSystem is responsible for processing and handling events in a Unity scene. A scene should only contain one EventSystem.
  41. Canvas: Element that can be used for screen rendering. Elements on a canvas are rendered AFTER scene rendering, either from an attached camera or using overlay mode.
  42. Placeholder: This is an optional 'empty' graphic to show that the InputField text field is empty.
  43. Anchor: The "anchor" of the text, to connect it to a certain location on the canvas.
  44. Namespace: A namespace is simply a collection of classes that are referred to using a chosen prefix on the class name, used to avoid duplicate variable names from programmers.
  45. Build: Used both as a verb and noun, "to build" is to create a final software that you can deliver to others, as well as "a build" which refers to the software you are delivering.
  46. Deploy: To send the software out to others.
  47. Platform: This is the type of operating system and other factors used by different machines. This is key when creating a build, in choosing the right platform your users will need for Windows, Mac, Lunux, Android, or more.   

 

GameDesignSimulation_OverviewBottom.png IMAGES CREATED BY GAVS