Sign in to follow this  

AI Technique (for a game) - YOUR OPINION!

This topic is 2664 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Hi there, I am developing an action shooter that requires some simple AI. I have some ideas about some potential design patterns, however I am interested in grabbing some other people's suggestions about a plan of attack. Let me tell you a few things about what is required:

The AI is constrained to an area on the one axis (they can only move left and right). Opposite this is the player who is also confined to a single axis. In the area between the AI and player, there are obstacles that provide cover / shielding. The AI can rotate and shoot using a variety of weapons. I need to have varying behaviours for the AI e.g. defensive, aggressive, etc to give the illusion of varying personalities.

At this stage, I am thinking a simple finite state machine as a starting point.

Perhaps fuzzy logic may be suitable? What do you think? Are there any other AI techniques that you think would be appropriate? Thanks in advance.

Share this post


Link to post
Share on other sites
1. Build a prediction and aiming system so the enemy can use each weapon, predict where the player is moving to, plot an intercept, check the line of sight of the weapon to ensure it won't hit any shielding.

2. Build a dodging system for the AI to use cover and avoid incoming fire.

3. Once you have those working 100% then you can start working on the higher level decision making stuff. Basically each 'personality' you want to implement will have different parameters to those two systems. You will also need to build in weapon switching logic.

Share this post


Link to post
Share on other sites
Quote:
Original post by Noggs
1. Build a prediction and aiming system so the enemy can use each weapon, predict where the player is moving to, plot an intercept, check the line of sight of the weapon to ensure it won't hit any shielding.
I think you are combining two concerns in this item: predicting enemy movements, which sounds like a good task for various heuristics and/or for rather black-box learning, and knowing how to shoot any weapon at any location and any time, which seems suitable for straightforward computations of line of sight, bouncing, etc.
The interface between the two parts of shooting is, of course, the prediction result: the enemy will be at place x at time t with a certain probability.
Quote:

2. Build a dodging system for the AI to use cover and avoid incoming fire.
This is the same problem as aiming, applied to the opponent. The result of both could be combined into a map of places that are good to shoot certain regions of the map or offering cover from certain regions of the map, ready for the higher level decision of where to go.
Quote:

3. Once you have those working 100% then you can start working on the higher level decision making stuff. Basically each 'personality' you want to implement will have different parameters to those two systems. You will also need to build in weapon switching logic.
I think the main variations would be weapon choice, propensity to shooting vs staying in cover, use of suppressive fire, and artificial degradation of accurate aim and movements.

Wouldn't the game degrade into a boring standoff if both parties keep cover indefinitely, or a trivial slugfest if enough obstacles are destroyed? Will the player be able to do something clever?

Share this post


Link to post
Share on other sites

This topic is 2664 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

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