haive.games.monopoly.generic_engines¶

Generic Monopoly engine creation using the generic player agent system.

This module provides generic engine creation functions for Monopoly games, allowing for configurable LLM models and game-specific player identifiers.

Classes¶

MonopolyEngineFactory

Factory for creating Monopoly game engines.

MonopolyPlayerIdentifiers

Player identifiers for Monopoly game.

MonopolyPromptGenerator

Prompt generator for Monopoly game.

Functions¶

create_budget_monopoly_engines(**kwargs)

Create budget-friendly Monopoly engines.

create_generic_monopoly_config_from_example(example_name)

Create Monopoly engines from a predefined example configuration.

create_generic_monopoly_engines(player_configs)

Create Monopoly engines from detailed player configurations.

create_generic_monopoly_engines_simple(player1_model, ...)

Create Monopoly engines with simple model specifications.

create_mixed_monopoly_engines(**kwargs)

Create mixed-provider Monopoly engines.

create_property_tycoon_monopoly_engines(**kwargs)

Create property tycoon-style Monopoly engines.

create_real_estate_mogul_monopoly_engines(**kwargs)

Create real estate mogul-style Monopoly engines with high-powered models.

Module Contents¶

class haive.games.monopoly.generic_engines.MonopolyEngineFactory¶

Bases: haive.games.core.agent.generic_player_agent.GenericGameEngineFactory[str, str]

Factory for creating Monopoly game engines.

Init .

Returns:

Add return description]

Return type:

[TODO

get_structured_output_model(role)¶

Get the structured output model for a specific role.

Parameters:

role (str)

Return type:

type

class haive.games.monopoly.generic_engines.MonopolyPlayerIdentifiers¶

Bases: haive.games.core.agent.generic_player_agent.GamePlayerIdentifiers[str, str]

Player identifiers for Monopoly game.

Init .

Returns:

Add return description]

Return type:

[TODO

class haive.games.monopoly.generic_engines.MonopolyPromptGenerator(players)¶

Bases: haive.games.core.agent.generic_player_agent.GenericPromptGenerator[str, str]

Prompt generator for Monopoly game.

Init .

Parameters:

players (haive.games.core.agent.generic_player_agent.GamePlayerIdentifiers[str, str]) – [TODO: Add description]

create_analysis_prompt(player)¶

Create analysis prompt - alias for create_analyzer_prompt.

Parameters:

player (str)

Return type:

langchain_core.prompts.ChatPromptTemplate

create_analyzer_prompt(player)¶

Create analysis prompt for Monopoly game state.

Parameters:

player (str)

Return type:

langchain_core.prompts.ChatPromptTemplate

create_move_prompt(player)¶

Create move prompt for Monopoly player.

Parameters:

player (str)

Return type:

langchain_core.prompts.ChatPromptTemplate

get_analysis_output_model(role)¶

Get analysis output model.

Parameters:

role (str)

Return type:

type

get_move_output_model(role)¶

Get move output model.

Parameters:

role (str)

Return type:

type

haive.games.monopoly.generic_engines.create_budget_monopoly_engines(**kwargs)¶

Create budget-friendly Monopoly engines.

Return type:

dict[str, haive.core.engine.aug_llm.AugLLMConfig]

haive.games.monopoly.generic_engines.create_generic_monopoly_config_from_example(example_name, temperature=0.3)¶

Create Monopoly engines from a predefined example configuration.

Parameters:
  • example_name (str) – Name of the example configuration

  • temperature (float) – Generation temperature

Returns:

Dictionary of Monopoly engines

Return type:

Dict[str, AugLLMConfig]

Available examples:
  • “gpt_vs_claude”: GPT vs Claude

  • “gpt_only”: GPT for both players

  • “claude_only”: Claude for both players

  • “budget”: Cost-effective models

  • “mixed”: Different provider per role

  • “real_estate_moguls”: High-powered models for strategic gameplay

  • “property_tycoons”: Specialized for property investment

haive.games.monopoly.generic_engines.create_generic_monopoly_engines(player_configs)¶

Create Monopoly engines from detailed player configurations.

Parameters:

player_configs (dict[str, haive.games.core.agent.player_agent.PlayerAgentConfig]) – Dictionary mapping role names to player configurations

Returns:

Dictionary of Monopoly engines

Return type:

Dict[str, AugLLMConfig]

Expected roles:
  • “player1_player”: Player 1 configuration

  • “player2_player”: Player 2 configuration

  • “player1_analyzer”: Player 1 analyzer configuration

  • “player2_analyzer”: Player 2 analyzer configuration

haive.games.monopoly.generic_engines.create_generic_monopoly_engines_simple(player1_model, player2_model, temperature=0.3)¶

Create Monopoly engines with simple model specifications.

Parameters:
  • player1_model (str) – Model for player 1 and analyzer

  • player2_model (str) – Model for player 2 and analyzer

  • temperature (float) – Generation temperature

Returns:

Dictionary of Monopoly engines

Return type:

Dict[str, AugLLMConfig]

haive.games.monopoly.generic_engines.create_mixed_monopoly_engines(**kwargs)¶

Create mixed-provider Monopoly engines.

Return type:

dict[str, haive.core.engine.aug_llm.AugLLMConfig]

haive.games.monopoly.generic_engines.create_property_tycoon_monopoly_engines(**kwargs)¶

Create property tycoon-style Monopoly engines.

Return type:

dict[str, haive.core.engine.aug_llm.AugLLMConfig]

haive.games.monopoly.generic_engines.create_real_estate_mogul_monopoly_engines(**kwargs)¶

Create real estate mogul-style Monopoly engines with high-powered models.

Return type:

dict[str, haive.core.engine.aug_llm.AugLLMConfig]