Introduction to the Logo programming language. Useful for teaching functional programming to beginners. Explanation of using “turtle graphics” to draw various shapes.
Overview of four types of curves that can be used in game development. Basic parabola for moving objects in an arc. Sine function for moving objects in a wave motion. Physics using velocity and acceleration for simulating actions such as jumping and falling. Bezier curve for moving objects along a curved path. Examples of functions for each curve type and how to calculate coordinates in a spreadsheet. Demonstration of how to implement each curve type in Monogame with C# and review of source code.
Overview of I-frames, invincibility, stun lock, and knock back. How these are implemented in games, statistics from examples of classic games, and demo project showing various methods for implementing invincibility time.
Explanation of calculating collision between basic 3D objects (rectangular solids/cubes and spheres). Methods used can be applied to any programming language or game development environment. Review of demo Ruby code to detect collision between rectangular solids and spheres.
Explanation of 2D collisions for points, lines, rectangles, and circles. Overview of each collision type along with examples and code. Explanations are general in nature so that they can be implemented in any game engine or programming language. Demonstration of Javascript web application that calculates collisions between the four types of objects, along with review of code functionality.
Explanation of Dijkstra’s algorithm for finding the shortest path in a graph based on a selected starting node. Walkthrough of an example of the algorithm. Demo of implementation of Dijkstra’s algorithm in Unity and C#.