I have several questions about the UDK capabilites, if anyone can answer these for me it'll be much appreciated.
Also i shall be adding more question as my game develops.
1. Is it possible for UKD to emulate more than 1,000 NPCs, preferably in the 5,000 to 10,000 range?
My game requires a large overall population but not neccessarily running all at once.
2. In my game, player is amungst many NPCs in multiple areas but i need for the NPCs to have certain characteristics and can use different functions. These NPCs will later on carry totally different characteristics and behaviors.
For example: NPCs will have a passive nature at the start. Some will travel about the play area while others may stand about or intereacting with objects within the stage. I know of some sort of actor type or function that allows multiple actors to travel a specified path and comes with limited functionality. So is it possible, while using this actor type/function, to specify multiple behaviors and functions and have them change over time, or will i have to use seperate actor types for this?
3. Will UDK allow a function (or whatever) that will allow the player to recruit NPCs into a faction as well as set NPC behavoir to more advance functions?
4. Can UDK implament different starting points and classes as well as functionality based upon choosen difficulty?
For example: lets say Player chooses EASY, where player will start at the easiet possible point will all access to level mechanics and as such. But should Player start in MEDIUM, player will ahve an entirely differ class and starting point, same for HARD.
5. Is it possible that, in certain levels, the game can be made to spawn random types of enemies and, if all killed on lever, remain absent for a specified (or random) amount of time?
As i've said before, i shall be adding more question as my game develops.
1. Probably not. It can support a good amount of instanced objects, but something with AI would be a challenge.
2. Sure, it should be able to have changes to behavior.
3. If you set it like that then it can.
Many of these issues are either things setup with Unrealscript or with Kismet.
But again, having 1,000 AI units is not going to work. Plus consider the poly count, if they're each 2,000 polygons (very low) then that would be 2,000,000 polys
1. Yes... with a monolithic caveat.
As Darthviper says, having hundreds of AI units in your scene isn't going to work. It sounds like you're doing an RPG of some sort, or a town/city environment.
To handle this sort of scale you need to separate your 'units' into global and local contexts. At the local level (think of it as street view) your units are regular AI pawns, spawned to move around. They spawn far enough away to merge seamlessly with the local scene, and despawn when they go out of range.
At the global level the larger population can be handled in two ways, or a hybrid of both. Firstly you can maintain a list of objects for each actor that uses a very simply AI, and manage them with distributed processing - updating a handful of units each tick. Second method is to use procedural techniques and model the population mathematically. The hybrid approach would be used to split the population between peons (common, generic units) and heroes (named, persistent characters).
@ Darthviper - thanx
@ Spoof - That was very helpful about population management, though i should have mentioned that 'at most' maybe 100 NPCs may be present on stage and level will be built progressively... or i think thats the terminology used to describe entering a specific space on a map to load another area without a loading screen.
by the way, what is "monolithic caveat"? I Google'd it and i got health sites .__.
monolithic means very large, caveat means something like a requirement or prerequisite
An example would be: "You can make any game you want, if you have tons of money"
Ah, thanx :3
btw is double posting allowed here?
Usually double posting only happens accidentally, no one would blame you for that.
but what if i want to add more questions... which i will be doing? do i have to start another thread? that would suck since i'd like to keep all my questions in one convenient thread .__.
It depends, if the question isn't really related to your other questions then it would be better to create a thread in whatever forum section would apply the most. And try as much as you can to search for a solution, most things have been gone over and even if the problem isn't specific addressed then there's probably information on how you might get started. Plus it's usually faster to search for something rather than wait for someone to answer a question
Hi lance, i've been trying to get a neutral AI kinda like you want.. though I didn't find really how to manage it since.. I tried having a neutral team, that would bypass search for ennemies and such.. but didn't seem to do anything.. something always override my bypass.. so If you have an idea how to do it , I'm all ears.
though for faction switching it's simple enough.. from the bot class I call the "setTeam" function . it works well though if you use team colors as by default in udk, it won't change it.. personnaly I just removed the team colors..not sure why they didn't make that easy to access/change..seems code is a bit spread everywhere sometimes..