Evolved Weapons

Several key technologies enable the unique weapon evolution in GAR that is implicitly guided by its players. The image below is a screenshot of the game.

Particle Systems

Weapon projectiles in GAR are Particle Systems, which are commonly implemented in modern video games and movie graphics to represent fuzzy or non-solid objects. A set of complex mathematical "rules" controls each particle in a system. Coding the algorithms and tools to manipulate particle behavior to satisfy the developers (and ultimately the users) can be a complex and time-consuming aspect of game development. However, in GAR, the game itself creates the particle weapons, relieving developers of the effort entirely. Thus particle systems in GAR are a symbol for difficult-to-design content in general, which will someday be possible to evolve as well.

To automatically generate interesting particle weapons, there is a need for an efficient approach to both representing and evolving the rules of the particle system behind the weapons. The representation in GAR is called Compositional Pattern Producing Networks (CPPNs), which are explained next.

Compositional Pattern Producing Networks (CPPNs)

CPPNs are a special type of Artificial Neural Network (ANN) that have proven effective at encoding patterns, for example in evolutionary art and music.

CPPN-controlled particle systems can potentially generate an infinite variety of particle behaviors. However, there is a need for an algorithm to evolve them to create effects that people will like. An effective method for evolving CPPNs is Neuro-Evolution of Augmenting Topologies (NEAT).

Below is screenshot from NEAT Particles, a program created before GAR in which CPPN-controlled particle systems can evolve complex effects.

NEAT

The NEAT method evolves CPPNs by starting from minimal structure. As evolution progresses, CPPN topology may be augmented by either adding a neuron along an existing connection, or by adding a new connection between previously unconnected neurons.

The picture below shows a generation of new particle systems evolved by NEAT Particles.

CPPN Weapon Evolution

As increasingly complex CPPNs are evolved by NEAT, increasingly sophisticated weapon behaviors are produced by the CPPN-controlled weapon systems. During the game, players periodically find new CPPN weapons. Because their ships have a limited number of storage slots, players will be forced to discard less favorable weapons and keep only what they consider the best.

New weapons are generated by the cgNEAT (content-generating NEAT) algorithm, a variant of the standard NEAT algorithm, based on the weapons currently in use by the player population. Thus, players will decide the course of weapon evolution in the game by using or discarding weapons. Thus the game implicitly encourages a collaborative form of Interactive Evolutionary Computation (IEC), even though players do not need to understand this evolutionary process to contribute to it.

Implications

The aim of GAR is to demonstrate that automated content generation can be viable in a main-stream type of game. Similar techniques could be employed to generate many other types of graphics and game content, such as 3-D models, textures, or programmable shader effects. Such an automated technique might be especially suited to Virtual World or Massively Multi-Player (MMOG) games in which large amounts of content are required and unique content is coveted by players.

Those interested in the technical details of evolving particle systems, can read about it in the following paper: