## Splines and Bézier Curves and their application in Video Games

The geometry of curves and surfaces is of fundamental importance in computer graphics and in video game programming. In this article we will describe the mathematics of interpolation curves, in particular splines and Bézier curves, with examples of use in the Unity 3D environment. 1) Mathematical representations of curves Definition Read more…

## Sprite Animation in Unity 3D and Finite State Machines

Animation has an essential role in video games. Most video games try to simulate real world physics; in order to achieve this objective it is essential to be able to represent, in the most realistic way, the movement of people, cars, animals and objects in general. In this article we Read more…

## Motion in a Plane and Unity’s 2D Physics Engine

This article gives a brief illustration of Newton’s laws of motion in the plane and analyzes the tools that the Unity 2D engine makes available to programmers to simulate the movement of bodies in the 2D environment.For the study of physics it’s essential to know the units of measurement of Read more…

## Euler Angles, Hamilton’s Quaternions and video games

Programming video games, as many areas of science and technology, requires computing the coordinates of an object in different reference systems, constructed by combining together translations, rotations or scale changes.The problem is particularly complex with the rotations. In a previous article we have studied the representation of rotations by means of matrices, Read more…

## 2D Collisions and Unity’s 2D Physics Engine

This article describes the primitive geometric forms used in 2D collisions, with references to the features provided by the Unity’s 2D Physics engine. For a review of vector algebra, necessary to understand the topic, you can also see the article of this site.Collision management between two or more objects can be divided Read more…

## Matrix Algebra and Game Programming

1) Algebra of matrices A matrix $$A(m,n)$$ defined on the field of real numbers $$\mathbb{R}$$ is a collection of real numbers $$(a_{ij})$$, indexed by natural numbers $$i, j$$, with $$1\le i\le m$$ and $$1\le j\le n$$. We can represent a matrix with a rectangular array of numbers arranged in Read more…

## Vector Algebra and Game Programming

Video game programming requires extensive use of mathematics and physics. Some typical examples are the following: controlling the motion of objects in space, drawing geometric shapes on the scene, computing the effects after a collision of objects in accordance with Newton’s laws of classical mechanics, etc.Geometry plays a fundamental role. The classic Read more…

## The Game Loop

A game engine contains several components that provide various functions: 2D/3D graphics rendering scene-graph audio and music management simulation of the laws of physics collision management between objects animation artificial intelligence I/O device management networking resource management scripting The game engine must provide its services to a plurality of application Read more…

## Game Engines

A useful tool to understand the architecture of modern platforms for the development of video games is the layered model. Complex systems are characterized by a set of components (even hundreds or thousands) that interact with each other. The layered model consists of dividing the system into various levels of abstraction: each Read more…