🕹️ Wirtualny escape room z AI
Grudzień, czas świąt 🎅 i dłuższego wolnego, więc zamiast kolejnej analizy postanowiłem udostępnić darmową grę (online) escape room 🎁.

Pomysł na wirtualny escape room #
Pomysł na zrobienie wirtualnego escape room zrodził się kilka miesięcy temu, gdy zobaczyłem ten tweet:
I made my first text adventure game with ChatGPT:
— @levelsio (@levelsio) November 16, 2023
🐒🏝️🇳🇱 The Secret of Monkey Island: Amsterdam
You're Guybrush Threepwood, a wannabe 🏴☠️ pirate, trying to find a hidden treasure in Amsterdam
👉 https://t.co/Mz6PYEZ6XP
Reply w/ screenshots of chats, I'd love to see 😊 pic.twitter.com/ZrjERFWiBN
Pieter Levels wykonał grę z fabułą i grafiką korzystając z prostego promptu dla ChatGPT. The Secret of Monkey Island: Amsterdam ma wyznaczoną strukturę i ramy fabularne, ale każdorazowo generowana rozgrywka różni się od siebie. Sam pomysł bardzo mi się spodobał, pomyślałem że w podobny sposób mogę zrobić curowy escape room - wystarczyłoby tylko umożliwić podanie tematu rozgrywki i kilku dodatkowych informacji.
Żeby robić analizy potrzebuje zbierać i przetwarzać różnorodne dane. Do tej pory bazowałem na tym co zebrali i skatalogowali inni. Co ma tą wadę, że nie zawsze mam dostęp informacji umożliwiających wykonanie jakiegoś przydatnego raportu.
Własny symulator Escape room, w którym fabuła i zagadki są generowane przez AI, pozwala zebrać potrzebne mi dane bez konieczności otwierania (wielu) różnorodnych lokali.
Jak udostępnić escape room za darmo w internecie? #
Skopiowanie pomysłu 1:1 z gry Pieterea okazało się być zbyt ograniczające - do grania jest subskrypcja na ChatGPT plus (~20 USD miesięcznie), co wykluczałoby pewnie z 99% odwiedzających, a chciałem żeby mój escape room był dostępny za darmo dla wszystkich.
Postanowiłem skorzystać z wersji ChatGPT dla programistów (poprzez API) - tutaj to ja pokrywam koszty, więc stworzenie rozbudowanej gry z grafiką i bogatą fabułą stało się nagle kosztowne. Musiałem więc ograniczyć się do prostszej wersji, gdzie do wyboru są tylko predefiniowane odpowiedzi, nie ma grafiki, a liczba zagadek jest ograniczona do 4.
Zasada działania wirtualnego pokoju zagadek #
Gra rozpoczyna się od prostego formularza, gdzie możesz zdefiniować parametry swojego pokoju. Do podania jest:
- temat (scenografia) gry
- dodatkowe szczegóły
- poziom trudności
- kategorii ER (kryminalny, przygodowy)
- poziom strachu
- dla kogo / na jaką okazję jest przeznaczony (dla dzieci/na kawalerski itd.)
Całość opiera się w zasadzie nana trzech promptach. Pierwsza, ogólna instrukcja:
Jesteś kreatywnym mistrzem gier typu escape room. Zachowaj ciągłość fabularną i twórz wciągające zagadki, które logicznie łączą się z poprzednimi wydarzeniami i intro. Każda zagadka powinna mieć inną mechanikę. Zapewnij wystarczającą ilość informacji lub odniesień do prawdziwych faktów i osób, aby gracz mógł odgadnąć rozwiązanie. Odpowiadaj tylko w języku polskim
Wprowadzenie do gry:
Generowanie wprowadzenia do gry escape room na podstawie informacji podanych w języku polskim.
- temat: ‘{theme}’,
- szczegóły: ‘{description}’,
- trudność: ‘{difficulty}’,
- kategoria: ‘{category}’
- przeznaczony na ‘{occasion}’ Możesz pominąć dowolne z tych trzech: trudność, kategorię i przeznaczenie, jeśli nie mają sensu. Nie umieszczaj zagadek w odpowiedzi, staraj się nie przekraczać 500 znaków. Zacznij bezpośrednio, bez powtórzeń podanych informacji
Zagadki:
Wygeneruj zagadkę tekstową escape room o numerze {puzzle_counter} tematu {theme} i opisu {description}. Nie powtarzaj tych informacji w scenariuszu, używaj języka polskiego. Podaj wystarczającą ilość informacji lub odniesień do prawdziwych faktów i osób, aby gracz mógł odgadnąć rozwiązanie. Upewnij się, że jesteś w stanie rozwiązać tę zagadkę,wyjaśnmienie zagadki powinno być szczegółowe. Nie przekraczaj 500 znaków. Powinny być dostępne 3 opcje (odpowiedzi) i tylko jedna poprawna. Nie powtarzaj pomysłów z poprzednich zagadek, za każdym razem twórz unikalne i różnorodne pytania. Poprzednie pytania z odpowiedziami:
- …
- …
- …
Początkowo miałem ogromny problem z halucynacjami AI. Dla przykładu opis zagadki wyglądał tak:
Znajdujesz starą księgę w której są różne daty, która jest poprawna?
- 1995
- 2001
- 2002
I wyjaśnieniem było: w tym kontekście to 2001 jest poprawną odpowiedzią. Gdzie nigdzie nie było żadnej wskazówki czy odwołania do którejkolwiek z tych dat.
Sytuację poprawiło to zdanie:
Podaj wystarczającą ilość informacji lub odniesień do prawdziwych faktów i osób, aby gracz mógł odgadnąć rozwiązanie.
Dzięki niemu zagadki zaczęły być rozwiązywalne, choć konieczność odnoszenia się do faktów sprawiła że zagadki stały się dosyć encyklopedyczno-teleturniejowe, ciężko teraz o jakieś abstrakcyjne pomysły.
Narzędzie do generowania fabuły Escape room? #
Z całości jestem już teraz zadowolony, już w trakcie początkowych prac miałem sporo dobrej zabawy. Moim głównym problemem jest wymyślenie kreatywnych danych wejściowych (tematu, dodatkowych szczegółów), rezultat jest później prawie zawsze zaskakujący w pozytywny sposób.
Może pora na generator pomysłów na fabułę escape room? Brzmi jak pomysł na narzędzie do prototypowanie pomysłów na escape room ze sztuczną inteligencją :)
Cały czas staram się poprawić instrukcję dla ChatGPT, tak żeby rozrywka była bardziej angażująca,a zagadki nie były halucynacjami, tylko łamigłówkami których rozwiązanie można się domyślić z strzępków informacji dostarczanych razem z nimi.
Widzę że gra ma swoje ograniczenia jeżeli chodzi o poziom strachu, raczej ciężko wygenerować naprawdę straszną historię, ChatGPT preferuje raczej lekkie i zabawne teksty.
Zapraszam do gry! 🎮Nie ma jeszcze artykułów do wyświetlenia