home home

downloads files

forum forum

docs docs

wiki wiki

faq faq

Cube & Cube 2 FORUM


Evolution of Sauer's AI

by KillHour_school on 03/19/2008 18:55, 7 messages, last message: 03/24/2008 04:09, 1262 views, last view: 04/23/2024 19:38

This is quite a heavy proposal, so I'm going to split it into stages. I plan on trying my hand at the basic programming, or at least take care of the immense amount of trial and error this will require. I'm hoping some bot veterans (that means you, Quin) can help me get started - it's an interesting project, at least.

Stage 1: Where the hell am I?

Currently, monsters in sauer are oblivious of the architecture around them. In order to have some semblance of an AI that doesn't require extensive pathmaking, they need to be aware of at least basic features around them. This would be split into sub stages.

Stage 1a: Lava is hot

Monsters falling off the map is bad. The simplest way to take care of this, is probably to have them keep track of their altitude, and refuse to go anywhere that brings them to zero. This is the easy part.

Monsters need to keep track of the relative distance and direction of fluid materials, so they don't randomly walk into lakes or lava. This is the hard part. I'm not sure how I'll implement this, but I'm sure I'll come up with something.

Stage 1b: Square peg in round hole.

Running against the wall isn't very constructive, and neither is trying to fit a baaul through a 4x6 cube door. Monsters need to be aware of their bounding box, and know that if they stand in front of a pillar, the rocket will explode in their face.

Stage 1c: Finding your target

Monsters are already pretty good at this, as they are always aware of the player's position. However, figuring out where the player will be a second from now is important for monsters that have to lead their targets.

When I get to this point, I will consider stage 1 done. I have 4 stages in mind, so this could take awhile. If anyone has any suggestions, I'd love to hear them.

I'm usually on IRC (Quakenet, #sauerbraten)

   Board Index   

#1: AI

by rknigh21 on 03/19/2008 20:39

Hi
I like your ideas. A general point.

The RGP side of Sauerbraten (Eisenstern) already has the ability to setup parameters that affect the monsters also they can have ranged weapons. If the plan is to increase the flexibility of Eisenstern so it can do FPS type games would it be better to develop the ai in that. Is that already on someone's agenda ?

I developed some very basic bot ai for the simple fps I created using Apocalyx (http://www.clearcrystal.co.uk) where the bots moved in a random direction until they bumped into some geometry then just followed it (walls etc) until they spotted the player. Provided you new that when mapping it could work quite well IMHO.

I am currently playing with aiclip to keep monsters in a given area on a map I am working on.

I would also like to be able to add new monster types to the FPS game without having to modify monster.h and re-compile.

reply to this message

#2: AI

by Captain_Ahab on 03/20/2008 00:45

I think a lot of the deficiencies could be solved if the monster AI could be directly scripted in a similar manner to \'robot-programming games\' like droidbattles.

http://www.bluefire.nu/droidbattles/

so a monster AI could be written like any other cubescript and put in a .cfg file that is linked to a monster...perhaps give same type of monsters different \'personalities\' so all ogros don\'t all act the same.

or even if the sorts of AI states could be expanded slightly and the states called via cubescript.

just an idea

reply to this message

#3: Re: AI

by rknigh21 on 03/20/2008 21:53, refers to #2

Hi

I like the idea of being able to script monster behaviour but not sure it would be practical because : The ai is run for each monster for each frame update, this means that the script on the ai would also be run each time. As the script is interpreted this may be two slow if you had more that a few monsters active at any one time. Does anyone know how fast cubescript is executed ?

I notice that Eisenstern allows you to set parameters for each type of monster but not ai script.

Robin

reply to this message

#4: Re: AI

by ezombie on 03/21/2008 03:03, refers to #3

Well, we are now completely using Lua scripts to draw our HUD - with no noticeable fps loss, even at 200fps+ levels.

Cubescript looks like it would/could run VERY fast indeed, much faster then Lua...

Having scripted monsters, and then pulling /including the scripts in the map cfg file would be a great thing for advanced mappers. Then one could customize one of the stock AI scripts to fit a certain map situation.

reply to this message

#5: Re: AI

by JadeMatrix on 03/21/2008 04:45, refers to #3

We should have scriptABLE AI. That way, we can script actions such as go from point A to point B, but the fighting would be controlled by the engine.

reply to this message

#6: re: AI

by ProxyRULE on 03/23/2008 17:54

@5 ya scriptable actions such as got get this Hp boost before attacking

would be nice

also I would like to see the monsters use power ups like the quad and different weapons instead of the default one type of weapon per monster class ie orgo could use cg rocket and and the plasma ball instead of that just one attack

reply to this message

#7: Scripted AI

by KillHour_ on 03/24/2008 04:09

Sorry, but I have no intention of doing any of these things. If you want scripted AI, don't look to me. I'm sticking with the K.I.S.S. method.

reply to this message

   Board Index   


Unvalidated accounts can only reply to the 'Permanent Threads' section!


content by Aardappel & eihrul © 2001-2024
website by SleepwalkR © 2001-2024
53862488 visitors requested 71637580 pages
page created in 0.019 seconds using 10 queries
hosted by Boost Digital