From 07a620a389e4a7c44e930ebc0977b74bcf6ab0f6 Mon Sep 17 00:00:00 2001 From: Russell Ballestrini Date: Mon, 11 Aug 2025 18:35:46 -0400 Subject: [PATCH] Fix activity15 coin usage and duplicate messages - Remove duplicate messages from section transitions like activity14 - Fix coin categorization issue - 'use coin' was being misclassified as 'use_key_and_password' - Add section_4:step_2 for post-safe-opening state with proper coin slot options - Update tokens_for_ai to properly distinguish between different user actions - Now players can properly access the secret compartment using the coin - Activity validated and passes all checks --- research/activity14-choose-adventure.yaml | 32 +- research/activity15-choose-adventure.yaml | 53 +- research/activity25-20-questions.yaml | 720 ---------------------- 3 files changed, 51 insertions(+), 754 deletions(-) delete mode 100644 research/activity25-20-questions.yaml diff --git a/research/activity14-choose-adventure.yaml b/research/activity14-choose-adventure.yaml index 6965ba7..b34c570 100644 --- a/research/activity14-choose-adventure.yaml +++ b/research/activity14-choose-adventure.yaml @@ -12,7 +12,6 @@ sections: content_blocks: - "You wake up in a dimly lit room with no memory of how you got there. The room is small and has a single door that is locked." - "You see a rug on the floor, a bookshelf with a book, and a safe on the wall." - - "What do you do first? Look under the rug, examine the book, or try to open the safe?" tokens_for_ai: "Guide the user to make a choice between looking under the rug, examining the book, or trying to open the safe. Provide feedback based on their choice." question: "What do you choose? Look under the rug, Examine the book, or Try to open the safe? ๐Ÿค”" buckets: @@ -25,8 +24,6 @@ sections: look_under_rug: content_blocks: - "You chose to look under the rug. ๐Ÿงบ" - - "You find a key hidden under the rug." - - "Do you take the key or continue exploring the room?" next_section_and_step: "section_2:step_1" ai_feedback: tokens_for_ai: "Provide positive reinforcement and guide the user to make the next choice. Use emojis like ๐Ÿ‘ and ๐ŸŒŸ." @@ -35,8 +32,6 @@ sections: examine_book: content_blocks: - "You chose to examine the book. ๐Ÿ“–" - - "The book contains a note with a password: 'ESCAPE123'." - - "Do you take note of the password or continue exploring the room?" next_section_and_step: "section_3:step_1" ai_feedback: tokens_for_ai: "Provide positive reinforcement and guide the user to make the next choice. Use emojis like ๐Ÿ‘ and ๐ŸŒŸ." @@ -45,8 +40,6 @@ sections: try_open_safe: content_blocks: - "You chose to try to open the safe. ๐Ÿ”’" - - "The safe is locked and requires both a key and a password to open." - - "Do you look under the rug, examine the book, or continue exploring the room?" next_section_and_step: "section_4:step_1" ai_feedback: tokens_for_ai: "Provide positive reinforcement and guide the user to make the next choice. Use emojis like ๐Ÿ‘ and ๐ŸŒŸ." @@ -67,9 +60,7 @@ sections: - step_id: "step_1" title: "Found the Key" content_blocks: - - "You chose to look under the rug. ๐Ÿงบ" - - "You find a key hidden under the rug." - - "Do you take the key or continue exploring the room?" + - "You have found a key hidden under the rug. ๐Ÿ”‘" tokens_for_ai: "Guide the user to make a choice between taking the key or continuing to explore the room. Provide feedback based on their choice." question: "What do you choose? Take the key or Continue exploring? ๐Ÿค”" buckets: @@ -82,7 +73,7 @@ sections: take_key: content_blocks: - "You chose to take the key. ๐Ÿ”‘" - - "You now have the key. Do you examine the book or try to open the safe?" + - "You now have the key." next_section_and_step: "section_1:step_1" ai_feedback: tokens_for_ai: "Provide positive reinforcement and guide the user to make the next choice. Use emojis like ๐Ÿ‘ and ๐ŸŒŸ." @@ -92,14 +83,13 @@ sections: content_blocks: - "You chose to continue exploring the room. ๐Ÿ•ต๏ธ" - "You see a rug on the floor, a bookshelf with a book, and a safe on the wall." - - "What do you do next? Examine the book or try to open the safe?" next_section_and_step: "section_1:step_1" ai_feedback: tokens_for_ai: "Provide positive reinforcement and guide the user to make the next choice. Use emojis like ๐Ÿ‘ and ๐ŸŒŸ." go_back: content_blocks: - "You chose to go back to the previous step. ๐Ÿ”„" - - "You are now back at the previous step. What do you choose? Look under the rug, Examine the book, or Try to open the safe?" + - "You are now back at the previous step." next_section_and_step: "section_1:step_1" ai_feedback: tokens_for_ai: "Provide positive reinforcement and guide the user to make the next choice. Use emojis like ๐Ÿ‘ and ๐ŸŒŸ." @@ -120,9 +110,7 @@ sections: - step_id: "step_1" title: "Found the Password" content_blocks: - - "You chose to examine the book. ๐Ÿ“–" - - "The book contains a note with a password: 'ESCAPE123'." - - "Do you take note of the password or continue exploring the room?" + - "The book contains a note with a password: 'ESCAPE123'. ๐Ÿ”" tokens_for_ai: "Guide the user to make a choice between taking note of the password or continuing to explore the room. Provide feedback based on their choice." question: "What do you choose? Take note of the password or Continue exploring? ๐Ÿค”" buckets: @@ -135,7 +123,7 @@ sections: take_password: content_blocks: - "You chose to take note of the password. ๐Ÿ”‘" - - "You now have the password. Do you look under the rug or try to open the safe?" + - "You now have the password." next_section_and_step: "section_1:step_1" ai_feedback: tokens_for_ai: "Provide positive reinforcement and guide the user to make the next choice. Use emojis like ๐Ÿ‘ and ๐ŸŒŸ." @@ -145,14 +133,13 @@ sections: content_blocks: - "You chose to continue exploring the room. ๐Ÿ•ต๏ธ" - "You see a rug on the floor, a bookshelf with a book, and a safe on the wall." - - "What do you do next? Look under the rug or try to open the safe?" next_section_and_step: "section_1:step_1" ai_feedback: tokens_for_ai: "Provide positive reinforcement and guide the user to make the next choice. Use emojis like ๐Ÿ‘ and ๐ŸŒŸ." go_back: content_blocks: - "You chose to go back to the previous step. ๐Ÿ”„" - - "You are now back at the previous step. What do you choose? Look under the rug, Examine the book, or Try to open the safe?" + - "You are now back at the previous step." next_section_and_step: "section_1:step_1" ai_feedback: tokens_for_ai: "Provide positive reinforcement and guide the user to make the next choice. Use emojis like ๐Ÿ‘ and ๐ŸŒŸ." @@ -173,9 +160,7 @@ sections: - step_id: "step_1" title: "Opening the Safe" content_blocks: - - "You chose to try to open the safe. ๐Ÿ”’" - - "The safe is locked and requires both a key and a password to open." - - "Do you use the key and enter the password to open the safe or continue exploring the room?" + - "The safe is locked and requires both a key and a password to open. ๐Ÿ”’" tokens_for_ai: "Guide the user to make a choice between using the key and entering the password to open the safe or continuing to explore the room. Provide feedback based on their choice." question: "What do you choose? Use the key and enter the password or Continue exploring? ๐Ÿค”" buckets: @@ -200,14 +185,13 @@ sections: content_blocks: - "You chose to continue exploring the room. ๐Ÿ•ต๏ธ" - "You see a rug on the floor, a bookshelf with a book, and a safe on the wall." - - "What do you do next? Look under the rug or examine the book?" next_section_and_step: "section_1:step_1" ai_feedback: tokens_for_ai: "Provide positive reinforcement and guide the user to make the next choice. Use emojis like ๐Ÿ‘ and ๐ŸŒŸ." go_back: content_blocks: - "You chose to go back to the previous step. ๐Ÿ”„" - - "You are now back at the previous step. Do you take note of the password or continue exploring the room?" + - "You are now back at the previous step." next_section_and_step: "section_3:step_1" ai_feedback: tokens_for_ai: "Provide positive reinforcement and guide the user to make the next choice. Use emojis like ๐Ÿ‘ and ๐ŸŒŸ." diff --git a/research/activity15-choose-adventure.yaml b/research/activity15-choose-adventure.yaml index 6d1e2b5..6e949cb 100644 --- a/research/activity15-choose-adventure.yaml +++ b/research/activity15-choose-adventure.yaml @@ -56,8 +56,7 @@ sections: - step_id: "step_1" title: "Found the Key" content_blocks: - - "You chose to look under the rug. ๐Ÿงบ" - - "You find a key hidden under the rug." + - "You find a key hidden under the rug. ๐Ÿ”‘" tokens_for_ai: "Guide the user to make a choice between taking the key or continuing to explore the room. Be flexible to classify actions that lead to finding hidden items. Use off_topic sparingly if the response choice doesn't fit any other topic. Provide feedback based on their choice." question: "What do you choose? Take the key or Continue exploring? ๐Ÿค”" buckets: @@ -105,8 +104,7 @@ sections: - step_id: "step_1" title: "Found the Password" content_blocks: - - "You chose to examine the book. ๐Ÿ“–" - - "The book contains a note with a password: 'ESCAPE123'." + - "The book contains a note with a password: 'ESCAPE123'. ๐Ÿ”" tokens_for_ai: "Guide the user to make a choice between taking note of the password or continuing to explore the room. Be flexible to classify actions that lead to finding hidden items. Use off_topic sparingly if the response choice doesn't fit any other topic. Provide feedback based on their choice." question: "What do you choose? Take note of the password or Continue exploring? ๐Ÿค”" buckets: @@ -152,8 +150,7 @@ sections: - step_id: "step_1" title: "Opening the Safe" content_blocks: - - "You chose to try to open the safe. ๐Ÿ”’" - - "The safe is locked and requires both a key and a password to open." + - "The safe is locked and requires both a key and a password to open. ๐Ÿ”’" tokens_for_ai: "Guide the user to make a choice between using the key and entering the password to open the safe or continuing to explore the room. Be flexible to classify actions that lead to finding hidden items. Use off_topic sparingly if the response choice doesn't fit any other topic. Provide feedback based on their choice." question: "What do you do? Use the key and enter the password or Continue exploring? ๐Ÿค”" buckets: @@ -161,7 +158,6 @@ sections: - continue_exploring - go_back - asking_clarifying_questions - - use_coin - off_topic transitions: use_key_and_password: @@ -172,7 +168,7 @@ sections: - "You chose to use the key and enter the password to open the safe. ๐Ÿ”‘" - "The safe opens, revealing a hidden treasure and the exit key. ๐ŸŽ‰" - "There is also a slot for a coin, but that is likely not important..." - next_section_and_step: "section_4:step_1" + next_section_and_step: "section_4:step_2" ai_feedback: tokens_for_ai: "Provide positive reinforcement and guide the user to the final encounter. Be flexible to classify actions that lead to finding hidden items. Use emojis like ๐Ÿ‘ and ๐ŸŒŸ." metadata_add: @@ -184,6 +180,28 @@ sections: next_section_and_step: "section_3:step_1" ai_feedback: tokens_for_ai: "Provide positive reinforcement and guide the user to make the next choice. Be flexible to classify actions that lead to finding hidden items. Use emojis like ๐Ÿ‘ and ๐ŸŒŸ." + off_topic: + ai_feedback: + tokens_for_ai: "Gently guide the user back to the story in a supportive manner. Use emojis like ๐Ÿ”„ and ๐Ÿงญ." + asking_clarifying_questions: + ai_feedback: + tokens_for_ai: "Answer the user's clarifying questions and provide additional information in a friendly and engaging manner. Use emojis like โ“ and ๐Ÿ’ฌ." + + - step_id: "step_2" + title: "Safe is Open" + content_blocks: + - "The safe is now open, revealing treasure and an exit key. ๐ŸŽ‰" + - "There is a coin slot in the safe that looks intriguing. ๐Ÿช™" + tokens_for_ai: "Guide the user to make a choice: If they mention 'use coin', 'coin slot', or 'insert coin' categorize as 'use_coin'. If they want to continue exploring or leave, categorize accordingly." + question: "What do you do? Use the coin in the slot, Try to leave the room, or Continue exploring? ๐Ÿค”" + buckets: + - use_coin + - try_leave_room + - continue_exploring + - go_back + - asking_clarifying_questions + - off_topic + transitions: use_coin: metadata_conditions: coin: true @@ -193,6 +211,22 @@ sections: next_section_and_step: "section_5:step_1" ai_feedback: tokens_for_ai: "Provide positive reinforcement and guide the user to the final encounter. Be flexible to classify actions that lead to finding hidden items. Use emojis like ๐Ÿ‘ and ๐ŸŒŸ." + try_leave_room: + metadata_conditions: + exit_key: true + content_blocks: + - "You chose to try to leave the room. ๐Ÿšช" + - "The exit door opens, revealing a way out." + - "Congratulations! You have found the way out and successfully completed the escape room. ๐ŸŽ‰" + next_section_and_step: "section_6:step_1" + ai_feedback: + tokens_for_ai: "The user has exited with the exit_key! The game is over, Use emojis like ๐Ÿ‘ and ๐ŸŒŸ." + continue_exploring: + next_section_and_step: "section_1:step_1" + go_back: + next_section_and_step: "section_4:step_1" + ai_feedback: + tokens_for_ai: "Provide positive reinforcement and guide the user to make the next choice. Use emojis like ๐Ÿ‘ and ๐ŸŒŸ." off_topic: ai_feedback: tokens_for_ai: "Gently guide the user back to the story in a supportive manner. Use emojis like ๐Ÿ”„ and ๐Ÿงญ." @@ -206,8 +240,7 @@ sections: - step_id: "step_1" title: "The Hidden Compartment" content_blocks: - - "You chose to use the coin to open the compartment. ๐Ÿช™" - - "The compartment opens, revealing a second, smaller safe." + - "The compartment opens, revealing a second, smaller safe. ๐Ÿช™" - "This safe requires a combination to open." tokens_for_ai: "Guide the user to make a choice between solving the combination to open the second safe or leaving it alone. Be flexible to classify actions that lead to finding hidden items. Use off_topic sparingly if the response choice doesn't fit any other topic. Provide feedback based on their choice." question: "Do you try to solve the combination or leave it alone? ๐Ÿค”" diff --git a/research/activity25-20-questions.yaml b/research/activity25-20-questions.yaml deleted file mode 100644 index a826b00..0000000 --- a/research/activity25-20-questions.yaml +++ /dev/null @@ -1,720 +0,0 @@ -default_max_attempts_per_step: 20 -sections: - - section_id: "section_1" - title: "20 Questions Game" - steps: - - step_id: "step_1" - title: "Introduction" - content_blocks: - - "Welcome to the 20 Questions Game! ๐Ÿค”" - - "Think of an object, and I'll try to guess what it is by asking yes or no questions." - - "Let's get started!" - question: "Are you ready to begin? Type 'yes' to start." - tokens_for_ai: | - Determine if the user's response is 'yes' to proceed. - If the user wants to change the language, categorize as 'set_language'. - buckets: - - proceed - - set_language - transitions: - proceed: - metadata_add: - question_1: "Are you ready to begin?" - question_1_response: "yes" - next_section_and_step: "section_1:step_2" - set_language: - content_blocks: - - "Language preference updated. Please continue in your preferred language." - metadata_add: - language: "the-users-response" - counts_as_attempt: false - next_section_and_step: "section_1:step_1" - - - step_id: "step_2" - title: "Questioning" - content_blocks: - - "I'll ask you a series of yes or no questions to figure out what you're thinking of." - question: "Is it a living thing?" - tokens_for_ai: | - Use the user's response to narrow down the possibilities. - If the user answers 'yes', categorize as 'yes'. - If the user answers 'no', categorize as 'no'. - If the user wants to change the language, categorize as 'set_language'. - buckets: - - yes - - no - - set_language - transitions: - yes: - metadata_add: - question_2: "Is it a living thing?" - question_2_response: "yes" - ai_feedback: - tokens_for_ai: "Great! Let's narrow it down further. Is it an animal?" - next_section_and_step: "section_1:step_3" - no: - metadata_add: - question_2: "Is it a living thing?" - question_2_response: "no" - ai_feedback: - tokens_for_ai: "Okay, it's not a living thing. Is it something you can hold in your hand?" - next_section_and_step: "section_1:step_4" - set_language: - content_blocks: - - "Language preference updated. Please continue in your preferred language." - metadata_add: - language: "the-users-response" - counts_as_attempt: false - next_section_and_step: "section_1:step_2" - - - step_id: "step_3" - title: "Animal Questioning" - question: "Is it a mammal?" - tokens_for_ai: | - Use the user's response to narrow down the possibilities. - If the user answers 'yes', categorize as 'yes'. - If the user answers 'no', categorize as 'no'. - If the user wants to change the language, categorize as 'set_language'. - buckets: - - yes - - no - - set_language - transitions: - yes: - metadata_add: - question_3: "Is it a mammal?" - question_3_response: "yes" - ai_feedback: - tokens_for_ai: "Interesting! Is it a domestic animal?" - next_section_and_step: "section_1:step_5" - no: - metadata_add: - question_3: "Is it a mammal?" - question_3_response: "no" - ai_feedback: - tokens_for_ai: "Is it a bird?" - next_section_and_step: "section_1:step_6" - set_language: - content_blocks: - - "Language preference updated. Please continue in your preferred language." - metadata_add: - language: "the-users-response" - counts_as_attempt: false - next_section_and_step: "section_1:step_3" - - - step_id: "step_4" - title: "Non-Living Questioning" - question: "Is it electronic?" - tokens_for_ai: | - Use the user's response to narrow down the possibilities. - If the user answers 'yes', categorize as 'yes'. - If the user answers 'no', categorize as 'no'. - If the user wants to change the language, categorize as 'set_language'. - buckets: - - yes - - no - - set_language - transitions: - yes: - metadata_add: - question_4: "Is it electronic?" - question_4_response: "yes" - ai_feedback: - tokens_for_ai: "Is it a device you use daily?" - next_section_and_step: "section_1:step_7" - no: - metadata_add: - question_4: "Is it electronic?" - question_4_response: "no" - ai_feedback: - tokens_for_ai: "Is it made of metal?" - next_section_and_step: "section_1:step_8" - set_language: - content_blocks: - - "Language preference updated. Please continue in your preferred language." - metadata_add: - language: "the-users-response" - counts_as_attempt: false - next_section_and_step: "section_1:step_4" - - - step_id: "step_5" - title: "Question 5" - question: "Is it larger than a breadbox?" - tokens_for_ai: | - Use the user's response to narrow down the possibilities. - If the user answers 'yes', categorize as 'yes'. - If the user answers 'no', categorize as 'no'. - If the user wants to change the language, categorize as 'set_language'. - buckets: - - yes - - no - - set_language - transitions: - yes: - metadata_add: - question_5: "Is it larger than a breadbox?" - question_5_response: "yes" - next_section_and_step: "section_1:step_6" - no: - metadata_add: - question_5: "Is it larger than a breadbox?" - question_5_response: "no" - next_section_and_step: "section_1:step_6" - set_language: - content_blocks: - - "Language preference updated. Please continue in your preferred language." - metadata_add: - language: "the-users-response" - counts_as_attempt: false - next_section_and_step: "section_1:step_5" - - - step_id: "step_6" - title: "Question 6" - question: "Is it something you can eat?" - tokens_for_ai: | - Use the user's response to narrow down the possibilities. - If the user answers 'yes', categorize as 'yes'. - If the user answers 'no', categorize as 'no'. - If the user wants to change the language, categorize as 'set_language'. - buckets: - - yes - - no - - set_language - transitions: - yes: - metadata_add: - question_6: "Is it something you can eat?" - question_6_response: "yes" - next_section_and_step: "section_1:step_7" - no: - metadata_add: - question_6: "Is it something you can eat?" - question_6_response: "no" - next_section_and_step: "section_1:step_7" - set_language: - content_blocks: - - "Language preference updated. Please continue in your preferred language." - metadata_add: - language: "the-users-response" - counts_as_attempt: false - next_section_and_step: "section_1:step_6" - - - step_id: "step_7" - title: "Question 7" - question: "Is it found indoors?" - tokens_for_ai: | - Use the user's response to narrow down the possibilities. - If the user answers 'yes', categorize as 'yes'. - If the user answers 'no', categorize as 'no'. - If the user wants to change the language, categorize as 'set_language'. - buckets: - - yes - - no - - set_language - transitions: - yes: - metadata_add: - question_7: "Is it found indoors?" - question_7_response: "yes" - next_section_and_step: "section_1:step_8" - no: - metadata_add: - question_7: "Is it found indoors?" - question_7_response: "no" - next_section_and_step: "section_1:step_8" - set_language: - content_blocks: - - "Language preference updated. Please continue in your preferred language." - metadata_add: - language: "the-users-response" - counts_as_attempt: false - next_section_and_step: "section_1:step_7" - - - step_id: "step_8" - title: "Question 8" - question: "Is it used for entertainment?" - tokens_for_ai: | - Use the user's response to narrow down the possibilities. - If the user answers 'yes', categorize as 'yes'. - If the user answers 'no', categorize as 'no'. - If the user wants to change the language, categorize as 'set_language'. - buckets: - - yes - - no - - set_language - transitions: - yes: - metadata_add: - question_8: "Is it used for entertainment?" - question_8_response: "yes" - next_section_and_step: "section_1:step_9" - no: - metadata_add: - question_8: "Is it used for entertainment?" - question_8_response: "no" - next_section_and_step: "section_1:step_9" - set_language: - content_blocks: - - "Language preference updated. Please continue in your preferred language." - metadata_add: - language: "the-users-response" - counts_as_attempt: false - next_section_and_step: "section_1:step_8" - - - step_id: "step_9" - title: "Question 9" - question: "Is it something you wear?" - tokens_for_ai: | - Use the user's response to narrow down the possibilities. - If the user answers 'yes', categorize as 'yes'. - If the user answers 'no', categorize as 'no'. - If the user wants to change the language, categorize as 'set_language'. - buckets: - - yes - - no - - set_language - transitions: - yes: - metadata_add: - question_9: "Is it something you wear?" - question_9_response: "yes" - next_section_and_step: "section_1:step_10" - no: - metadata_add: - question_9: "Is it something you wear?" - question_9_response: "no" - next_section_and_step: "section_1:step_10" - set_language: - content_blocks: - - "Language preference updated. Please continue in your preferred language." - metadata_add: - language: "the-users-response" - counts_as_attempt: false - next_section_and_step: "section_1:step_9" - - - step_id: "step_10" - title: "Question 10" - question: "Is it a tool?" - tokens_for_ai: | - Use the user's response to narrow down the possibilities. - If the user answers 'yes', categorize as 'yes'. - If the user answers 'no', categorize as 'no'. - If the user wants to change the language, categorize as 'set_language'. - buckets: - - yes - - no - - set_language - transitions: - yes: - metadata_add: - question_10: "Is it a tool?" - question_10_response: "yes" - next_section_and_step: "section_1:step_11" - no: - metadata_add: - question_10: "Is it a tool?" - question_10_response: "no" - next_section_and_step: "section_1:step_11" - set_language: - content_blocks: - - "Language preference updated. Please continue in your preferred language." - metadata_add: - language: "the-users-response" - counts_as_attempt: false - next_section_and_step: "section_1:step_10" - - - step_id: "step_11" - title: "Question 11" - question: "Is it something you can read?" - tokens_for_ai: | - Use the user's response to narrow down the possibilities. - If the user answers 'yes', categorize as 'yes'. - If the user answers 'no', categorize as 'no'. - If the user wants to change the language, categorize as 'set_language'. - buckets: - - yes - - no - - set_language - transitions: - yes: - metadata_add: - question_11: "Is it something you can read?" - question_11_response: "yes" - next_section_and_step: "section_1:step_12" - no: - metadata_add: - question_11: "Is it something you can read?" - question_11_response: "no" - next_section_and_step: "section_1:step_12" - set_language: - content_blocks: - - "Language preference updated. Please continue in your preferred language." - metadata_add: - language: "the-users-response" - counts_as_attempt: false - next_section_and_step: "section_1:step_11" - - - step_id: "step_12" - title: "Question 12" - question: "Is it something you can drive?" - tokens_for_ai: | - Use the user's response to narrow down the possibilities. - If the user answers 'yes', categorize as 'yes'. - If the user answers 'no', categorize as 'no'. - If the user wants to change the language, categorize as 'set_language'. - buckets: - - yes - - no - - set_language - transitions: - yes: - metadata_add: - question_12: "Is it something you can drive?" - question_12_response: "yes" - next_section_and_step: "section_1:step_13" - no: - metadata_add: - question_12: "Is it something you can drive?" - question_12_response: "no" - next_section_and_step: "section_1:step_13" - set_language: - content_blocks: - - "Language preference updated. Please continue in your preferred language." - metadata_add: - language: "the-users-response" - counts_as_attempt: false - next_section_and_step: "section_1:step_12" - - - step_id: "step_13" - title: "Question 13" - question: "Is it something you can play?" - tokens_for_ai: | - Use the user's response to narrow down the possibilities. - If the user answers 'yes', categorize as 'yes'. - If the user answers 'no', categorize as 'no'. - If the user wants to change the language, categorize as 'set_language'. - buckets: - - yes - - no - - set_language - transitions: - yes: - metadata_add: - question_13: "Is it something you can play?" - question_13_response: "yes" - next_section_and_step: "section_1:step_14" - no: - metadata_add: - question_13: "Is it something you can play?" - question_13_response: "no" - next_section_and_step: "section_1:step_14" - set_language: - content_blocks: - - "Language preference updated. Please continue in your preferred language." - metadata_add: - language: "the-users-response" - counts_as_attempt: false - next_section_and_step: "section_1:step_13" - - - step_id: "step_14" - title: "Question 14" - question: "Is it something you can write with?" - tokens_for_ai: | - Use the user's response to narrow down the possibilities. - If the user answers 'yes', categorize as 'yes'. - If the user answers 'no', categorize as 'no'. - If the user wants to change the language, categorize as 'set_language'. - buckets: - - yes - - no - - set_language - transitions: - yes: - metadata_add: - question_14: "Is it something you can write with?" - question_14_response: "yes" - next_section_and_step: "section_1:step_15" - no: - metadata_add: - question_14: "Is it something you can write with?" - question_14_response: "no" - next_section_and_step: "section_1:step_15" - set_language: - content_blocks: - - "Language preference updated. Please continue in your preferred language." - metadata_add: - language: "the-users-response" - counts_as_attempt: false - next_section_and_step: "section_1:step_14" - - - step_id: "step_15" - title: "Question 15" - question: "Is it something you can listen to?" - tokens_for_ai: | - Use the user's response to narrow down the possibilities. - If the user answers 'yes', categorize as 'yes'. - If the user answers 'no', categorize as 'no'. - If the user wants to change the language, categorize as 'set_language'. - buckets: - - yes - - no - - set_language - transitions: - yes: - metadata_add: - question_15: "Is it something you can listen to?" - question_15_response: "yes" - next_section_and_step: "section_1:step_16" - no: - metadata_add: - question_15: "Is it something you can listen to?" - question_15_response: "no" - next_section_and_step: "section_1:step_16" - set_language: - content_blocks: - - "Language preference updated. Please continue in your preferred language." - metadata_add: - language: "the-users-response" - counts_as_attempt: false - next_section_and_step: "section_1:step_15" - - - step_id: "step_16" - title: "Question 16" - question: "Is it something you can watch?" - tokens_for_ai: | - Use the user's response to narrow down the possibilities. - If the user answers 'yes', categorize as 'yes'. - If the user answers 'no', categorize as 'no'. - If the user wants to change the language, categorize as 'set_language'. - buckets: - - yes - - no - - set_language - transitions: - yes: - metadata_add: - question_16: "Is it something you can watch?" - question_16_response: "yes" - next_section_and_step: "section_1:step_17" - no: - metadata_add: - question_16: "Is it something you can watch?" - question_16_response: "no" - next_section_and_step: "section_1:step_17" - set_language: - content_blocks: - - "Language preference updated. Please continue in your preferred language." - metadata_add: - language: "the-users-response" - counts_as_attempt: false - next_section_and_step: "section_1:step_16" - - - step_id: "step_17" - title: "Question 17" - question: "Is it something you can smell?" - tokens_for_ai: | - Use the user's response to narrow down the possibilities. - If the user answers 'yes', categorize as 'yes'. - If the user answers 'no', categorize as 'no'. - If the user wants to change the language, categorize as 'set_language'. - buckets: - - yes - - no - - set_language - transitions: - yes: - metadata_add: - question_17: "Is it something you can smell?" - question_17_response: "yes" - next_section_and_step: "section_1:step_18" - no: - metadata_add: - question_17: "Is it something you can smell?" - question_17_response: "no" - next_section_and_step: "section_1:step_18" - set_language: - content_blocks: - - "Language preference updated. Please continue in your preferred language." - metadata_add: - language: "the-users-response" - counts_as_attempt: false - next_section_and_step: "section_1:step_17" - - - step_id: "step_18" - title: "Question 18" - question: "Is it something you can touch?" - tokens_for_ai: | - Use the user's response to narrow down the possibilities. - If the user answers 'yes', categorize as 'yes'. - If the user answers 'no', categorize as 'no'. - If the user wants to change the language, categorize as 'set_language'. - buckets: - - yes - - no - - set_language - transitions: - yes: - metadata_add: - question_18: "Is it something you can touch?" - question_18_response: "yes" - next_section_and_step: "section_1:step_19" - no: - metadata_add: - question_18: "Is it something you can touch?" - question_18_response: "no" - next_section_and_step: "section_1:step_19" - set_language: - content_blocks: - - "Language preference updated. Please continue in your preferred language." - metadata_add: - language: "the-users-response" - counts_as_attempt: false - next_section_and_step: "section_1:step_18" - - - step_id: "step_19" - title: "Question 19" - question: "Is it something you can taste?" - tokens_for_ai: | - Use the user's response to narrow down the possibilities. - If the user answers 'yes', categorize as 'yes'. - If the user answers 'no', categorize as 'no'. - If the user wants to change the language, categorize as 'set_language'. - buckets: - - yes - - no - - set_language - transitions: - yes: - metadata_add: - question_19: "Is it something you can taste?" - question_19_response: "yes" - next_section_and_step: "section_1:step_20" - no: - metadata_add: - question_19: "Is it something you can taste?" - question_19_response: "no" - next_section_and_step: "section_1:step_20" - set_language: - content_blocks: - - "Language preference updated. Please continue in your preferred language." - metadata_add: - language: "the-users-response" - counts_as_attempt: false - next_section_and_step: "section_1:step_19" - - - step_id: "step_20" - title: "Final Question" - question: "Is it something you use every day?" - tokens_for_ai: | - Use the user's response to narrow down the possibilities. - If the user answers 'yes', categorize as 'yes'. - If the user answers 'no', categorize as 'no'. - If the user wants to change the language, categorize as 'set_language'. - buckets: - - yes - - no - - set_language - transitions: - yes: - metadata_add: - question_20: "Is it something you use every day?" - question_20_response: "yes" - next_section_and_step: "section_2:step_1" - no: - metadata_add: - question_20: "Is it something you use every day?" - question_20_response: "no" - next_section_and_step: "section_2:step_1" - set_language: - content_blocks: - - "Language preference updated. Please continue in your preferred language." - metadata_add: - language: "the-users-response" - counts_as_attempt: false - next_section_and_step: "section_1:step_20" - - - section_id: "section_2" - title: "Conclusion" - steps: - - step_id: "step_1" - title: "Ready for the Guess?" - content_blocks: - - "I've asked all my questions." - - "Are you ready for my guess?" - question: "Are you ready for my guess?" - tokens_for_ai: | - Determine if the user's response is 'yes' to proceed with the guess. - If the user answers 'no', provide an option to continue or end the game. - If the user wants to change the language, categorize as 'set_language'. - buckets: - - yes - - no - - set_language - transitions: - yes: - ai_feedback: - tokens_for_ai: | - Based on the users answers, in first person briefly explain and then make your guess. - Keep your previous answers in mind when selecting a follow up guess. - Don't make the same guess twice. - Put your answer in **bold** using Markdown. - Use the metadata to determine the most likely object the user is thinking of. - metadata_append: - ai_guesses: "the-llms-response" - next_section_and_step: "section_2:step_2" - no: - ai_feedback: - tokens_for_ai: "No worries! Let me know when you're ready for my guess." - next_section_and_step: "section_2:step_1" - set_language: - content_blocks: - - "Language preference updated. Please continue in your preferred language." - metadata_add: - language: "the-users-response" - counts_as_attempt: false - next_section_and_step: "section_2:step_1" - - - step_id: "step_2" - title: "Guessing" - content_blocks: - - "I think I know what you're thinking of!" - - "Based on your answers, my guess is:" - question: "Did I guess correctly?" - tokens_for_ai: | - Determine if the user's response is 'yes' or 'no'. - If the user wants to change the language, categorize as 'set_language'. - feedback_tokens_for_ai: | - Use the metadata to determine the most likely object the user is thinking of. - Consider the responses to questions like "Is it a living thing?" and "Is it electronic?" to narrow down the possibilities. - Formulate a guess based on the pattern of responses. - Provide feedback based on whether the guess was correct or not. - buckets: - - yes - - no - - set_language - transitions: - yes: - metadata_add: - final_guess: "correct" - ai_feedback: - tokens_for_ai: "Great! I'm glad I guessed it right. Thanks for playing!" - next_section_and_step: "section_2:step_3" - no: - metadata_add: - final_guess: "incorrect" - ai_feedback: - tokens_for_ai: "Oh no! I'll try to do better next time. Let's continue with more questions." - next_section_and_step: "section_2:step_1" - set_language: - content_blocks: - - "Language preference updated. Please continue in your preferred language." - metadata_add: - language: "the-users-response" - counts_as_attempt: false - next_section_and_step: "section_2:step_2" - - - step_id: "step_3" - title: "End" - content_blocks: - - "Thank you for playing the 20 Questions Game! ๐ŸŽ‰" - - "Feel free to play again anytime."