Getting Started
User Guide
API Reference
Simulation
Simulation.add_agent()
Simulation.add_agents()
Simulation.add_npc()
Simulation.add_npcs()
Simulation.get_analytics_report()
Simulation.get_statistics()
Simulation.initialize_simulation()
Simulation.pause_simulation()
Simulation.resume_simulation()
Simulation.run()
Simulation.run_until()
Simulation.run_with_visualizer()
Simulation.step()
Simulation.stop_simulation()
World
World.add_entity()
World.get_entities_at()
World.get_entities_in_range()
World.get_neighbors()
World.get_passable_neighbors()
World.get_spawn_points()
World.get_terrain_distribution()
World.get_tile()
World.is_passable()
World.is_valid_position()
World.move_entity()
World.remove_entity()
World.tick()
SimulationConfig
SimulationConfig.analytics_interval
SimulationConfig.copy()
SimulationConfig.custom_params
SimulationConfig.database_path
SimulationConfig.debug_mode
SimulationConfig.default_agent_health
SimulationConfig.default_agent_stamina
SimulationConfig.default_agent_vision_range
SimulationConfig.enable_pathfinding_cache
SimulationConfig.enable_visualizer
SimulationConfig.fog_of_war_enabled
SimulationConfig.from_dict()
SimulationConfig.from_file()
SimulationConfig.get()
SimulationConfig.log_actions
SimulationConfig.log_file
SimulationConfig.log_level
SimulationConfig.max_agents
SimulationConfig.max_npcs
SimulationConfig.max_pathfinding_distance
SimulationConfig.max_ticks
SimulationConfig.npc_respawn_enabled
SimulationConfig.save_interval
SimulationConfig.set()
SimulationConfig.starting_gold
SimulationConfig.tick_rate
SimulationConfig.to_dict()
SimulationConfig.to_file()
SimulationConfig.trade_cooldown
SimulationConfig.validate()
SimulationConfig.visualizer_height
SimulationConfig.visualizer_tile_size
SimulationConfig.visualizer_width
SimulationConfig.world_height
SimulationConfig.world_seed
SimulationConfig.world_width
get_default_database_path()
TimeManager
TimeManager.__str__()
TimeManager.get_elapsed_real_time()
TimeManager.get_game_time()
TimeManager.get_time_of_day_modifier()
TimeManager.is_day_time()
TimeManager.is_night_time()
TimeManager.reset()
TimeManager.tick()
TimeManager.ticks_since()
Entity
Entity.apply_status_effect()
Entity.can_see()
Entity.can_see_position()
Entity.distance_to()
Entity.distance_to_position()
Entity.has_status_effect()
Entity.move_to()
Entity.on_death()
Entity.remove_status_effect()
Entity.take_damage()
Entity.update()
Entity.update_status_effects()
StatusEffect
StatusEffect.apply_effect()
StatusEffect.refresh()
StatusEffect.update()
Agent
Agent.act()
Agent.add_relationship()
Agent.decide()
Agent.get_agent_summary()
Agent.get_dominant_skills()
Agent.get_relationship()
Agent.get_skill_level()
Agent.is_hostile_to()
Agent.on_death()
Agent.perceive()
Agent.update()
create_agent_with_archetype()
create_random_agent()
NPC
NPC.add_patrol_point()
NPC.get_threat_level()
NPC.is_hostile_to()
NPC.on_death()
NPC.set_aggressive()
NPC.set_patrol_route()
NPC.set_target()
NPC.update()
create_basic_goblin()
create_forest_wolf()
create_peaceful_villager()
Stats
Stats.attack_power
Stats.defense
Stats.from_dict()
Stats.get_health_percentage()
Stats.get_magic_percentage()
Stats.get_stamina_percentage()
Stats.heal()
Stats.health
Stats.is_alive()
Stats.magic
Stats.max_health
Stats.max_magic
Stats.max_stamina
Stats.reset()
Stats.restore_magic()
Stats.restore_stamina()
Stats.speed
Stats.stamina
Stats.take_damage()
Stats.to_dict()
Stats.use_magic()
Stats.use_stamina()
Inventory
Inventory.add_item()
Inventory.clear()
Inventory.equip_tool()
Inventory.equip_weapon()
Inventory.from_dict()
Inventory.get_all_items()
Inventory.get_equipped_tool()
Inventory.get_equipped_weapon()
Inventory.get_item_count()
Inventory.get_total_items()
Inventory.has_item()
Inventory.remove_item()
Inventory.to_dict()
InventorySlot
InventorySlot.add()
InventorySlot.item
InventorySlot.quantity
Action
Action.can_execute()
Action.can_interrupt()
Action.execute()
Action.get_cost()
Action.get_duration()
Action.get_progress()
Action.interrupt()
Action.is_complete()
Action.start()
ActionResult
ActionResult.create_interrupted()
ActionResult.events
ActionResult.failure()
ActionResult.interrupted
ActionResult.message
ActionResult.success()
Event
Event.actor_id
Event.data
Event.event_type
Event.target_id
Event.timestamp
ResourceCost
ResourceCost.can_afford()
ResourceCost.consume()
ResourceCost.health
ResourceCost.items
ResourceCost.magic
ResourceCost.stamina
MoveAction
MoveAction.can_execute()
MoveAction.execute()
MoveAction.get_cost()
MoveAction.get_duration()
PathfindAction
PathfindAction.can_execute()
PathfindAction.execute()
PathfindAction.get_cost()
PathfindAction.get_current_target()
PathfindAction.get_duration()
PathfindAction.get_remaining_steps()
WanderAction
WanderAction.can_execute()
WanderAction.execute()
WanderAction.get_cost()
WanderAction.get_duration()
CombatAction
CombatAction.can_execute()
CombatAction.execute()
CombatAction.get_cost()
CombatAction.get_duration()
DefendAction
DefendAction.can_execute()
DefendAction.execute()
DefendAction.get_cost()
DefendAction.get_duration()
FleeAction
FleeAction.can_execute()
FleeAction.execute()
FleeAction.get_cost()
FleeAction.get_duration()
MagicAttack
MagicAttack.can_execute()
MagicAttack.get_cost()
MeleeAttack
MeleeAttack.can_execute()
MeleeAttack.get_cost()
RangedAttack
RangedAttack.can_execute()
RangedAttack.get_cost()
FishAction
FishAction.can_execute()
ForageAction
ForageAction.can_execute()
GatherAction
GatherAction.can_execute()
GatherAction.execute()
GatherAction.get_cost()
GatherAction.get_duration()
MineAction
WoodcutAction
CraftAction
CraftAction.can_execute()
CraftAction.execute()
CraftAction.get_cost()
CraftAction.get_duration()
Personality
Personality.aggression
Personality.bravery
Personality.caution
Personality.create_archetype()
Personality.curiosity
Personality.from_dict()
Personality.get_action_modifier()
Personality.get_dominant_traits()
Personality.get_exploration_desire()
Personality.get_risk_tolerance()
Personality.get_social_preference()
Personality.greed
Personality.industriousness
Personality.patience
Personality.randomize()
Personality.should_engage_in_combat()
Personality.should_initiate_trade()
Personality.similarity_to()
Personality.sociability
Personality.to_dict()
CharacterClass
CharacterClass.calculate_effectiveness()
CharacterClass.create_alchemist()
CharacterClass.create_blacksmith()
CharacterClass.create_explorer()
CharacterClass.create_farmer()
CharacterClass.create_hunter()
CharacterClass.create_mage()
CharacterClass.create_trader()
CharacterClass.create_warrior()
CharacterClass.description
CharacterClass.equipment_preferences
CharacterClass.from_dict()
CharacterClass.get_action_preference()
CharacterClass.get_class_specialization()
CharacterClass.get_preferred_biome()
CharacterClass.get_skill_modifier()
CharacterClass.get_starting_equipment()
CharacterClass.get_stat_bonus()
CharacterClass.is_preferred_skill()
CharacterClass.name
CharacterClass.preferred_actions
CharacterClass.skill_affinities
CharacterClass.starting_stats_bonus
CharacterClass.to_dict()
SkillType
SkillType.ARCHERY
SkillType.COMBAT
SkillType.CRAFTING
SkillType.EXPLORATION
SkillType.FISHING
SkillType.FORAGING
SkillType.MAGIC
SkillType.MINING
SkillType.TRADING
SkillType.WOODCUTTING
get_character_class()
get_random_character_class()
AttackEnemyGoal
AttackEnemyGoal.get_next_action()
AttackEnemyGoal.get_utility()
AttackEnemyGoal.is_complete()
AttackEnemyGoal.is_valid()
CraftItemGoal
CraftItemGoal.get_next_action()
CraftItemGoal.get_utility()
CraftItemGoal.is_complete()
CraftItemGoal.is_valid()
ExploreGoal
ExploreGoal.get_next_action()
ExploreGoal.get_utility()
ExploreGoal.is_complete()
ExploreGoal.is_valid()
FleeFromDangerGoal
FleeFromDangerGoal.get_next_action()
FleeFromDangerGoal.get_utility()
FleeFromDangerGoal.is_complete()
FleeFromDangerGoal.is_valid()
GatherResourceGoal
GatherResourceGoal.get_next_action()
GatherResourceGoal.get_utility()
GatherResourceGoal.is_complete()
GatherResourceGoal.is_valid()
Goal
Goal.get_estimated_duration()
Goal.get_next_action()
Goal.get_utility()
Goal.is_complete()
Goal.is_valid()
Goal.on_action_completed()
Goal.should_abandon()
RestGoal
RestGoal.get_next_action()
RestGoal.get_utility()
RestGoal.is_complete()
RestGoal.is_valid()
TradeGoal
TradeGoal.get_next_action()
TradeGoal.get_utility()
TradeGoal.is_complete()
TradeGoal.is_valid()
DecisionMaker
DecisionMaker.evaluate_all_goals()
DecisionMaker.get_decision_summary()
DecisionMaker.reset_decision_cooldown()
DecisionMaker.select_goal()
EntityMemory
EntityMemory.entity_id
EntityMemory.entity_type
EntityMemory.last_seen_position
EntityMemory.last_seen_tick
EntityMemory.was_hostile
ResourceMemory
ResourceMemory.depletion_tick
ResourceMemory.last_seen_quantity
ResourceMemory.last_seen_tick
ResourceMemory.position
ResourceMemory.resource_type
ResourceMemory.was_depleted
SpatialMemory
SpatialMemory.forget_old_memories()
SpatialMemory.get_exploration_percentage()
SpatialMemory.get_known_entity()
SpatialMemory.get_known_resources()
SpatialMemory.get_memory_summary()
SpatialMemory.get_nearby_entities()
SpatialMemory.get_nearest_known_resource()
SpatialMemory.has_visited()
SpatialMemory.remember_entity()
SpatialMemory.remember_resource()
SpatialMemory.remember_tile()
TileMemory
TileMemory.has_resources
TileMemory.is_passable
TileMemory.last_visited_tick
TileMemory.position
TileMemory.terrain_type
FogOfWar
FogOfWar.can_see_entity()
FogOfWar.can_see_tile()
FogOfWar.clear_agent_data()
FogOfWar.forget_old_memories()
FogOfWar.get_exploration_targets()
FogOfWar.get_known_tiles()
FogOfWar.get_pathfinding_grid()
FogOfWar.get_remembered_tile_info()
FogOfWar.get_visible_entities()
FogOfWar.update_agent_vision()
Market
Market.get_current_prices()
Market.get_market_summary()
Market.get_price()
Market.record_trade()
Market.update_demand()
Market.update_prices()
Market.update_supply()
TradeOffer
TradeOffer.created_tick
TradeOffer.expires_tick
TradeOffer.get_total_offered_value()
TradeOffer.get_total_requested_value()
TradeOffer.id
TradeOffer.initiator_id
TradeOffer.is_expired()
TradeOffer.offered_gold
TradeOffer.offered_items
TradeOffer.requested_gold
TradeOffer.requested_items
TradeOffer.status
TradeOffer.target_id
TradeStatus
TradeStatus.ACCEPTED
TradeStatus.CANCELLED
TradeStatus.COMPLETED
TradeStatus.PENDING
TradeStatus.REJECTED
TradingSystem
TradingSystem.accept_trade_offer()
TradingSystem.cleanup_expired_offers()
TradingSystem.create_trade_offer()
TradingSystem.evaluate_trade_offer()
TradingSystem.get_completed_trades()
TradingSystem.get_pending_offers_for_entity()
TradingSystem.get_trade_summary()
TradingSystem.reject_trade_offer()
TradingSystem.update()
CombatResolver
CombatResolver.calculate_damage()
CombatResolver.calculate_hit_chance()
CombatResolver.get_combat_modifiers()
CombatResolver.resolve_attack()
DamageType
DamageType.DARK
DamageType.FIRE
DamageType.HOLY
DamageType.ICE
DamageType.MAGICAL
DamageType.PHYSICAL
DamageType.POISON
RespawnEntry
RespawnEntry.death_tick
RespawnEntry.entity_id
RespawnEntry.entity_type
RespawnEntry.max_respawn_attempts
RespawnEntry.original_position
RespawnEntry.respawn_attempts
RespawnEntry.respawn_data
RespawnEntry.respawn_tick
RespawnManager
RespawnManager.add_restricted_zone()
RespawnManager.add_safe_zone()
RespawnManager.cancel_respawn()
RespawnManager.get_entity_respawn_info()
RespawnManager.get_respawn_summary()
RespawnManager.maintain_population()
RespawnManager.process_respawns()
RespawnManager.schedule_respawn()
RespawnType
RespawnType.AGENT
RespawnType.NPC
RespawnType.RESOURCE_NODE
RespawnType.STRUCTURE
Pathfinder
Pathfinder.can_reach()
Pathfinder.clear_cache()
Pathfinder.distance_heuristic()
Pathfinder.find_path()
Pathfinder.find_path_to_nearest()
Pathfinder.get_cache_size()
Pathfinder.get_next_step()
PathfindingMap
PathfindingMap.get_grid()
PathfindingMap.refresh()
WorldGenerator
WorldGenerator.generate_perlin_noise()
WorldGenerator.generate_world()
WorldGenerator.map_noise_to_terrain()
TerrainProperties
TerrainProperties.fishable
TerrainProperties.for_terrain()
TerrainProperties.harvestable
TerrainProperties.mineable
TerrainProperties.movement_cost
TerrainProperties.passable
TerrainType
TerrainType.DESERT
TerrainType.FOREST
TerrainType.GRASS
TerrainType.MOUNTAIN
TerrainType.WATER
ResourceDeposit
ResourceDeposit.__post_init__()
ResourceDeposit.can_harvest()
ResourceDeposit.harvest()
ResourceDeposit.last_harvested
ResourceDeposit.max_quantity
ResourceDeposit.partial_respawn_interval
ResourceDeposit.partial_respawn_rate
ResourceDeposit.quantity
ResourceDeposit.resource_type
ResourceDeposit.respawn_time
Tile
Tile.add_resource()
Tile.add_spawn_zone()
Tile.can_gather()
Tile.can_pass()
Tile.get_movement_cost()
Tile.get_resources()
Tile.is_spawn_zone()
ResourceManager
ResourceManager.cleanup_respawned_resources()
ResourceManager.get_all_resource_positions()
ResourceManager.get_available_resources()
ResourceManager.get_nearest_resource()
ResourceManager.get_resource_statistics()
ResourceManager.mark_resource_harvested()
ResourceManager.update_resource_status()
ResourceNode
ResourceNode.is_depleted
ResourceNode.last_checked_tick
ResourceNode.last_known_quantity
ResourceNode.position
ResourceNode.resource_type
ResourceNode.respawn_tick
Item
Item.can_stack()
Item.description
Item.from_dict()
Item.get_property()
Item.id
Item.item_type
Item.max_stack_size
Item.name
Item.properties
Item.set_property()
Item.to_dict()
Item.value
Item.weight
Weapon
Weapon.create_bow()
Weapon.create_staff()
Weapon.create_sword()
Weapon.get_attack_speed()
Weapon.get_attack_type()
Weapon.get_critical_chance()
Weapon.get_critical_multiplier()
Weapon.get_damage()
Weapon.get_damage_type()
Weapon.get_magic_cost()
Weapon.get_range()
Weapon.get_stamina_cost()
Tool
Tool.create_axe()
Tool.create_fishing_rod()
Tool.create_hoe()
Tool.create_pickaxe()
Tool.get_durability()
Tool.get_durability_percentage()
Tool.get_efficiency()
Tool.get_max_durability()
Tool.get_tool_type()
Tool.is_broken()
Tool.repair()
Tool.use()
Consumable
Consumable.consume()
Consumable.create_food()
Consumable.create_health_potion()
Consumable.create_magic_potion()
Consumable.create_poison()
Consumable.create_stamina_potion()
Consumable.create_strength_elixir()
Consumable.get_cooldown()
Consumable.get_effect()
LootEntry
LootEntry.roll_quantity()
LootTable
LootTable.add_entry()
LootTable.create_basic_monster_loot()
LootTable.create_rare_monster_loot()
LootTable.create_resource_node_loot()
LootTable.generate_loot()
LootTable.get_guaranteed_loot()
LootTable.get_possible_loot()
LootTable.get_total_probability()
LootTable.is_empty()
LootTable.merge()
create_basic_tool_set()
equip_agent_for_task()
get_class_equipment()
get_goal_equipment()
give_starting_equipment()
Database
Database.cleanup_old_data()
Database.close()
Database.create_simulation_run()
Database.execute_custom_query()
Database.get_action_logs()
Database.get_action_summary()
Database.get_agent_snapshots()
Database.get_agent_summary()
Database.get_analytics()
Database.get_combat_summary()
Database.get_connection()
Database.get_database_stats()
Database.get_simulation_run()
Database.get_trade_summary()
Database.get_world_snapshots()
Database.list_simulation_runs()
Database.log_action()
Database.log_combat()
Database.log_trade()
Database.save_agent_snapshot()
Database.save_agent_snapshots_batch()
Database.save_analytics()
Database.save_world_snapshot()
Database.update_simulation_run()
ActionLog
ActionLog.action_data
ActionLog.action_type
ActionLog.agent_id
ActionLog.duration
ActionLog.id
ActionLog.result_message
ActionLog.simulation_id
ActionLog.success
ActionLog.tick
AgentSnapshot
AgentSnapshot.agent_id
AgentSnapshot.character_class
AgentSnapshot.current_goals
AgentSnapshot.gold
AgentSnapshot.health
AgentSnapshot.id
AgentSnapshot.inventory_items
AgentSnapshot.max_health
AgentSnapshot.max_stamina
AgentSnapshot.name
AgentSnapshot.personality
AgentSnapshot.position_x
AgentSnapshot.position_y
AgentSnapshot.relationships
AgentSnapshot.simulation_id
AgentSnapshot.skills
AgentSnapshot.stamina
AgentSnapshot.tick
Analytics
Analytics.category
Analytics.id
Analytics.metadata
Analytics.metric_name
Analytics.metric_value
Analytics.simulation_id
Analytics.tick
CombatLog
CombatLog.attacker_id
CombatLog.damage_dealt
CombatLog.damage_type
CombatLog.id
CombatLog.simulation_id
CombatLog.target_died
CombatLog.target_id
CombatLog.tick
CombatLog.was_critical
CombatLog.weapon_used
DatabaseHelper
DatabaseHelper.dataclass_to_dict()
DatabaseHelper.dict_to_json()
DatabaseHelper.json_to_dict()
DatabaseHelper.json_to_list()
DatabaseHelper.list_to_json()
DatabaseHelper.row_to_dataclass()
SimulationRun
SimulationRun.config
SimulationRun.current_tick
SimulationRun.description
SimulationRun.end_time
SimulationRun.id
SimulationRun.name
SimulationRun.start_time
SimulationRun.total_agents
SimulationRun.world_height
SimulationRun.world_seed
SimulationRun.world_width
TradeLog
TradeLog.completed
TradeLog.id
TradeLog.initiator_id
TradeLog.offered_gold
TradeLog.offered_items
TradeLog.requested_gold
TradeLog.requested_items
TradeLog.simulation_id
TradeLog.target_id
TradeLog.tick
WorldSnapshot
WorldSnapshot.active_agents
WorldSnapshot.active_npcs
WorldSnapshot.id
WorldSnapshot.market_prices
WorldSnapshot.resource_nodes
WorldSnapshot.simulation_id
WorldSnapshot.tick
WorldSnapshot.total_entities
WorldSnapshot.world_events
DatabaseSchema
DatabaseSchema.CREATE_TABLES
DatabaseSchema.CREATE_TRIGGERS
DatabaseSchema.CREATE_VIEWS
DatabaseSchema.SCHEMA_VERSION
DatabaseSchema.get_all_creation_sql()
DatabaseSchema.get_cleanup_sql()
DatabaseSchema.get_migration_sql()
DatabaseSchema.get_sample_data_sql()
AnalyticsEngine
AnalyticsEngine.calculate_all_metrics()
AnalyticsEngine.generate_simulation_report()
AnalyticsEngine.get_correlation_analysis()
AnalyticsEngine.get_trend_analysis()
Architecture
Tutorials
Examples