Sign in to follow this  
hawkeye_de

AI Framework for .NET?

Recommended Posts

Hello,

this weekend I'll plan to start to develop my Indie submarine (modern) naval sim with XNA 4. Since the core of such a sim/game is not grahpics but heavily AI (I consider this as the most important part, apart from the simulation engine), I'll relatively soon reach the point where I need to start writing AI code.

I've already read some standard books about AI/GameAI, so I'd say I have a big picture about the topic.

So, can you guys recommend me any .NET framework concerning AI...especially for the more advanced algorithms? FSM and similar 'easy stuff' will not help me much...the environment of such a setting is too dynamic (strategic/tactical A, also ownship crew AI).

The .NET AI frameworks which I've found, seem to be pretty outdated, so I am unsure if it is not better to write the stuff by my own - by leveraging coding snippets of various forum threads and blogs.

Thx.

Share this post


Link to post
Share on other sites
[quote name='IADaveMark' timestamp='1307721267' post='4821744']
Most of the code you will find for game development in books and on websites will be in C++. Not a lot of .NET stuff floating around for a variety of reasons.
[/quote]

Have the same impression...I assume you mean with 'variety of reasons' that c++ is still the major language concerning game development?

Share this post


Link to post
Share on other sites
[quote name='hawkeye_de' timestamp='1307791773' post='4822052']
[quote name='IADaveMark' timestamp='1307721267' post='4821744']
Most of the code you will find for game development in books and on websites will be in C++. Not a lot of .NET stuff floating around for a variety of reasons.
[/quote]

Have the same impression...I assume you mean with 'variety of reasons' that c++ is still the major language concerning game development?
[/quote]
Even deeper than that... there is a [i]reason[/i] that C++ is the major language for game development -- and only part of it is institutional momentum. For example, many games need the fine control of memory management that .NET languages remove in the name of "helping make things simpler".

Share this post


Link to post
Share on other sites
I don't know of any AI Frameworks for .NET (or many in general). You'll probably have to implement your own version of A* and the like.

Behavior Trees are a good place to start. They're discussed extensively on aigamedev.com. Read [url="http://aigamedev.com/open/tutorials/backbone-behaviors-movement-animation/"]this article[/url] first if you aren't familiar with them. You can implement one like this:

[code]enum TaskResult {
Running,
Success,
Failure,
Error
}

// this could be a Func<float, TaskResult> instead of an interface
// if you prefer a functional style over object-oriented
interface IBehavior {
TaskResult Run(float dt);
}

// example behavior: sequence
class SequenceBehavior : IBehavior {
public TaskResult Run(float dt) {
if (Behaviors != null && current < Behaviors.Count) {
IBehavior b = Behaviors[current];
TaskResult r = b.Run(dt);
switch (r) {
case TaskResult.Success:
++current;
if (IsLooping) {
current = current % Behaviors.Count;
}
break;
}
return r;
}
return TaskResult.Success;
}

public IList<IBehavior> Behaviors { get; set; }

public bool IsLooping { get; set; }

int current;
}[/code]

You can see how you'd implement the other core behaviors (Parallel, Priority Selector, Probability Selector) and go from there.

Share this post


Link to post
Share on other sites
[quote name='Druzil' timestamp='1308035850' post='4823086']
Depends what you want to do....

[url="http://www.aforgenet.com/"]http://www.aforgenet.com/[/url]

may have something you are after (eg NN and GAs)
[/quote]

That looks very interesting^^. Thx!


Share this post


Link to post
Share on other sites
Perhaps you have a look here:
http://www.youtube.com/user/ArtificialTechnology
http://www.ekione.com

We just release our new version EKI One v2.6 incl. .NET client and Unity Workflow SDK.
You can also download a trial version on shop.ekione.com



[quote name='hawkeye_de' timestamp='1307719948' post='4821742']
Hello,

this weekend I'll plan to start to develop my Indie submarine (modern) naval sim with XNA 4. Since the core of such a sim/game is not grahpics but heavily AI (I consider this as the most important part, apart from the simulation engine), I'll relatively soon reach the point where I need to start writing AI code.

I've already read some standard books about AI/GameAI, so I'd say I have a big picture about the topic.

So, can you guys recommend me any .NET framework concerning AI...especially for the more advanced algorithms? FSM and similar 'easy stuff' will not help me much...the environment of such a setting is too dynamic (strategic/tactical A, also ownship crew AI).

The .NET AI frameworks which I've found, seem to be pretty outdated, so I am unsure if it is not better to write the stuff by my own - by leveraging coding snippets of various forum threads and blogs.

Thx.
[/quote]

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this