Advertisement

AI Sandbox

Started by May 22, 2008 12:32 AM
6 comments, last by wodinoneeye 16 years, 5 months ago
Hi, I would like to create some games which are simple in rules and graphics, but include some AI on which I can practice my skills. Any suggestions for those? I would also like to create a small sandbox to test AI's in, but I wouldn't know how to start such a thing of. Any ideas are welcome. Thank you
You might be interested in Open Steer, it comes with it's own simple OpenGL sandbox for testing AI ideas.
Advertisement
Thnx for the quick reply, but I'm not quite acustomed with c++. I know vb.net and c# and I understand c++ code, but I can't write it yet.

Any ideas how to write such a thing on my own.
Actually, I am interested in finding an AI sandbox where I can experiment too, but I would be happy to write everything in C++. It might be considered a mini-hijacking of this thread, but if people have good suggestions that require C++, please post them.

Open Steer seems to be a good approach, but it's very limited in scope, and I am not particularly interested in steering behaviors. I am looking for something more symbolic, where there are object and characters and the agent has a range of actions available to interact with the environment (think "The Sims").

If such a thing doesn't exist, I might create one as a project this Summer.
Quote: Original post by dries123
Thnx for the quick reply, but I'm not quite acustomed with c++. I know vb.net and c# and I understand c++ code, but I can't write it yet.

Ack. If you want to do stuff in the game world, C++ is going to come in mighty handy. The only escape clause from that is a scripting language such as lua. .NET isn't going to find a lot of mainstream acceptance in the industry for quite some time (if ever). Also, almost all of your teaching materials and tools (like the AI Wisdom book series) are going to have code in C++. You can read this code... that's fine. But what is better is being able to drop it into your own projects to use.

Dave Mark - President and Lead Designer of Intrinsic Algorithm LLC
Professional consultant on game AI, mathematical modeling, simulation modeling
Co-founder and 10 year advisor of the GDC AI Summit
Author of the book, Behavioral Mathematics for Game AI
Blogs I write:
IA News - What's happening at IA | IA on AI - AI news and notes | Post-Play'em - Observations on AI of games I play

"Reducing the world to mathematical equations!"

Unless of course you focus on developing games under the XNA framework, in which case you're unavoidably bound to .NET and C#! ;)
Advertisement
A while ago I made a little program in Python that displays a field of cubes and pyramids, and allows an external program to communicate with it by the stupidly simple method of reading and writing text files to the same directory as the program. A few people have played with it by hooking it up to chatterbot-type AIs, giving them some kind of context to talk about.

Program: http://kschnee.xepher.net/code/070801cubeland.zip
Screenshot: http://kschnee.xepher.net/pics/070801cubeland.jpg

Since I built a simple scrolling tile engine with sprites and a basic notion of physics (gravity, basic collision, and motion) and sensation (objects have some sensory data that can be pinged only by nearby viewers), there was some version that I'd jury-rigged to be controllable in the same way as the above program. Is that something that anyone would be interested in seeing? It's ugly but would let anyone's AI program do some basic actions in a standard mini-world.
Screenshot: http://kschnee.xepher.net/pics/070502tiles.jpg

What I want is a sandbox where the interface is accessible easily from any language you want to program your AI in; and where the AI controls a body that has specific, limited senses in relation to a set of physical objects in a simulated world. We could then test AIs with some standard tasks like "bring three related objects to Point A and explain in English what their relationship is," and have the AI be doing more than making abstract reasoning in a vacuum. Because there's a lot of research going on already about navigation, I don't much care about that topic and would avoid making it hard for a character to get around the world.



For the visualization, the picture part would give you an understandable/interpretable view of the behavior (so you can easily watch and recognize that its doing the right thing), But then you should have a textual interface alongside it to display the state/planner information so that you can see exactly what it 'thought' it was going to do for whatever tasks the AI figures out. The text should have summary form so that enough is visible on a screen without endless scrolling, but also be able to hierachicly expand sections to get to the nitty-gritty logic (and current state values in being applied to the logic).

You want it to be an integrated debugging tool if possible (to minimize going back and forth between too many tools).

Logs of actions being taken is also useful.
--------------------------------------------[size="1"]Ratings are Opinion, not Fact

This topic is closed to new replies.

Advertisement