Spaces:
Running
Running
| STORY_FRAME_PROMPT = """ | |
| You are a narrative game designer. Use the player data below to | |
| create a story frame for an interactive adventure. | |
| Setting: {setting} | |
| Character: {character} | |
| Genre: {genre} | |
| Return ONLY a JSON object with: | |
| - lore: brief world description | |
| - goal: main player objective | |
| - milestones: 2-4 key events (id, description) | |
| - endings: good/bad endings (id, type, condition, description) | |
| Translate the lore, goal, milestones and endings to the language which is used in the game and setting description. | |
| """ | |
| GAME_STATE_PROMPT = """ | |
| ---Game Settings START--- | |
| Lore: {lore} | |
| Goal: {goal} | |
| Milestones: {milestones} | |
| Endings: {endings} | |
| ---Game Settings END--- | |
| ---User's actions START--- | |
| History: {history} | |
| Last choice: {last_choice} | |
| ---User's actions END--- | |
| Game response to user's action: {scene_description} | |
| """ | |
| SCENE_PROMPT = """You are an AI agent for a visual novel game. | |
| Your role is to process incoming data and generate the next scene description and choices. | |
| Translate the scene description and choices into a language which is used in the Game Settings. | |
| ---Game Settings START--- | |
| Lore: {lore} | |
| Goal: {goal} | |
| Milestones: {milestones} | |
| Endings: {endings} | |
| ---Game Settings END--- | |
| ---User's actions START--- | |
| History: {history} | |
| Last choice: {last_choice} | |
| ---User's actions END--- | |
| The scene description must be 2-5 sentences and no more than 150 words. | |
| Each choice text must be concise, up to 12 words. | |
| Respond ONLY with JSON containing: | |
| - description: current scene description based on the user's actions and the game settings | |
| - choices: exactly two dicts {{"text": ..., "next_scene_short_desc": ...}} | |
| """ | |
| ENDING_CHECK_PROMPT = """ | |
| History: {history} | |
| Endings: {endings} | |
| Check if any ending conditions are met. | |
| If none are met return ending_reached: false. | |
| If an ending is reached return ending_reached: true and provide the | |
| ending object (id, type, description). | |
| Respond ONLY with JSON. | |
| """ | |