769 words
4 minutes
Navigating the Complexity of Social Dynamics
VincenzoImp
/
social-game-system
Waiting for api.github.com...
00K
0K
0K
Waiting...

In the realm of complex adaptive systems (CAS), where unpredictability and paradox are always present, simulating social interactions computationally offers a fascinating challenge. Inspired by Edgar Morin’s observation that “in complex systems, unpredictability and paradox are always present, and some things will remain unknown,” this project delves into the design and implementation of such a system in Java, exploring the insights gained from the simulation.

Project Overview: The Social Game System#

Our Social Game System is a complex adaptive system that models social interactions in a virtual environment. Players in the system exhibit unique attributes that influence their behavior and relationships. These attributes include mood, character traits, vocabulary, and more, all contributing to the dynamic and unpredictable nature of the simulation.

Player Attributes#

  1. Mood: A player’s happiness level, ranging from 0% to 100%. If their mood exceeds 100%, a child is born, and their mood drops by 50%. If the mood falls below 0%, the player dies.

  2. Character: Each player has a unique character that affects their behavior. Characters can inherit traits with a 25% chance of passing on specific features to offspring.

  3. Vocabulary: The player’s vocabulary contains interpretations of received messages. Initially, it includes 11 keys with random values between -5 and 5.

  4. Output Dictionary: A collection of messages, each with interpretation weights. Players use this dictionary to select messages based on their mood and character traits.

  5. Name and Surname: Randomly assigned identifiers to distinguish players.

  6. Day of Death: Each player has a predefined death date, either due to old age or their mood dropping below 0%.

  7. Acquaintances: Players maintain a list of acquaintances. The Importance Factor (1-5) reflects the strength of friendships and influences how messages are perceived and responded to.

  8. Message History: This tracks received messages and is influenced by the player’s character traits.

Character Traits#

The system includes nine character traits, each impacting the player’s behavior:

  • Bipolar: Unpredictable behavior influenced by random factors.
  • Evil: Prefers negative messages and reacts poorly to positive ones.
  • Negative: Tends to view everything pessimistically, leading to frequent death from low mood.
  • Neutral: Unaffected by emotions or relationships. Their interactions are consistent and passive.
  • Positive: Optimistic, even in the face of negativity. They excel at maintaining friendships and proliferating in the system.
  • Grudgeful: Holds grudges from negative interactions but can form strong bonds if treated well.
  • Random: Behavior varies unpredictably, making interactions more dynamic.
  • Visionary: Empathetic and responsive to the mood of others, adjusting their behavior accordingly, but not maintaining long-lasting friendships.

A Typical Day#

Each day follows a structured pattern:

  • New Friendships: 60% of players can form new friendships each day, depending on their interactions with acquaintances. Success in forming friendships is determined by mutual agreement (choosing a number greater than or equal to zero).

  • Social Life: Players communicate with their acquaintances, sending and receiving messages. They may adjust the importance of these relationships or decide to break them based on the interactions. After each interaction, players’ moods are updated accordingly. If a player’s mood exceeds 100%, a child is born. If the mood falls below 0%, or if it’s their death day, the player dies.

Game Modes#

The game offers two modes of play:

Watch Mode#

  • Players set parameters (initial number of players, game duration, and available characters), and the simulation runs automatically. Players can observe how the system evolves and make adjustments to speed up or slow down the simulation.

Play Mode#

  • In this interactive mode, players can actively engage in the simulation, making decisions about friendships, message interpretation, and social dynamics. The game ends when a player dies from old age or their mood drops below 0%.

Limiters#

As the system grew, we encountered challenges with performance when the player population became large. To manage overpopulation, we introduced several limiters:

  • Quality of Life: In highly populated scenarios, life expectancy is reduced, and the number of children per player is limited. The importance of acquaintances is initially lower, and the mood increment divisor is higher, making it harder for players to have children.

Conclusion#

This complex adaptive system serves as a simplified model of social dynamics, offering insights into how interactions evolve in unpredictable ways. By simulating characters with varying traits, we observed the emergence of both predictable and unforeseen patterns of behavior. Despite the controlled environment, the integration of randomness and inheritance highlighted the paradoxes inherent in social systems.

This project not only challenged us to refine our programming skills but also deepened our understanding of emergent behavior within complex systems. The use of Java allowed us to create a robust and expandable simulation, which can be further developed to explore more intricate scenarios.

As Edgar Morin aptly states, “In complex systems, unpredictability and paradox are always present, and some things will remain unknown.” Our project serves as a testament to this, illustrating how emergent behaviors, even in a controlled environment, remain fascinating and unpredictable.

Navigating the Complexity of Social Dynamics
https://vincenzo.imperati.dev/posts/navigating-the-complexity-of-social-dynamics/
Author
Vincenzo Imperati
Published at
2019-07-01