I. Artist Statement / Why Factor
Liquefaction is a fast-paced game centered around fluid dynamics based gameplay. The
visualization of fluid flow is often very stimulating, both aesthetically and
intellectually. A game that takes advantage this, will have the opportunity to
be very compelling to play. Such a game can even educate the player in addition
to entertain.
II. Previous Games / Influences
My development of this game has been strongly influenced by two existing games. The
overall feel and play of my game has been modeled after the game Rez.
Specifically, I attempted to achieve the same integration of visuals with music
and sound. The fluidity of gameplay used in Rez has also influenced the
development of Liquefaction. The second main influence on Liquefaction is the
children’s game Rocky’s Boots. This game has provided me with a model of
a game that can still be fun to play while having the main purpose of
education. Although Liquefaction is not an overt teaching tool, the users must
first learn some basics of fluid dynamic behavior in order to take full
advantage of the gaming experience.
Fluent is a computational fluid dynamics program designed to accurately
predict fluid flow and is used as a scientific tool. Despite this, my work with
Fluent has influenced my views on the visualization of fluid dynamic behavior.
The escalating difficulty between levels through the increase in game pace is
an idea that comes from my experience with Tetris.
III. Target Audience
A game like Liquefaction will probably appeal to a large audience. Ideally, the
controls for this game remain very simple. The only lower limit on age that I
can foresee is the development of the motor skills and reaction time necessary
to achieve the goals of the game. Since Liquefaction does not contain any plot,
people who do not have a large amount of time to devote to gaming will also
have the opportunity to play.
IV. Introduction and Story
Liquefaction has no story whatsoever. The only introduction that is needed is a
short instructional tutorial which is provided as a web page.
V. Long Term Project Impact
The only foreseeable project impact is an increased interest in fluid dynamics.
Because the game remains true to the governing fluid dynamic equations, someone
who enjoys playing Liquefaction may become curious of the theory behind the
game.
VI. Delivery System and Requirements
Due to my own development restrictions, this game can be played on personal
computers running Microsoft Windows only. It also makes use of the standard PC
equipment such as the monitor, mouse, speakers and keyboard. The gameplay
mostly requires mouse input, but may have minimal keyboard interaction in
future versions. Both the monitor and speakers are very involved in the game
output.
VII. Interface
Liquefaction is played in a top-down view of a two dimensional flow field. Scoring
information is located in a bar positioned across the bottom of the screen. A
bar at the top of the screen is intended to hold inventory information. The
flow field is visualized by a background of particles whose movement is induced
by the flow field itself. Fluid dynamic controls are represented by animated
icons indicating the type of influence they have over the flow field. The
interface also displays the objects that are “floating” in the flow.
VIII. User Interaction
The player can place two types of flow controls. These controls are placed directly
of the flow field using the left or right mouse buttons. Items in the player’s
possession are placed using the keyboard. Using these tools, the player is able
to maintain control over the flow field.
IX. World Layout / Level Design
The world of Liquefaction moves from right to left. Present in this world are source
controls which emit fluid. These sources disturb the flow field and can limit
the amount of control the player has over the flow. The world also contains
colored clouds and items which can be absorbed by the player. The levels are
all randomly generated on the fly. The types of clouds and items present in the
world are dictated by the current level of play. The placement of these clouds
and items relative to each other is such that a skillful player would be able
to separate them if this is needed.
XII. Music / Sound Design
The music and sound are both very important to Liquefaction. The music and sound in
Liquefaction are designed to help immerse the player in the game. Many of the
game’s events are timed to coincide with the musical beat. Each successive
level has unique music which consists of an increasingly complex variation of
the previous level. In this way, the music of the first level is very simple,
and the music of more advanced levels relatively complex. Every event in
Liquefaction has an associated sound. These sounds serve to provide the player
with auditory notifications in addition to visual signs.
All of the music was written for Liquefaction by Willy Joy. The sounds are based on
sounds also created by Willy Joy.
XIII. Rules and Gameplay
The gameplay is structured around a stationary sink in the flow field. The sink
corresponds to the player and absorbs surrounding fluid. When a colored cloud
is absorbed by the sink, it can either increase or decrease the progress bar.
Green clouds increase the progress bar while red decreases it. When the
progress bar fills up, an energy token is provided to the player. The level is
completed after all eight energy tokens have been enabled.
The player is able to control what flows into the sink by manipulating the flow
field. This is done by placing either clockwise or counterclockwise vortices.
Vortices are only created on the beat. When a vortex is placed, an energy token
is drained (but remains available). Energy tokens regenerate slowly and should
be used sparingly. A vortex can be added to an existing vortex or source
without using any energy. A vortex placed this way is also created instantly.
When more than one vortex is added to the same control, the strength of the
vortex increases or decreases accordingly.
XIV. Program Structure
The program is structured around the implementation of the flow field. The inviscid
flow calculations are all performed by a single standard fourth order
Runge-Kutta numeric solver. All object classes that can be moved by the RK4
solver inherit from a single movable class. Likewise, all object classes that
control the flow share inheritance. The level transition animation is generated
in real time by a custom particle 3D engine. Many of the mathematical
computations performed in the program including those of both the flow field
and transition animation employ a two or three dimensional vector class.
XV. Technical Specs
The fluid dynamic model is set up to simulate inviscid, incompressible, irrotational
Newtonian flow. This type of behavior is governed by modified Navier-Stokes
equations and has a linear solution. As stated above, the equations of fluid
motion are solved using a standard fourth order Runge-Kutta numeric solver. All
flow controls are modeled as singular filaments.
The graphics are drawn using the Simple DirectMedia Layer (SDL) library and the Open
Graphics Library (OpenGL). Prerendered graphics are created when the program
starts up and then displayed using OpenGL. The sound and music are played using
the SDL Mixer Library. Music files are compressed in the Ogg Vorbis format, and
sounds are Windows RIFF WAVE files.
XVI. Implementation
The program was written entirely in C++ linking to the SDL, SDL_Mixer and OpenGL
libraries. It was compiled using Microsoft Visual C++ 6.0.
XIX. References
Heath, Michael T. Scientific Computing. New York: McGraw-Hill, 2002.
Kuethe, Arnold and Chuen-Yen Chow. Foundations of Aerodynamics. New York: John Wiley & Sons, 1998.
Shreiner, Dave, ed. OpenGL Reference Manual. Indianapolis: Addison Wesley, 2000.
|