I have nearly no programming or blueprint experience, so please feel free to oversimplify your response. Also, the case may be that I am asking the wrong question, because I’m confused about something to do with AI.
Before I get to my questions, I want to say that I realize that actually making this game/simulation would be a massive undertaking. These questions are hypothetical, I am simply trying to understand some questions I have about programming/blueprinting and AI.
A description of the Game/Simulation:
The game is more of a simulation of a bunch of creatures on an island, and you play as a creature, and try to survive. On this island are maybe 1,000 creatures, which all are run by an AI system. They interact with each other and the environment whether or not you are nearby. They would have various types of attributes and abilities, some of which would affect their AI. They would (in no particular order) search for food, die, fight each other, have offspring, sleep, build nests, etc. - all of these actions and interactions would be controlled by the AI system, and kept track of.
Creating the AI would be a complex task because it would be kind of procedural. I mean there would be a large number of segments of code that would only ever be used if it applied to that creature. Like if the creature had claws, it could claw things and dig. If it had wings it could fly. I wouldn’t write a separate type of code for every possible combination of abilities and attributes, instead, when there was a new creature, it would load various interchangeable snippets of code that
As I said, you could play a creature, where you try to survive among the AI creatures. You could also set up the environment from the start how you wanted, and alter the type of beginning creatures, so how the simulation plays out would be different each time.
My questions: (If your answer is “It depends on how well it is optimized”, please note that doesn’t really give me any usable info. If possible, instead assume it is fairly well optimized. Or perhaps describe how quickly things could go wrong if it isn’t optimized enough. Or describe just how involved it would be to optimize it. Anything other than just “It depends”)
-
If you had to take a guess, which of these two things would be the biggest hurdle to making this game, and how much more of a hurdle is it than the other? : 1. Having 1,000 AI run simultaneously, or 2. Writing a procedural/segmented type of AI that would actually work with any type of creature?
-
What part of a computer would be taxed by having to simulate a large amount of AI running through decisions and interacting with each other and the environment?
-
If the AI is fairly well optimized, is there any reason that having 1,000 AI running at once would cause problems or make this idea impossible? Keep in mind you would not have to see all the AI at once, as you would be playing as a creature in first or third person view.
^— If the answer is no, can you make a guess as to how many AI you could have? (I realize that the answer will largely depend on just how complex each AI is, so if you want to answer this maybe you could give a example.)
^---- If the answer is yes, can you explain why? Also, this would confuse me some, or seem unintuitive to me, because it seems like the ability for computers to handle other parts of games have gotten wildly more complex over the years, it seems like this shouldn’t be a gargantuan task. So if it is, how might I be looking at this wrong?
Ok, those are my questions. As I mentioned in the beginning, some of these questions may put on display my lack of understanding of programming, and may just be the wrong question all together. If that’s the case, feel free to point out what I should be asking or thinking about, and why what I asked may be the wrong question.
Thank you in advance!