Skip to content

Terminology

FAL edited this page Aug 30, 2020 · 2 revisions

Core mechanics

Frame

The smallest unit of time.

The frame rate is fixed at 60 FPS (frames per second).

Actor

Any object that moves on the screen (e.g. bullet, enemy).

Thread

Unit of program execution flow that can be run in parallel for each actor.

Angle

General term for bearing, direction and any other angular values.

Angles are specified by degrees (360 for a full rotation), north-based (0 for 12 o'clock) and clockwise.

Actor properties

Position

The position of an actor.

Can be either absolute or relative (if any origin point is provided).

Distance

The length-component of position.

Bearing

The angle-component of position.

Velocity

The displacement (change of position) of an actor per frame.

Speed

The length-component of velocity.

Direction

The angle-component of velocity.

Shot position

If actor A fires another actor B, the initial position of actor B is determined by the shot position of actor A (relative from the absolute position of actor A).

Shot position is independent of each thread. Any change in shot position made within one thread does not affect any other thread.

Shot distance

The length-component of shot position.

Shot bearing

The angle-component of shot position.

Shot velocity

If actor A fires another actor B, the initial velocity of actor B is determined by the shot velocity of actor A.

Shot velocity is independent of each thread. Any change in shot velocity made within one thread does not affect any other thread.

Shot speed

The length-component of shot velocity.

Shot direction

The angle-component of shot velocity.

Define, compile and assemble

Script

Any code for defining bullet patterns, written in Haxe with Firedancer.

Ast

Abstract structure tree that defines any bullet pattern.

Most of the top-level functions of Firedancer (see below) are used for generating any Ast object.

Assembly code

Code written in an intermediate language of Firedancer, compiled from any script.

Assembly code package

Collection of assembly code.

Program

A single bytecode that is assembled from any assembly code.

Can be associated with any actor and executed on Firedancer VM so that it updates the position and other properties of that actor.

Program package

Collection of programs.