Sadwoja
by Sam Baskinger
What is Sadwoja?
Sadwoja is a Java API. That is the short of it, anyway. What Sadwoja seeks to
do is provide an expandable and flexible "playground" for pieces of AI to be
tested/observed in. You could even build some sort of game using Sadwoja
as the core world engine.
The was Sadwoja works is by taking 3 seperate objects, events, worlds, to
operate. Ussually there is only one world and it acts like a router for
the events. The events get sent either to all world objects (via the world)
or to one world object (also via the world). When events are recieved, they
are processed by the world objects, effecting their traits. World objects can
also store events which take time to complete and will update those events
before other events are processed. These are called persistent events.
With this infrastructure it should be simple to extend the existing classes to
create new creatures, put them in a world, and patch some AI onto them to
control them.
That is about it!
Where did this come from?
The insperation for this came out of an AI seminar class held in the Fall
semester of 2000 at The College of New Jersey by Dr. Ursula Wolz. In that
class many forms of AI solutions where looked at. Agent solutions,
brute-force tree searching, and event a simple set of rules where tried.
Initally Sadwoja was to be an exploration of competing agent-based solutions
for some simple problems, but grew more abstract to the point where Sadwoja
only managed the data, but had enough hooks so that a Sadwoja world object
could be manipulated by some software. There is a
demo
showing some agents searching a data set for
one known element, but the real intrigue lies in being able to pull out the
AI managing that search, and put in new AI very quickly.
There is more information available in the paper that was written about
this system, if you are interested. It is available in both
Postscript and PDF.
If you are more curious about the name, Sadwoja, it stands for
Sam's
agent
driven
world
of
Java
automata.
Can I use it?
Sure! Sadwoja and the demo are all under the
GPL and so feel free to use them and even poke around
in the source code.
Where can I get Sadwoja?
sadwoja.jar - Sadwoja source. Documentation can be
created by using javadoc.
sadwoja.jar.sig - gnupg signature signed with
the key of Sam Baskinger. If you need a copy of the public key to verify
the jar feel free to email me at
basking2@yahoo.com.
Online Sadwoja API Documentaion