Skip to content

chigwell/game-metr-analyzer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 

Repository files navigation

game-metr-analyzer

PyPI version License: MIT Downloads LinkedIn

A Python package to analyze and interpret game narratives or story structures, focusing on the METR (Mechanics, Esthetics, Technology, and Rhetoric) plot framework used in game design. It processes textual descriptions of game plots, mechanics, or player experiences and returns a structured breakdown of these elements. This helps game developers, critics, and educators systematically evaluate and enhance game narratives without subjective bias.

Installation

Install the package via pip:

pip install game_metr_analyzer

Usage

Import and use the main function as shown:

from game_metr_analyzer import game_metr_analyzer

response = game_metr_analyzer(
    user_input="Your game plot description here",
    # Optional: specify a custom LLM instance
    # llm=your_llm_instance,
    # Optional: specify API key for LLM7
    # api_key="your_api_key"
)

Parameters

  • user_input (str): The textual description of the game plot, mechanics, or player experience to analyze.
  • llm (Optional[BaseChatModel]): An instance of a language model (e.g., from langchain). If not provided, the default ChatLLM7 will be used.
  • api_key (Optional[str]): The API key for ChatLLM7. If not provided, it will be read from the environment variable LLM7_API_KEY.

Supported Language Models

This package uses ChatLLM7 from langchain_llm7 by default. You can pass your own language model instance to utilize other services such as:

  • OpenAI's models:

    from langchain_openai import ChatOpenAI
    
    llm = ChatOpenAI()
    response = game_metr_analyzer(user_input, llm=llm)
  • Anthropic:

    from langchain_anthropic import ChatAnthropic
    
    llm = ChatAnthropic()
    response = game_metr_analyzer(user_input, llm=llm)
  • Google Generative AI:

    from langchain_google_genai import ChatGoogleGenerativeAI
    
    llm = ChatGoogleGenerativeAI()
    response = game_metr_analyzer(user_input, llm=llm)

API Key Management

The default rate limits for ChatLLM7 are sufficient for most use cases. To access higher limits:

  • Set the LLM7_API_KEY environment variable:
    export LLM7_API_KEY="your_api_key"
  • Or pass it directly:
    response = game_metr_analyzer(user_input, api_key="your_api_key")

You can obtain a free API key by registering at https://token.llm7.io/.

License

This project is licensed under the MIT License.

Author

GitHub

Issues

For bugs or feature requests, please use the GitHub issues page: https://github.com/...