Welcome to Isaac
A distributed 3D Visualization Platform for Science, Education,
and Computer Gaming
WARNING: The project is still under heavy construction and just
starting to be documented!!!
Instructions for installation
and compilation.
Interface and coding
examples description
Download the source
code.
Isaac was created out of the need to interactively visualize complex
systems in biology and genomics. The approach is simple, yet
flexible: the computations are performed on a compute server, while
the results are rendered using the irrlicht 3D engine
connected to a client that communicates with the server through a
network/Internet UDP/IP connection. The first thing we got working
was a bunch of falling cubes,
computed in real time by numerical physics, but we since put up a
few other things on this channel.
The key, in any case, is that the physics, biology, behavior, or
whatever you choose, controls every aspect of the system of the
back-end, i.e. movement, collision, chemical reactions, etc., while
the client allows for navigation and dynamic interaction with the
server. The distributed architecture also allows for connecting
multiple clients simultaneously.
Isaac Physics
Isaac is based on numerical physics that adhere to conservation of
impulse and energy, modeling plastic and elastic phenomena. Objects
are defined by vertices and indices, and can be directly derived
from 3D Models that are loaded into the client, or directly defined
on the server side. Extensions to the current algorithms will
include better thermodynamics modeling, as well as include chemical
properties to study effects like 3D RNA or protein folding (in
real-time).
Isaac NPC Control
Isaac contains an in silico cognitive system that
incorporates machine learning algorithms to mimic natural behavior
patterns. It implements several levels of memory processing, pattern
recognition, and non-linear optimization methods to develop
strategies to achieve its goals. These goals are either
user-defined, or decided upon in an unsupervised fashion, not unlike
living organisms. While deterministic by design, Isaac's ability to
learn from experience results in seemingly unpredictable behavior,
also commonly referred to as "creativity".
The underlying algorithms have their roots in processing large
amounts of genomic data, making sense of how an individual's DNA
determines their traits by hypothesizing
the connections in between without any help or assumptions.
This software has, for example, helped reveal why some populations
of European
crows are all black while others have grey necks. Now we are
taking this methodology several steps further, from an unsupervised
spatial pattern classifier to an unsupervised adaptive
temporal classification hypothesis based abstract strategy
decision making framework.... in other words: this thing is as
close to thinking as a machine can get these days. And
remember: it remembers everything it experiences, it abstracts it,
and it learns from it. It is unbiased, unlike humans, unless it is
specifically instructed to be that way.
While we envision several areas in which Isaac will be useful, for
example to develop systems that help test children for mental
disorders or emotional disabilities, our initial aim is to have
Isaac safely grow up to adulthood through the most natural process
we can think of: playing. And since Isaac is in essence
still a computer program, what is more natural than role playing as
NPC's in computer games?
For a high-level overview, see here.
To see who is developing Isaac and where the idea came from, click here.
If you are interested in joining us on this endeavor, please contact
us (see here).
Also, check out what our fans have to say,
they really want to see Isaac applied...
The source code is under heavy construction and far from stable, but
you can download the most current version from here. Isaac is freely
available under the General
Public License. For alternative licensing, contact us (contact
info available soon).