AIR air engine

Past Updates Archive
Blocked February 15 2006 - v0.3.0.0
Although there haven't been many updates on this page lately, this is because of the demo app Blocked being developed.  Since this is part of a competition, we are holding off on releases until the competition is finished.  Many features have been built in order to make Blocked possible, including new models, terrain, water, particle effects, game mode, team structures, full screen, ai path lists, and much more.
Save January 30 2006 - v0.2.6.2
new save command has been added, which saves worlds in the same format as load.
  • save <filename>

With the addition of delegate functionality, the client now has extra support for remote administration.  You can type commands in the console and load command files from the client onto the server, just as if you were on the server itself.  The remote command is still useful for specifying commands that should not be interpreted locally.

Interface January 27 2006 - v0.2.5.7
Basic support for customizing keyboard and mouse buttons inside controls.txt, can be set at runtime with the console.  Theres a new key (F), that when held down, controls the camera while controlling objects.  This is used in follow/float modes.  Props to eloquent for the new logo!
  • ui <command> <key>
  • invertmouse
  • link

For more information on new commands, check the server manual.

Cameras January 25 2006 - v0.2.5.0
Created a better camera viewing system.  It now has four modes: first person, third person, follow, and free float, plus smoother transitions from old targets to new targets.   There is now a working cannon that shoots cannonballs to knock down the castles that we've so painstakingly built.  You can move the cannon around with the wizard and hit it with a fireball, or control the cannon straight up.
  • camera first/third/float/follow
  • view show/hide
  • viewonstartup true/false

Animations January 24 2006 - v0.2.4.0
New shape support for convex, polygon, and cylinders.  Additional object settings: random rotations, random scaling, model autocentering x,y, and/or z.  New commands:
  • animation <class> add <name> <file>
  • set animloop/animindex/animonce <animation-name>
  • texture <texlib> <texname> <texfile>
  • console <attribute> <value>
  • chatbox <attribute> <value>
  • newton debug
Projectiles January 20 2005 - v0.2.3.0
Added fireballs!  New commands:
  • info
  • control <handle>
  • controlfirst <class>
  • sound <name> <filename>
  • penetration <value>
  • tarset <attribute> <value>
  • shadows
Version 0.2.0 Released January 16 2005 - v0.2.0.0
AIR has come a long way.  This version is the most complete build yet! 

Alot of tweaks in this release, including the addition of server.ini and client.ini files, which store default data for each mode.  There is a handy Files tab now in the servers list, to quickly open up common text and data files associated with the server.

Newton Physics January 7 2005 - v0.1.9.6
Have integrated Newton physics alongside ODE.  Newton is now the default library, the previous ODE items still work, although they have been unregistered.  AIR is using Newton because it has support for character movement.  There is now a simple AIRActor object that loads animated 3ds models with FPS-style user interface. 
  • newton on
Dueling Pianos December 26 2005 - v0.1.9.1
Added a fun little class: AIRMusicalInstrument.  With this you can make your own musical instrument, provided audio files and a model.  You define which keys play which files in the objects.ini file.  When you hit a key on the included virtual piano (0 thru 9) the note will play on the keyboard over the whole network!  Instruments have full polyphony, with a dash of latency.
Interview on December 23 2005
I (Dave) recently had the honor and privilege to be interviewed about ai.planet and AIR by Tom Barbalet on  :)  Feel free to read whats going thru my noggin.  I've known Tom for a long time, through his Noble Ape project, which also focuses on alife.  Hopefully AIR lives up to his expectations! 
Change log January 4 2005 - v0.1.9.5
A faster server with tray mode, UI tweaks, remote admin control of servers, client object existence assurance checking (queries server if it detects a missing object), added AIRSkyBox and AIRGLTerrain classes, clock/physics speedup, engine stealth mode, jpeg snapshots, client/server disconnection/shutdown detection and notification, password protected remote administration. 
  • admin <password>  (grants admin rights to a client with the right password, default off)
  • remote <command>  (executes a console command on a server, requires admin rights)
  • classes / definitions  (lists the registered definitions and classes of available objects)
  • add skybox (textures not included in release)
  • add glterrain (terrain files not included in release)
  • set q0/q1/q2/q3 <value>  (sets the static rotation of an ode body, one value per call)
  • netsave <file>  (while server is running, saves the current world as text file)
  • netload <file>  (while server is running, loads a world from text file)

Load command now checks both the root exe directory and 'data' directory (in that order) for files. 

Network Code Phase Two December 23 2005 - v0.1.9
It was mind-boggling, brain-twisting, and insomnia-inducing, but its finished!  The second phase of the multiclient network is complete.  Threaded UDP and TCP servers now run in the background, queueing inbound and outbound traffic messages, and handling connections.  Traffic can be sent over TCP or UDP, just pick a pipeline.  Important messages such as initial world state, new objects, deleted objects, chat, and control/release are sent over TCP. The constant stream of object changes is sent over UDP. Big thanks to Gambit of the Indy Pit Crew for help.

Destructible Fortress  December 20 2005 - v0.1.8
Welcome to Fortress Reid, a huge castle made of over three hundred blocks, complete with windows and doorways!  Just to show off how far the engine can go.  :)  The entire fortress can be demolished, block by block.  The new network code is finally working, but still needs to be fully ported.  The new list server/client connector is finished, fast, and stable, and works over shared networks!  The new fortress will be distributed with the next release.

Generic Objects  December 14 2005 - v0.1.7
One of the main goals already accomplished with this engine is to have new objects added on the fly.  This concept takes things one step further: generic objects.  They inherit from an existing object, and their attributes can be defined during runtime.

New types of objects can not only be added without the need to recompile the EXE, but new objects can be defined and added while the engine is running.  Want a new painting hanging on your virtual wall?  No problem!  You can also resize and re-mass each object in real time.

In this photo there are three different types of balls, two of which were made from the beachball (basketball and cannonball).  The planks and crates are also generic objects made from the blocks.  Example code typed into the console used to create crates:

// usage: generic <parent> <name> <plural> <category> <max>
generic block crate crates boxes 16
def crate texdir Data\textures
def crate texfile crate.jpg
def crate texname crate
add crate

All that is needed to create a new object is a texture!  Even that is optional if you like white.  :)

New Server Code Coming  December 17 2005 - v0.1.8
Working hard on a new server and client network codebase.  Its not functional yet, but when its done it promises to be very stable and reliable.  We will have a dependable environment to start adding all the fun stuff like characters and games.  There is a huge castle in the works too, cant wait to get a screenshot of it up! 
Network test between Calgary and Vancouver  December 13 2005 - v0.1.6
Tested AIR with Reid Bianco in Vancouver, the first person to actually use the engine!  Everything worked great, and blocky mayhem ensued. 
Big Castle Knocked Down  December 12 2005 - v0.1.6
A four story castle was knocked down today by a deceptively heavy beachball.  There was one eyewitness to collaborate the story.  See the photos for evidence.
Exhibit A B  C
Control Release, Out-Of Sync Prediction  December 9 2005 - v0.1.5
New features: ability to release control of an object and take control of another one, so a client can interact with many objects per session.  Syncing of the physics engine has been updated to include client-side checking of illegally changing objects.  If these are detected, then the client asks the server for an update of the object (it knows this because the client time-stamps objects as the server updates them).  Also, some angular damping was added to make rolling objects slow down.  In this photo there are 49 boxes making a castle... this stretched the limits of the collision engine and its not recommend to use more than 24 for now.
Client-Side Control December 7 2005 - v0.1.2
Control of objects on the server by clients is now usable.  A beachball is recommended since the stones are too heavy and awkward to move.  Pick one from the screen with the mouse, and hit the Control button.  Then you can use ASDF to apply forces to the object you are controlling!  Your object may disappear since things are constantly being added and deleted from the server to ensure its reliability. 
Development Progressing Nicely December 3 2005 - v0.1.0
Have been adding many features to build up the app.  Server passwords, client version checking, chat, console commands, synced ODE, and much more.  The network component works but needs a huge dose of optimization.  That will come once all features work smoothly.  You can connect to the test server, or run your own server, with the current beta.  This screenshot shows 4 clients running side-by-side, connected to a server on another computer.
AIR Project Started November 30 2005 - v0.0.0
Soon to be launched officially.  The CVS and other areas will be set up soon.  For now, you can download the test application.  With it you can run a client, server, or list server.  Its suggested to try the client and join an existing server.  It doesn't look like much yet, but working quietly underneath the surface, is a framework for a whole realm of possibilities!  The code is heavily object oriented with many layers of abstraction, written in Delphi.
Call for Game Designers, Artists, and Testers November 28  2005 - v0.0.0
We need every kind of talent to help build a game made on top of AIR.  The game design is still open.  It is leaning towards a simple, fun multiplayer team game involving the building of blocked structures and of course blowing them to pieces!  Each team has an important place to defend and should construct a building around it for defense.  Please contribute if you can draw cartoonish 3D animated models!  Visit here if you are interested.
"AIR Engine" Copyright (c) 2005-2008
Naturally Intelligent Inc.
All Rights Reserved