Gamasutra: The Art & Business of Making Gamesspacer
Modeling Opinion Flow in Humans Using Boids Algorithm & Social Network Analysis
arrowPress Releases
June 22, 2018
Games Press
View All     RSS
  • Editor-In-Chief:
    Kris Graft
  • Editor:
    Alex Wawro
  • Contributors:
    Chris Kerr
    Alissa McAloon
    Emma Kidwell
    Bryant Francis
    Katherine Cross
  • Advertising:
    Libby Kruse

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

innogames — Hamburg, Germany

QA Engineer/ Software Engineer in Test
Bohemia Interactive
Bohemia Interactive — Prague, Czech Republic

Unity Programmer
Method EXP
Method EXP — Santa Monica, California, United States

Unity Engine Developer- Unity 3d
Outfit7 (Ekipa2 d.o.o.)
Outfit7 (Ekipa2 d.o.o.) — Ljubljana, Slovenia

Data Scientist (Product), (Outfit7 - Ekipa2 d.o.o. subsidiary)

Loading Comments

loader image