Gamasutra is part of the Informa Tech Division of Informa PLC

This site is operated by a business or businesses owned by Informa PLC and all copyright resides with them. Informa PLC's registered office is 5 Howick Place, London SW1P 1WG. Registered in England and Wales. Number 8860726.

Gamasutra: The Art & Business of Making Gamesspacer
Modeling Opinion Flow in Humans Using Boids Algorithm & Social Network Analysis
View All     RSS
February 21, 2020
arrowPress Releases
February 21, 2020
Games Press
View All     RSS

If you enjoy reading this site, you might also want to check out these UBM Tech sites:


Modeling Opinion Flow in Humans Using Boids Algorithm & Social Network Analysis

September 28, 2006 Article Start Previous Page 6 of 8 Next

Optimizing the Calculation

There are three aspects that can be optimized; the realisticness of the simulation, the speed at which the simulation runs, and the amount of memory consumed.


We will continue to develop this method and formulate ways to increase its realisticness. Since this method does rely upon emergent behavior, it is good to consider all of the different places it can be tweaked. These are listed below. Fortunately, we have found that it is not too hard to get the types of results shown in the ‘Results’ section above.

Areas where this method can be tweaked.

  • Number of random linkages an actor has (to members of his group or to other groups).
  • Strength of linkages between actors.
  • Alignments of the actors.
  • Proportionality constant use to determine if actor changes opinion.
  • Amount the actor changes their opinion when they do so.
  • Strength of alignment of News Sources.
  • Random connections to a News Source.


Several methods have already been used to speed up the calculations.

  • Use Thresholds
    If the average force on an individual is below a certain value, one may dismiss the chance of changing alignment (or do the alignment change check at a reduced frequency.) This saves in computation, and reflects the reality that people don’t like changing their minds.
  • Normalize Connection Strengths First.
    We normalize (set the combined weights equal to 1) the connections around an actor from the start. This makes it so we don't have to calculate the average weights each time step. Of course if the connections around an actor do change (for example if an actor they are connected to is killed) then we will have to re-normalize.

As we come up with more they will be posted on the web site accompanying this method, along with sample code implementing them.

Memory is highly dependent upon the number of actors, and the average number of linkages that each actor has. It is also the place much future optimization will be done. Below are some preliminary figures.

  • 5,000 person objects each with an average of 20 connections, 40 Megabytes were allocated
  • 10,000 person objects each with an average of 20 connections, 54 Megabytes were allocated.

Article Start Previous Page 6 of 8 Next

Related Jobs

Insomniac Games
Insomniac Games — BURBANK, California, United States

Sr Character TD
Carnegie Mellon University
Carnegie Mellon University — Pittsburgh, Pennsylvania, United States

Software Engineering Teaching Track Faculty
Shiver Entertainment
Shiver Entertainment — Miami, Florida, United States

Game Programmer/Software Engineer
Boston Dynamics
Boston Dynamics — Waltham, Massachusetts, United States

Software Engineer, Android Developer

Loading Comments

loader image