Developing AI for an existing game

At our university we developed a better method to obtain intelligent AI. For my master thesis I need to show/prove that this method can also be effectively used in a popular/commercial game engine.

So I actually just want to code Artificial Intelligence without building a complete new game.
Is there some kind of example game for Panda3D, where I can build AI for? (Action/Shooter game would be nice)

Building a game myself would be something for my spare time.

Any tips/help appreciated :wink:
Seems like a lovely community

What kind of AI are you speaking about? The scope is pretty big.

You could use the roaming ralph example if you add a few other avatars.

The sample game asteroids panda has but its 2D

Well it’s just a proof of concept but it has to be an AI that performs complex tasks realistic and intelligent. I have to be able to generate “thousands” of different AI behaviours and select the best one. (Not the strongest one, just the one that makes the game most enjoyable, create different difficulties etc…)

I have to be able to let the characters play against each other, but also be able to control one of the characters myself if I want to.

I already did this with tanks in a 2D game, but now I have to show that this method also works in advanced (=complex/3D) games

Tips?
Open source panda games?

Thanks :slight_smile:

Hmm… I may very well be mistaken here, but if you mean “thousands” of different behaviours plotted from a given single game-state (that is to say, a given level and arrangement of elements in that level, including the AI’s current position) seems like an awful lot, even in a fairly complex game level.

I don’t know whether anyone has an open-source game of sufficient complexity for you to use; if not, then perhaps you should look to creating something yourself. Depending on the expectations of those who will be examining this game, you may well be able to leave out various elements that a normal game might call for but that are superfluous to your ends: does it really want for a main menu, or more than a single level, for example?

Perhaps you could get away with designing a single level – or perhaps a procedurally-generated level, which might provide more opportunities for your AI to show off a little – one or more player elements and several AI elements. You might look to create a simple version of a relatively complex genre:

[*] Perhaps a slice of an RPG, in which the player gets to choose which skills, etc. they have, but without an actual levelling mechanism (since it’s only one level). Player elements then might include a main goal, some side-quests and some gear that might be of use to the player.

Your AIs might then include three or four enemy types, each with a set of abilities and perhaps some sort of command structure (the simple melee-only grunts make only immediate decisions for themselves, while the handful of sorcerers direct them toward greater goals).

Perhaps give the AIs a goal (perhaps shipping crates towards a war effort) that the player is supposed to interrupt, make them initially unaware of the player, and have them prioritise having troops working towards this goal and hunting the player once they find him. Further, the AI has the choice of throwing everything at the player, or sending some troops to guard/destroy potential player weapons in the side-quest paths.

[*] Perhaps a level from a stealth game; allow the player to see enemy view-cones and then attempt to infiltrate a building in order to steal an item or assassinate a character. The enemy might then react to changes in its environment: doors opened or closed, noises, light sources doused, objects missing, etc., and then choose how to react: investigate alone? Call other guards? Raise an alarm? Send people to protect the item/character? (Which last option is itself a potential part of the AI showing off: having it conclude that the player is after the item/character without being told so beforehand.)

[*] Perhaps a level from a small tactics/strategy game: the player has a given set of units (no resources, etc.), which the enemy has a base and resources to work with. The enemy might once again have a main goal aside from the player, and have choices to make regarding how to allocate resources towards that main goal and towards dealing with the player. Additionally, give the AI fog-of-war, and leave it unaware of the player at first, allowing it to demonstrate how it reacts to various stimuli on the part of the player: perhaps it underestimates the threat if the player feints with a small, weak force, for example.

In whatever game you might make, however, I recommend making it 2D and top-down: this should be relatively quick to make, especially if you skimp on the graphics and animations, and should allow you to demonstrate the AI’s actions by allowing the player to view the whole field of play (even – indeed especially – if the AI is aware of only a limited set of that).

One way or another, good luck! It sounds slike an interesting project. :slight_smile:

A3G just came to my mind: a3p.sourceforge.net/
It’s a fast paced multiplayer first person shooter with balls as avatars.