We are currently working on new rules for what content should and shouldn't be allowed on this website, and are looking for feedback! See Esolang:2026 topicality proposal to view and give feedback on the current draft.
Geometry Dash
| Paradigm(s) | declarative, concurrent |
|---|---|
| Designed by | Robert Topala |
| Appeared in | 2013 |
| Type system | floats |
| Memory system | variable-based |
| Computational class | Turing-complete |
| Reference implementation | Unimplemented |
| Influenced | SPWN |
- This article is not detailed enough and needs to be expanded. Please help us by adding some more information.
Geometry Dash is a 2013 side-scrolling platformer created by Robert Topala (internet alias RobTop).
Primitives
Objects
In a Geometry Dash level, each object is given several attributes such as position and scale, alongside other attributes unique to the object like color properties. In addition to these, each object may be assigned a "group", a numerical label which can be used to target it and any other objects that share the label. A level can have a maximum of 9,999 groups, however there is no limit to the amount of objects a level can have.
Items
Items function like accumulators, being able to hold an integer/float, and are identified by a numerical label much like groups.
Triggers
Triggers are pre-set actions which can be invoked in a chronological order, upon collision with the player, or when invoked by other triggers like the Spawn Trigger. Some triggers only have cosmetic functionality in order to assist with decorating a level, however others can affect the attributes assigned to objects. Certain non-trigger objects can also invoke triggers.
Computational class
Despite the power that triggers and items provide, Geometry Dash is inherently limited as there is no way to create new objects and items being bounded (as per their implementation) prevent arbitrary memory emulation. If the latter limitation were ignored, the trigger system would allow the game to be Turing-complete, through either counters (which are bounded by the 32-bit integer limit), distances between objects (which are bounded by floating point precision), or spawn/keyframe trigger signals (which are bounded by 64-bit architecture).
Examples
| Level | ID | Description |
|---|---|---|
| Brainfugd | 69434308 | Puzzle level implemented in 2.1 which interprets a bounded form of brainfuck. |
| I miss HLL | 95662246 | A level which demonstrates the usage of spawn triggers to store data. |
| Game Engine I Guess | 106785428 | Game engine. |