Background / How It Works

There's 5 main elements that affect what you see in the G-Force window, and they correspond to each of the configs folders: Waveshapes, DeltaFields, ColorMaps, Particles, and Scripts.

WaveShapes
A waveshape is something that turns a short sound clip into lines and dots to be drawn (ie, something graphical).

DeltaFields
Next, imagine a chalk drawing on a chalkboard. Someone hands you a big list, and it's a list of commands that all resemble, "find the point (a, b) on the chalkboard, erase what's there, and in its place draw what you have drawn at point (c, d)." If you follow every command on the list in order, you're left with a different picture on your chalkboard than when you started. In effect, you've transformed your initial image into a new one. In G-Force, something I call a DeltaField acts like this list of commands, except that instead of chalkboards, it's meant for the G-Force window. A DeltaField is a recipe that makes a new image or "frame" from an existing one. Like a recipe, it's meant to be used over and over. If you open one up, you'll just see it contains two equations that express a source coordinate as that depends on a destination (within the next frame)

How they work together
Whenever G-Force is running, it has one waveshape loaded and one deltafield loaded at any given time. It's constantly repeats 4 steps:

  1. Use the current deltafield on the current frame to get a new image/frame
  2. Sample some sound and give it to the current waveshape
  3. Draw the output from that waveshape on top of the new frame supplied from step 1
  4. Show the frame on the screen
G-Force will randomly shuffles though waveshapes, deltafields, and colormaps (see the WInt, DInt, and CInt prefs).

ColorMaps
A ColorMap is basically a method to define 256 RGB colors. G-Force does it's work on an 8-bit image offscreen that you never see, meaning that each pixel within G-Force has has a value from 0 to 255. When G-Force needs to draw a pixel, it uses the current ColorMap to lookup the RGB color for each pixel value. In other words, a ColorMap is a one-way translator that turns pixel index values into RGB colors able to be drawn.

Particles
Particles are the things that randomly appear and disappear every few seconds in G-Force. They're the extra things you see flying around in the G-Force window now and then. They're the same thing as waveshapes except that G-Force treats particles a little differently: Only one waveshape (or a morph of two) is ever being drawn at a time, while there can be one or more particles flying around at any given time in addition to the current waveshape. Particles are just waveshapes that appear when G-Force rolls some dice and the dice happen to come up a certain way (see the PPrb pref below). You'll notice that there's two Particle folders, "Particles" and "Particles (Non-Auto)". Particles in the "non-auto" folder will never be selected to be automatically run and can only be run by a script calling them directly. For example, if you made a particle that displayed the text, "Blue Light Special", you wouldn't want it run just randomly--you'd instead only run it at certain times by storing it in the non-auto folder and running it from a script file or from a key-script (see the section on scripting).

"Sprites" are particles in that they behave the same as waveshape particles behave but are different in that they are image-like (while waveshape particles are displayed via line drawing). On other words, a sprite particle is based from an image file, movie, or imaged text while a waveshape particle is based equations that describe line drawing (ie, what WaveShapes are). See the FAQ for the questions that discuss sprites.

Scripts
Scripts are in a special format that contain G-Force commands and time indexes when they are to be executed (ie, "timecodes"). With some time and practice, you can make a script to your favorite song that does planned effects as certain beats and rhythms occur in the audio track. Learn more in the Scripts section.