dim3 Forum

Full Version: Complex A.I.?
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2
This may sound like a stupid question, but I have been reading through both the documentation and the posts on this forum, and I was wondering if what I seem to have just now realized is true....


Can Dim3 do complex A.I.? Not the kind where you just script enemy behavior; this engine seems mainly designed to create enemy bots similar to a FPS such as Halo. I was wondering if it can do other things, like for example, if I were to program a fighting game (or aspects), how do I get it to not follow the same predictable pattern?

Or take a game like Star Wars Battlefront (for those of you who have played it); can I script enemy A.I to behave likewise, or is it that perhaps Dim3 cannot do these things yet?

In other words, I need A.I. that has a certain random quality that can compare with that of another human player; this is EXTREMELY important for my projects.

Any help whatsoever concerning this particular matter would be greatly appreciated to the utmost extreme.
Star wars battlefront AI is stupid. Whenever there's a small space with enemies they fill it with grenades then run into it right before the grenades go off. :P

But yes, you probably could get swbt quality AI but it would take some work. Smile
Think using nodes as bases instead of path finding. (place nodes on all places in map that could be used as bases)
Of course you'll need some nodes for pathfinding, but set the slop ALOT so they don't walk the same way (and use grids so they'll take different paths).

You also might want to script something to bounce bots off eachother so they don't collide and get stuck....

[EDIT]Simpler is better. I think you mean unpredictable or realistic AI, but making it complicated won't necessarily make it better. Wink
Unpredictable or realistic A.I. is EXACTLY what I mean! Not necessarily swbt per se (although that would come in handy), but something that would enable me to make a Deathmatch or Chess type mode that would not REQUIRE online play; think something along the lines of Halo 2 with bots, or Unreal Tournament.

Another problem with the Chess or turn based mode is I don't think there is a way to "toggle" the A.I. on or off yet, so that I could, for all intents and purposes, play certain aspects verses myself, but toggle the 2nd player to A.I. when needed.....


This brings to mind a question that I have been having for some time now: is it possible to, say, make entirely NEW modes other than those specified already (Deathmatch, Team Deathmatch, CTF). I am pretty sure that can be done by proper editing of the Game script, however, my question is actually whether or not it would be possible to have a central hub-type level, and have different doors or portals that when triggered will enter the mode of one's choice. I don't lke the idea of having to compile separate Data folders for each game type....
Not sure what you mean by toggling AI, but you can certainly make a turn based game with some simple scripting if that's what you mean. And yes, you could make a death-match game without multiplayer.

As for the modes, I dunno. For the door thing, I don't think so but this should really be added. Smile
btw, it's not compiling, you don't compile in dim3. Wink
Well, what I mean by compiling is I don't want to have separate Data folders for each mode, when it would be so much easier (and more professional), to have some sort of mode select. Like those old Atari compilations for the Playstation, only instead of walking through to pick your game, it would pick a different mode. Or even better, something via a Chooser or launched from the title screen....

As for toggling the A.I., it is simple: my idea was to have a turn based game similar to Chess or Archon, where I could control the second player myself. However, when one player attacks the piece of the other player, I want it to switch to something of an arena type combat, however I obviously can't control BOTH players at the same time. So the idea was to script it so that I could press a key and it would transfer control of the second player to the A.I.
It's possible to switch the player in a way but not sure if it would be worth it.
I take it such a way might prove to be overly difficult, and therefore perhaps less than feasible? It is not a requirement, but it would be useful to me....

I forgot to ask about it earlier, but what exactly IS path finding? I have seen documentation about scripting nodes, but I am uncertain quite what you mean by the rest of it (such as using nodes as bases). I also have never quite fully understood exactly what a node is; perhaps I should reread the documentation on it. Is it a portal, or a spot within a portal, or both?
A node is a certain point in space that can be connected to other nodes and used for path finding (among other things).
There are a few APIs that allow an object to walk from one node to another, passing all the nodes between them.
This is useful for moving enemies around objects or having them patrol a certain area, etc. etc. etc.

IMO it's possible to write a complex AI. I'm saying possible, not easy. I'm working on something though and hope that others might learn from it.
In other words, it is a point within a level, not the portal itself, correct?

I await the swift resolution to whatever it is you are currently working on; may you meet with much success concerning it!
Pathfindng=finding a path. THe point is to walk from A to B without bumping into walls.

Bink: Their not just good for patrolling, if that's what you meant. They'd probably work in fighting AI to. (make grid of nodes, tell AI to attack node X and they will move to it without colliding with walls)
Pages: 1 2
Reference URL's