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).