tag:blogger.com,1999:blog-2591985578453253360.post4487296497085731211..comments2023-10-23T21:28:10.606+01:00Comments on Crowd Simulation: Creating your own game (simulation) engine: Choosing your multimedia libraryAteen Patelhttp://www.blogger.com/profile/09036013357436545987noreply@blogger.comBlogger8125tag:blogger.com,1999:blog-2591985578453253360.post-23722655763352506502016-07-19T01:24:25.399+01:002016-07-19T01:24:25.399+01:00Hi again Mr. Patel!
On this point:
"compare...Hi again Mr. Patel!<br /><br />On this point: <br />"compare and contrast the trajectories of pedestrians, once you detect something in the video to be a pedestrian." - Patel, 2016<br /><br />That is correct. We intend to use the Social Force model as a set of rules to track the trajectories of pedestrians detected by private residential CCTV systems. The system sends out an alert if a tracked pedestrian starts getting close to a virtual line or enters an area designated by the user. It sends out a different kind of alert if the tracked pedestrian enters a virtual area or crosses a virtual line designated by the user. Another kind of alert is also issued if the tracked pedestrian stays in a camera's FOV for extended periods.<br /><br />Essentially, we're trying to create a way the CCTV to warn the user that there's a pedestrian seen by their system. Most of the time, private residential CCTV don't have dedicated operators manning them.<br /><br />We also noted that even though the pedestrians the video camera see move in 3D space, the trackers move in 2D space on the screen.Anonymoushttps://www.blogger.com/profile/12184238981517395118noreply@blogger.comtag:blogger.com,1999:blog-2591985578453253360.post-27273596954474433832016-05-25T15:28:23.967+01:002016-05-25T15:28:23.967+01:00Hello Mr. Patel,
Within the next couple of months...Hello Mr. Patel,<br /><br />Within the next couple of months I intend to create a general purpose crowd simulation engine (similar to the one present in Recast's Demo: https://github.com/recastnavigation/recastnavigation) <br /><br />I found this post very interesting and was wondering if you could follow up with the detailed tutorial you mentioned. It would be very much appreciated.Anonymoushttps://www.blogger.com/profile/06804894137045794084noreply@blogger.comtag:blogger.com,1999:blog-2591985578453253360.post-56897227786486421932016-04-06T15:28:02.119+01:002016-04-06T15:28:02.119+01:00Hi Joseph,
Yes, that's correct. It is indeed ...Hi Joseph,<br /><br />Yes, that's correct. It is indeed similar to the force vector problems that you have encountered in Physics and Maths.<br /><br />I do not quite understand how you intend on using the Social Force Model to detect anomalous pedestrian movement once you retrieve the Histogram of Oriented Gradients, unless you are using it to compare and contrast the trajectories of pedestrians, once you detect something in the video to be a pedestrian.<br /><br />However, in terms of simulation, you would use the equations with an integrator to update the positions and velocities at every time step, where information on this link (http://gafferongames.com/game-physics/integration-basics/) can be used as a basis. Hope that helps.Ateen Patelhttps://www.blogger.com/profile/09036013357436545987noreply@blogger.comtag:blogger.com,1999:blog-2591985578453253360.post-15284681647020896432016-04-06T12:34:50.403+01:002016-04-06T12:34:50.403+01:00Hello again Mr. Patel,
I would like to report tha...Hello again Mr. Patel,<br /><br />I would like to report that our thesis evolved from creating a crowd simulation for one of our university buildings to creating an application that uses Helbing and Molnar's Social Force Model to detect anomalous pedestrian movement on residential CCTV camera systems. The first half of our thesis was approved by our defense panel with minor revisions. The next part of our thesis involves developing the software itself. We have already determined that the Histogram of Oriented Gradients is the best way of detecting humans in a CCTV video feed.<br /><br />One of the hurdles we're facing right now is turning the Social Force Model equation into program code. We interpret the equation is essentially similar to the force vector problems that we have solved in our General Physics and Math subjects. Are we correct in this assessment?Anonymoushttps://www.blogger.com/profile/12184238981517395118noreply@blogger.comtag:blogger.com,1999:blog-2591985578453253360.post-57678500394237021132016-02-12T17:57:44.018+00:002016-02-12T17:57:44.018+00:00Hi Joseph,
In my case, it involved a lot of work,...Hi Joseph,<br /><br />In my case, it involved a lot of work, as I wanted to achieve the simulation in both 2D and 3D in addition to running two different types of crowd simulation models, along with other features, so I had to think about my system design carefully.<br /><br />However, in your case, you mention that you want to create a crowd simulator for emergency management for one building, the requirements are therefore, limited. I assume the crowd model itself will be an agent-based model, so as you are a group of four, I would reckon that it is possible to achieve your goals of creating a crowd simulator from the ground up. <br /><br />Sticking to 2D will make it easier within the time frame you have. If you need to make it in 3D, also consider a 2.5D approach, so that when agents are on stairs, you reduce the velocity, given the average speed of pedestrians on stairs. You can find this by searching for Fruin's level of service for pedestrian flow.<br /><br />Here are a few pointers for designing your system, in terms of what you may require:<br />1. An Euler or Runge-Kutta integrator to update your simulation<br />2. An agent based model that interacts with the obstacles. Typically, store the obstacles as lines by storing x,y positions for the start and end.<br />3. A method to initialise agents throughout the building area.<br />4. A technique to import the university building, i.e. to convert the walls, stairs and so on, into obstacles and entry / exit points. (Doesn't necessarily have to be extracted within your application, you could do it externally, and store the walls as lines, and then import it as a CSV file, for example.)<br />5. A database or even a simple data structure to store the positions of agents at each time step, so that you can output the data to analyse it, such as the density at any given point in time, or over time (if that forms part of your project aims).<br /><br />Hope this helps. Feel free to ask, if you have any more questions.Ateen Patelhttps://www.blogger.com/profile/09036013357436545987noreply@blogger.comtag:blogger.com,1999:blog-2591985578453253360.post-79331799245358363772016-02-10T23:50:31.605+00:002016-02-10T23:50:31.605+00:00Good day Mr Patel,
We're a group of four Compu...Good day Mr Patel,<br />We're a group of four Computer Science students creating proposals for our thesis. One of our proposals center around creating a crowd simulator for one of our university buildings for emergency management. While we got a lot of information about existing crowd simulators from around the Web, including your most informative blog, one thing worries us the most about this proposal.<br /><br /><br />Our inquiry would be, from your experience, how difficult is it to create a crowd simulator from the ground up? We're planning to use C# as our programming language as have a good grasp of the basics of programming in C#. Our chairperson expressly forbids us from using APIs in our proposed crowd simulator. We also have around 5-6 months to develop it.Anonymoushttps://www.blogger.com/profile/12184238981517395118noreply@blogger.comtag:blogger.com,1999:blog-2591985578453253360.post-58444941279906838222013-09-03T22:56:09.421+01:002013-09-03T22:56:09.421+01:00Hi Matthew,
I've just seen this, as a notifi...Hi Matthew, <br /><br />I've just seen this, as a notification didn't pop up of your comment (something I'll need to look into) but I'm glad you like my blog.<br /><br />Regarding developing a simple simulation game, I'm not sure what your knowledge level is in terms of programming. <br /><br />If you don't know C++, I'd recommend getting upto speed with it before venturing into game development. If you're confident with that, you can start by using game engines to get a feel for how games are made. They will provide the core functions for you to get started building a game. I've mentioned a few in my previous post i.e., Unity (this is based on C#), Quake, Unreal, as well as Irrlicht.<br /><br />I've personally used Irrlicht, and found it a pretty good start. I would recommend you give some or all of them a try. They all have tutorials which should give you a good feel, you can start with the one you then feel comfortable with. All of these engines should do the job for you.<br /><br />After that, it depends on how deep you want to get into writing your own core functions at a later stage. This would involve getting into exactly what I've discussed in this post.<br /><br />Hope that still helps, albeit a month later. Any more question, don't hesitate to ask. I'll try sorting out notifications for the comments.<br /><br />AteenAteen Patelhttps://www.blogger.com/profile/09036013357436545987noreply@blogger.comtag:blogger.com,1999:blog-2591985578453253360.post-31885719364761733332013-08-04T17:13:15.023+01:002013-08-04T17:13:15.023+01:00Hello Mr Patel,
May I just say excellent blog. I ...Hello Mr Patel, <br />May I just say excellent blog. I had a question which I was hoping you could shed some light on. <br /><br />I was hoping to begin development of a simple simulation game. A cross between cataclysm dda and europa universalis 3. Where the premise is a simulation of a small isolated community is influenced by the decision of the player. <br /><br />The problem is I have no idea where to even begin. I am happy to spent the time learning programs. I just dont know which programs are suitable for what I would like it to do. <br /><br />I would appreciate any advice.<br /><br />many thanks<br />MAnonymoushttps://www.blogger.com/profile/00596642122326214611noreply@blogger.com