Generators
A generator creates content and applies it to the level in one operation that can be undone in one step. Every generator is run from the "Generators" window on the toolbar
Generators
A generator's form is built from its own fields. There is no separate interface for each generator
Anything that rewrites or deletes existing content asks for confirmation first
There are two families. Generators (gen_) create content: bullet waves, radial patterns and a font cache. Modifiers (mod_) change what is already there: fitting spans, quantizing keyframes. Modifiers are described separately - Modifiers
More - Reuse: prefabs, copying, generators
The generators window
Content generators and modifiers are run from the Generators window on the toolbar. Its Base Parameters block is shared by all generators: Start Frame, End Frame, Layer and Seed. They belong to the window, not to any one generator
How the block behaves:
- The window opens on one second from the playhead, with the seed at 0.
Randomrolls a new seed - The frames stay inside the timeline you are working on, from frame 1 to its last frame. In prefab mode that is the template's length
- Editing
Start FramepushesEnd Framealong with it. EditingEnd Framestops atStart Frame. They never cross Layerstays inside the allowed range of layers- Each frame field has a pin that holds it at the edge of the timeline.
Whole Levelsets both, and the window runs from frame 1 to the last frame. The fields stay editable, and typing into a field removes the pin from that edge
Group Into One Object and Layer Per Object are on by default. The group is named after the generator. Both affect only content generators: a modifier creates nothing, so there is nothing to group
Generated content never goes under the selected object. It lands at the top level of the scope or in its own group
Before you press Generate, the window shows what a run will add. The button is unavailable, and the reason is written instead of the estimate, if:
- the generator needs the whole level and you are in prefab mode. These are Beat Flash, Font Cache, Capacity Hint and Remap Framerate
- the generator needs a selection and nothing is selected
- after the run the level would have more than 262 144 objects
- a content generator would add nothing. A modifier is not rejected for this
A generator that needs external data (an audio track, beats, an image) creates nothing without it, and the estimate says so
Generate closes the window. The generated content stays selected, in the same undo step
The window remembers which generator you were on and which parameters you entered when it is closed and opened again. Reset returns the defaults
Levels
The AI assistant cannot run these three. It starts a new level with its own level_create instead
Empty Level
Clears the level completely. Everything created is deleted. Suits starting over rather than editing
Pin Screen Aspect (on by default) puts a keyframe with a fixed 16:9 on the Screen Limit track at the first frame
More - Your first level: the route
Level From Audio File
Starts a level from a track. Connects the audio, fits the level's length to the track and puts you at the start of an empty timeline
Pin Screen Aspect (on by default) puts a keyframe with a fixed 16:9 on the Screen Limit track at the first frame
More - Preparing the track
Import Level Archive
Builds a level from an archive this game made.
Formats: .tar.gz and .zip. Both may be password protected
The file type is detected by content, not by name. A renamed archive still opens.
The game recognises 7z but does not read it yet and rejects it
An archive from an old build opens without preparation. The game converts it to the current format itself on import
By default an imported level gets a new id. So it does not overwrite a level already on this device. Clear this checkbox only to restore a level that used to be on this device
Bullets
More on all bullet generators - Readability and fairness
A bullet generator's Collider is empty by default. Its bullets draw a square and cannot hurt the player until you pick a collider, for example the same shape as Shape. The other generators that place shapes, geometry and Audio Waveform, have the same field with the same default
Bullet Wave
A row of bullets that move together. The basic pattern, and the one to start with. Its parameters repeat in the other bullet generators
Bullet Spiral
Bullets fly out along a rotating ray. The result is the classic spiral wall
Bullet Rain
Bullets fall onto an area over a set time.
Density and scatter are adjustable.
Where each bullet falls comes from the window's Seed, not from the level seed. The same seed repeats a run exactly, and a different seed gives a different layout. The AI assistant passes its own seed, 0 unless it gives another, so two runs meant to differ need two seeds
Homing Bullets
Bullets curve toward where the player is expected to be. The path is calculated in advance, not during play. So the result is the same on any device
Laser Sweep
A beam passes across the field.
The warning and the damaging phase are different objects. So the warning can be shown, and it does not kill.
The warning beam never collides. The firing beam hurts only with a Collider chosen
Geometry
More on all geometry generators - Reuse: prefabs, copying, generators
Polygon
Places shapes on the vertices or edges of a regular polygon
Radial
Places copies around a circle. The basis of most symmetric patterns
Spiral
Places copies along a spiral. The radius and the angle grow together
Grid
Fills a rectangle with copies of a shape at equal distances
Fractal
Repeats a shape inside itself, smaller each time. The object count grows exponentially with depth. Raise the depth one step at a time
Audio and effects
Audio Waveform
Builds objects from the shape of an audio track. The level visibly follows what is heard
More - Reuse: prefabs, copying, generators
Beat Flash
Puts a flash on every beat. The beats come from the level's beat map. If there is no map, from the markers. So exactly what you see on the grid is what flashes
More - Rhythm and structure
Resources and utilities
Texture Objects
Turns an image into objects, one per cell. The picture becomes level content and is animated like everything else
More - Images and fonts
Font Cache
Collects every character the level's text uses and bakes them in advance. Then no character is prepared at the moment it is first shown
Run it when the text is done. A character added later without rebaking causes a stutter the first time it is shown
More - Images and fonts
Capacity Hint
Records the level's recommended limits: how many objects and effects it needs at the same time
It does not affect what is shown. The game allocates buffers for these limits in advance. Otherwise the buffers would grow in the middle of the level, and that would cause a stutter
More - Level budget