Jump to content
  • Advertisement
Sign in to follow this  
Ninji

Crowd modelling

This topic is 3740 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

Dear Friends, I am just starting to explore the movement of crowd. I am using VB.Net to simulate the crowd movement. One problem i am facing is how to simulate the crossing movement of crowd. How can i represent two groups of crowd in two opposite direction and then simulate simultaneously using VB.Net? I have been able to simulate basic movement for one direction only and for two-way movement i do not know how can i represent it in VB.Net? As i am not from computer science/engineering field, may be i am missing some advance knowledge? Any suggestion would be highly appreciated. Thank you.

Share this post


Link to post
Share on other sites
Advertisement
Please don't cross post. Pick the one forum that you think best suits your question and post in that one alone. [smile]

Share this post


Link to post
Share on other sites
First off, the language has very little to do with the logic. Second, crowds don't move; people move. Think about it that way for a bit.

Share this post


Link to post
Share on other sites
First of all, you've already got some basic movement in one direction, that's a great start, so making them move the other direction would be a simple step. I'm guessing what you want to implement is some sort of intelligent collision avoidance, a good link i've found for that would be

http://www.red3d.com/cwr/boids/

it includes flocking behaviors, which you could use for making the individual people within the crowds move in the same general direction and try to maintain cohesion. It also has some links to collision avoidance methods.

Keep in mind that with opposing crowds, they need to work co-operatively to make space for each other, or one direction will need to have priority over the other, to force the other direction to make way.

Another article worth reading is

http://www.gamasutra.com/features/game_design/19990122/movement_01.htm

which discusses unit movement, pathfinding and collision avoidance again.

The representation will be basically the same amongst different languages, find what data structures are used, they will be basically the same, and then you can use whatever drawing methods VB.Net has available for you. I'd first try to get your head around the different algorithms before worrying about implementation.

Hope that's useful

Share this post


Link to post
Share on other sites
Thank you very much guys for your insight. Yes, like you have said, different authors have used different methods for collision avoidance (inter-personal distance based, vision-based, Potential field etc.). I am familiar with some of those techniques. The worrying factor for me is if VB.NET (am familiar with VB.NET only) can perform simultaneous simulation or not which is needed for crossing movement of people. I need to perform such simulations for my postgraduate study which is related to crowd management.

Cheers

Share this post


Link to post
Share on other sites
Quote:
Original post by Ninji
The worrying factor for me is if VB.NET (am familiar with VB.NET only) can perform simultaneous simulation or not which is needed for crossing movement of people. I need to perform such simulations for my postgraduate study which is related to crowd management.


I have NO idea what your are talking about. Unless you are wanting to multi-thread (which is not necessary here), there is no such thing as "simultaneous simulation" in either C++, VB or anything .NET for that matter. You iterate through the agents and process them based on what they "see" and think at the time... then you update the frame.

Share this post


Link to post
Share on other sites
Quote:
Original post by InnocuousFox
First off, the language has very little to do with the logic. Second, crowds don't move; people move. Think about it that way for a bit.


I wonder though if there isn't something to be gleaned from statistical mechanics with regards to the crowd. While it's the fundamental particles (people) that move, there are macro properties of physical systems that explain their behaviour at the macro level. I vaguely recall reading some research a long time ago looking at the statistical mechanical properties of crowds... but I don't recall any specifics about it unfortunately. I know from my own personal experiences working as a crowd controller (security guard) at concerts (while working my way through university) that there arises a 'crowd mind' when people congregate together for non-trivial period of time. I wonder whether crowds in the street do the same!?

Sorry if this is a bit off-topic. 8)

Cheers,

Timkin

Share this post


Link to post
Share on other sites
I would chalk that up to two things...

One, the emergent properties of cellular automata. That much is what I meant and what Craig Reynolds is dealing with. It's what drives boids, etc. However, we perceive a group movement rather than individual movements.

Two, there is something to be said for the "crowd mind" - but only in the sense that there are expected standard behaviors. With that in mind, any one agent has a good idea of what the other agents are likely to do. Likewise, they do things in a certain way because they know that others are expecting them to. They achieve a kind of Nash equilibrium in that everyone is doing what is best for the crowd as a whole by following a specific set of generalized rules. That's one step beyond the independent agent model in that everyone isn't just following their own perceptions and selfishly making up their own minds.

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!