English | MP4 | AVC 1280×720 | AAC 44KHz 2ch | 70 lectures (15h 6m) | 6.15 GB

A Beginner’s Guide to Essential Mathematics, Data Structures and Algorithms used in Game Programming applied in Unity

Did you know computer games use mathematics to perform every single task, from rendering to animation and physics to AI? Mathematics is everywhere. A fundamental understanding of mathematics is critical in every occupation and nowhere is it more important than in games development. It underpins all primary operations performed by a game engine. You can’t even move a character across the screen without it. Keen to learn more and build up your knowledge in mathematics to improve your game development skills? Then this course is for you.

In this course you will build your own C# classes to work with the geometrical constructs of 2D and 3D space that will develop your understanding of positioning and moving game objects. In short you will build your own maths library to replicate some of Unity’s Vector2, Vector3, Matrix4x4 and some Mathf methods. Throughout, we will be using the Unity Game Engine to help emphasise the mathematics concepts.

Join Dr Penny de Byl as she introduces game development mathematics using her internationally acclaimed holistic teaching style and expertise from over 25 years of teaching, research and work in games and computer graphics. Through-out the course you will follow along with hands-on workshops designed to teach you the vital mathematical techniques used in programming computer game mechanics and visuals.

During the course we will be building a game that not only uses the code we’ve written to move 2D and 3D objects around on the screen, but to play the game you will have to use your knowledge of points and vectors to solve puzzles that will reinforce your learning. You will also build numerous mini projects to apply mathematical concepts and see how they work in games environments.

Learn how to program and work with:

- Bitwise Operations, Bit Packing and Bitboards
- 2D and 3D Space
- Points
- Vectors
- Matrices
- Mapping from one coordinate system to another
- Positioning Objects
- Navigation
- Angles
- Interpolation
- Quaternions

What you’ll learn

- How to use bitwise operations to optimise processing and storage in games.
- Everything there is to know about vector mathematics and how to navigate in 2D and 3D space.
- The principles and practice behind collision detection with lines, line segments and ray casting.
- The beauty of affine transformations and the fundamentals in transforming game objects.
- What a quaternion is and how it is used to rotate game objects.
- How to build a mathematics library in C# from scratch.

## Table of Contents

**Introduction and Welcome**

1 Welcome

2 Join the H3D Student Community

3 Contacting H3D

4 FAQs

5 How to Study This Course

6 Basic Trigonometry

**Bitwise Operations**

7 Bits Bytes and Binary

8 Bit Flags & Bitwise Operators

9 Turning Bit Flags Off

10 Bit Masks

11 Bit Mask Challenge Solution

12 Bit Shifting

13 Bit Toggling and Unity Specifics

14 Bitboards

15 Putting Bitboards Into Practice Part 1

16 Putting Bitboards Into Practice Part 2

17 Putting Bitboards Into Practice Part 3

18 Other Bitwise Operation Hacks

**Location**

19 Cartesian Coordinates & Points

20 Plotting Points A Simple Data Structure

21 Drawing Lines Solution

22 Graph Line Challenge

23 Practice Locating 2D Points on a Cartesian Plane

24 Calculating Distance Part 1

25 Calculating Distance Part 2

**Vectors**

26 Introduction to Vectors Part 1

27 Introduction to Vectors Part 2

28 Vectors Moving to a Point

29 Vector Normal Form

30 Dot Product

31 Derivation of Vector Angle Calculation

32 Rotations

33 Cross Product

34 D LookAt Challenge

35 Dot Cross Challenge

36 Challenge Solutions

37 Recreate Rotate and Translate Challenge Part 1

38 Recreate Rotate and Translate Challenge Part 2

39 Moving from 2D to 3D

40 Exploring Rotation in 3D

**Intersections**

41 Lines Line Segments and Rays Part 1

42 Lines Line Segments and Rays Part 2

43 Planes

44 Another Line Constructor

45 Intersection of Two Line Segments

46 Improving Line Intersection

47 Line

48 LinePlane Intersections

49 Line

50 Plane Reflections

51 Unity Specifics For Intersections

52 More Unity Specifics Part 1

53 More Unity Specifics Part 2

**Affine Transformations**

54 An Introduction to Matrices

55 Homogeneous Coordinates

56 Transformations

57 Matrices Data Structures and Algorithms Part 1

58 Matrices Data Structures and Algorithms Part 2

59 Translation

60 Scaling

61 Rotation

62 Affine Transformations

63 Shear and Reflect Challenge

64 Quaternions

65 Programming Quaternion Rotations

66 Extracting the Rotation Axis and Angle

67 Quaternion Rotations

**Final Words**

68 Final Maths Library Code

69 Some Final Words from Penny

70 Where to now

Resolve the captcha to access the links!