Take the 2-minute tour ×
Game Development Stack Exchange is a question and answer site for professional and independent game developers. It's 100% free, no registration required.

Im currently starting to work on a game project where a player will be faced against an enemy which has a hive mind. I was wondering if anyone could recommend an A.I system which I could use as at the moment I am thinking about using Finite State Machines(FSM) and I think that if I use FSM's that it will get messy.

Just to clear up what will be part of the "Hive Mind" if anyone was wondering will be:

  1. Hive Leader
  2. Soldiers
  3. Workers

Under each of these categories there will be roughly 2-3 different sub-categories which will have to have slightly modified FSM's dependent on their abilities.

Thanks for any response

share|improve this question
    
a hive mind shouldn't really affect how your units behave. It's kind of like just giving them access to a static "knowledge" class which stores important information, like where they last saw you, how many units you have, etc. Aside from that your units ai is no different than anything else. You might just need to create something that tells the unit what it's goal is based on known information. –  Benjamin Danger Johnson Apr 15 '13 at 20:49

2 Answers 2

up vote 10 down vote accepted

Nearly all AI systems out there are "hive mind" already. Consider, the AI knows where every unit is, what every unit can see, what each unit is doing and has control over their actions. Most any RTS AI is already functioning like a hive mind.

You may be over thinking your implementation, since it's already very common. Search around for AIs that are suitable for RTS games and you'll find your hive mind AI.

share|improve this answer
5  
I would be pretty interested in a game that wasn't a hive mind actually. It would give some interesting game play elements. Like jamming communications and killing scouts before they could report your position. The AI wouldn't know what happened to their unit because it never returned its intelligence. –  Byte56 Apr 15 '13 at 17:47
1  
The interesting part of that idea I think would be figuring out how to enforce the same C3I limits on the human player without creating a frustrating experience. –  Dan Neely Apr 15 '13 at 20:38
    
I'm guessing it would be frustrating. I imagine some kind of FPS where the player is in an office back at HQ, reading reports and looking at maps. Not your typical RTS for sure :) –  Byte56 Apr 15 '13 at 22:15
    
Well they do that in Battlefield 2142 wth commanders who get information from satellite sweep and player reports. I image it would work well if each unit had a knowledge class that gets synced with with other units when the come close (I'm pretty sure that is how stealth games are handled). –  Benjamin Danger Johnson Apr 16 '13 at 0:10
    
If done well I don't think it necessarily would be. I'd've thought playing a strategy/wargame without direct control of sub-units would be problematic but someone (SSG?) made a series of turnbased ACW/WW2 wargames in the late 80s where you gave general orders to intermediate level HQs (ex defend this area) and they managed the placement and actions of a half dozenish sub-units. It made a refreshing change from the typical general as supreme micro-manager paradigm common to the genre. A game that added communications delays too has been on my wishlist ever since. –  Dan Neely Apr 16 '13 at 13:09

byte56 is right. Most games are like that anyway. It's too computationally expensive to use an AI that truly has limited information. Better to give it all information by default, then simulate one with limited information by selectively ignoring stuff or causing an occasional lapse in judgement. Regardless of the How, here's something that you might like for experiments.

Open RTS Engine for AI's https://skatgame.net/mburo/orts/#Overview

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.