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.
Install the package via pip:
pip install game_metr_analyzerImport 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"
)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 defaultChatLLM7will be used.api_key(Optional[str]): The API key forChatLLM7. If not provided, it will be read from the environment variableLLM7_API_KEY.
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)
The default rate limits for ChatLLM7 are sufficient for most use cases. To access higher limits:
- Set the
LLM7_API_KEYenvironment 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/.
This project is licensed under the MIT License.
- Eugene Evstafev
- Email: [email protected]
For bugs or feature requests, please use the GitHub issues page: https://github.com/...