Skip to content

Projectile Editor

Kyle Robinson edited this page Jan 28, 2023 · 4 revisions

Overview

image

This allows the creation of projectile patterns for any entity (enemies, bosses, player, etc). Multiple projectiles can be configured to be emitted simultaneously or sequentially and towards a specified direction at a specified offset.

image

Load Pattern: Loads a json file with settings for projectile patterns.

Save Pattern: Saves settings for a projectile pattern to a json file.

Spawn Position: Dictates the location that projectiles from a currently loaded pattern will spawn from. This is NOT saved or loaded in the json file. The intention is to allow the user the ability to see the effects of the projectile settings.

image

Add Pattern: Adds a container for a group of projectiles.

Pattern: Displays the name of the loaded group of projectiles. NOTE: Can not be edited in the editor. To change this setting, open the raw json file in a text editor and make changes there.

ID: Displays an identifier for the loaded group of projectiles. NOTE: Can not be edited in the editor. To change this setting, open the raw json file in a text editor and make changes there.

Count: Displays the number of projectiles in the loaded group of projectiles. NOTE: This is automatically updated and not saved to the json file.

Delay: The amount of time in seconds, that this group of projectiles will wait before being spawned. Use the slider to change the value or Ctrl + Click the slider to enter a custom value.

Projectile Tree;

image

This is a list of projectiles currently defined. Clicking the triangle shows/hides the settings for an individual projectile.

Spawn Position: Displays the offset that the projectile will spawn from. This offset will be combined with the Spawn Position for the whole pattern. Use the slider to change the value or Ctrl + Click the slider to enter a custom value.

LifeTime: Displays the amount of time, in seconds, that the individual projectile will exist for. Negative values will not exist. Use the slider to change the value or Ctrl + Click the slider to enter a custom value.

Speed: Displays the speed of the projectile. Negative values will send the projectile in the opposite direction. Use the slider to change the value or Ctrl + Click the slider to enter a custom value.

Heading Angle: Displays the angle that the projectile will travel. An angle of 0 degrees will send projectiles to the right. Negative numbers are allowed and numbers beyond -360 to 360 range will be calculated internally. Use the slider to change the value or Ctrl + Click the slider to enter a custom value.

Amplitude: Displays the value representing the range within which the projectile will oscillate. Negative numbers will produce an undefined behaviour (I don't know wtf will happen, so it's your fault if it breaks! ;p). Use the slider to change the value or Ctrl + Click the slider to enter a custom value.

Frequency: Displays a value representing the number of times the projectile will oscillate... kinda. Negative numbers will produce an undefined behaviour (I don't know wtf will happen, so it's your fault if it breaks! ;p). Use the slider to change the value or Ctrl + Click the slider to enter a custom value.

Add Projectile: Adds another projectile to the current group with default values. NOTE: To remove a projectile, open the json in a text editor and make changes as required, ensuring that the resulting file is json compliant.

Test Fire: Will run a simulation of all loaded patterns. Will interrupt and restart a simulation if one is currently running.


Page Author: Maurice Thompson-Hamilton