For my diploma thesis i added pedestrians and vehicles to the Virtual Aachen Project. It runs in real-time on a Core2 Quad. For the pedestrians i use Xaitment's AI tools (XaitMap, XaitMove, XaitControl) as a basis. Vehicles will stop at red traffic lights and when pedestrians want to cross a street. They use parking spaces and obey the most important rules. Pedestrians use precomputed "Interest Points" as their destinations and execute different actions upon arrival. There are around 500 simulated pedestrians which is not enough to fill an entire city, therefore a "Simulation Bubble" is used (as in all games), which means pedestrians are only simulated in a limited radius around the observer.
@jan2k6 you can try divide space to decrease loading of CPU, or you can plan motion depending on characters around it would be cheaper because multiple paths at once and no need to detect collisions.
featro 1 year ago
@featro Yes and no. There is no collision detection, because with that number of people the CPU is already at its limits, so generally nothing stops the characters from walking through each other. However the locomotion system (XaitMove) actively steers people around each other. This does not always work perfectly, though, because many constraints are battling each other. In a real game, that wouldn't matter, because in the end the physics-engine would prevent that.
jan2k6 1 year ago