---
description: >-
  Terminology used in scripting and game development that are applicable to Halo
  Infinite
---

# Scripting Terminology

Knowing the vocabulary of common scripting terms will help you understand what other people mean when referencing something related to scripting and will also let you express your scripting topics in a way that others can grasp more easily.

<figure><img src="https://692276616-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FN06Vv6nlwviUQ4hI2Kkd%2Fuploads%2Fgit-blob-74e137057d6f7b94c14119a6cbc4254a8f2c8ecf%2Fcover-tsg-placeholder.jpg?alt=media" alt=""><figcaption></figcaption></figure>

## Variables

A variable is a named container for a value that can be changed. In game development, variables are commonly used to store information such as health, score, and player position.

## Functions

A function is a set of instructions that performs a specific task and returns a value. In game development, functions can be used to control gameplay mechanics such as movement, combat, and AI.

## Conditionals

A conditional statement allows a program to make decisions based on a given condition. In game development, conditionals are often used to determine if a player has met certain requirements to progress through the game.

## Loops

A loop allows a program to execute a set of instructions repeatedly until a specific condition is met. In game development, loops can be used to control animations, particle effects, and other game mechanics.

## Arrays

An array is a collection of variables that are stored together under a single name. In game development, arrays are often used to store data such as high scores, items in an inventory, or enemies on a level. For Halo Infinite, our only access to arrays is with Object Lists.

## Objects

An object is a data structure that contains properties and methods. In game development, objects can be used to represent game entities such as players, enemies, and weapons. In Halo Infinite, everything in the game world that can be placed in Forge, projectiles, and players/AI actors are all considered objects.

## Event Handlers

An event handler is a function that is triggered by a specific event, such as a player pressing a button or an enemy being destroyed. In game development, event handlers are often used to control user input and trigger game mechanics.

## Scripts

A script is a set of instructions written in a programming language that is used to control game behavior. In game development, scripts are used to create game mechanics, control AI, and interact with game assets such as sound effects and animations.

## Debugging

Debugging is the process of finding and fixing errors in code.

## Tick

In game development, a tick is a unit of time that represents a single update cycle of the game world. During each tick, the game engine updates the position and state of all objects in the game, processes input from the player, and performs other tasks necessary for the game to function properly.

## Tick Rate

The tick rate is the frequency at which ticks occur in a game engine. A higher tick rate means the game updates more frequently, resulting in smoother gameplay, but requires more processing power. The tick rate can have a significant impact on a game's performance and is often adjusted to find the optimal balance between gameplay smoothness and performance.

## Heartbeat

Some game engines use the term "heartbeat" to refer to a regular event that occurs at a set interval. This event can be used to update the game world, process input, and perform other tasks necessary for the game to function properly. The heartbeat interval is typically set to a value that provides a good balance between updating the game world frequently enough to provide a smooth gameplay experience and not overloading the game engine with too many updates.

## Asset

Any element or resource used in a game such as 3D models, textures, sounds, and animations.

## Physics Engine

A component that simulates physical interactions between game objects, such as gravity and collisions.

## AI (Artificial Intelligence)

The simulation of human-like behavior in non-player characters (NPCs) through the use of algorithms and decision-making processes.

## Level Editor

A tool used to create and edit game levels, often with a visual interface for ease of use.

## Multiplayer Networking

The process of creating a networked game, allowing multiple players to connect and interact in real-time.

## UI (User Interface)

The graphical elements that make up the game's interface, such as menus, buttons, and HUDs (heads-up displays).

## Pathfinding

The process of calculating the most efficient route for an AI-controlled character to reach a specified destination.

## Serialization

The process of converting an object or data structure into a format that can be stored, transmitted, and reconstructed later.

## Procedural Generation

The generation of game content, such as levels or landscapes, through algorithmic processes rather than manually created content.

## Shader

A program that runs on the graphics processing unit (GPU) and is used to manipulate how pixels are rendered on the screen, allowing for advanced visual effects such as lighting and shadows.

## Collision Detection

The process of detecting when two objects in a game intersect with each other.

## Raycasting

A technique used to simulate a 3D environment by projecting rays from the camera or player's position to determine what objects are visible.

## Game Engine

A software framework designed to aid in the creation and development of video games.

***

#### <mark style="color:green;">Contributors</mark>

Captain Punch\
Okom
