Stworzyć grę z ChatGPT: RPG w stylu EarthBound w jeden wieczór

Z promptu liczącego 147 słów Codex i GPT-6 Astra zrobiły RPG w stylu EarthBound, którego cała mapa powstaje za jednym razem, a potem zostaje podzielona na warstwy i kolizje. W sześć i pół godziny w Clairbois pojawiło się 15 map, 12 pokoi, 12 utworów muzycznych i sześć zadań.

Stworzyć grę z ChatGPT: RPG w stylu EarthBound w jeden wieczór
Szybka odpowiedź

Codex, agent kodu od OpenAI używany w ramach abonamentu ChatGPT, stworzył z modelem GPT-6 Astra RPG grywalne myszą i padem, z wygenerowaną scenerią, sprite'ami, portretami, dźwiękami i dwunastoma utworami muzycznymi. Projekt zajął dziesięć tur i 3 h 05 min pracy agenta, a według cennika API kosztowałby równowartość 65 $. Cztery z moich dziesięciu wiadomości zgłaszały błędy, od logiki domów po kolizje.

Codex, agent kodu od OpenAI, z którego korzystam w ramach abonamentu ChatGPT, sam zapisuje pliki, uruchamia polecenia i generuje obrazy, bez żadnego kopiowania i wklejania. Poprosiłem go 13 września 2026, z modelem GPT-6 Astra, o RPG w stylu EarthBound, gry studiów Ape i HAL Laboratory wydanej na Super Nintendo w 1994 roku. Całą prośbę zmieściłem w jednym prompcie liczącym 147 słów.

Przy klonie Dune 2000 przez trzy dni posuwałem się drobnymi prośbami. Tym razem prompt od początku narzucał metodę tworzenia scenerii, a prototyp powstał w jeden wieczór.

W Clairbois zagrasz poniżej, myszą, klawiaturą albo padem. Gra waży 56,7 MB i ładuje się dopiero, gdy klikniesz.

Clairbois : le RPG façon EarthBound de Codex et GPT-6 Astra

La version 04.3 de Clairbois, telle que Codex l'a laissée le 13 septembre 2026. Souris, clavier ou manette, le premier geste active le son. Dans cette version intégrée, la sauvegarde ne dure que le temps de la page.

Protokół

Construit avec l'application Codex et le modèle gpt-6-astra en effort xhigh, le 13 septembre 2026 : 10 tours, 3 h 05 min de travail de l'agent. Fichiers du prototype servis tels quels, sans les pages d'audit ni les sources des images.

ACodex · GPT-6 Astragpt-6-astra (xhigh)

Projekt działa w odizolowanym sandboksie (iframe sandbox i CSP): bez dostępu do witryny, ciasteczek ani Twojej sesji. Nic nie ładuje się przed kliknięciem.

Otwórz osobno
Dostawca
OpenAI
Model
gpt-6-astra (xhigh)
Narzędzie
Codex, application de bureau
Data
2026-09-13
Czas trwania
3 h 05 min de travail sur 10 tours
Tokeny wejściowe
35 405 000, dont 33 769 472 lus en cache
Tokeny wyjściowe
301 285, dont 114 284 de raisonnement
Koszt
abonnement ChatGPT (≈ 65 $ au tarif API)
Rozmiar projektu
56,7 Mo, 85 fichiers
Uwagi
Clic pour marcher et parler, flèches ou ZQSD, E pour interagir, X pour le menu, J pour le journal, M pour la carte, P pour la pause. Une manette standard est reconnue après un premier appui. 1 515 contrôles géométriques au 14 septembre 2026.

Mapa wygenerowana w całości, potem pocięta

Przytaczam prompt w całości, w przekładzie z francuskiego. W oryginale poprawiłem tylko literówki.

Wygeneruj grę w stylu EarthBound, w HTML, CSS i JavaScript. Chcę tej samej oprawy graficznej co w oryginalnej grze, z takim samym UI, do rozgrywki myszą albo padem. Wygeneruj też postacie, ich sprite’y i ruchy, a także scenerię i SFX. Jeśli chodzi o scenerię i mapę, wygeneruj całą mapę za jednym razem, przeanalizuj ją i wygeneruj w systemie warstw kolejne obrazy do nałożenia na nią, tak żeby postać przechodząca za drzewem albo płotem była wizualnie za nim. Cała mapa ma jednak powstać za jednym razem i korzystać z tego systemu warstw. Wykryjesz więc kolizje i zmapujesz je ręcznie na podstawie wygenerowanego obrazu, żeby postać nie przechodziła przez scenerię. Zrób szybki prototyp gry.

Gry 16-bitowe składają mapy z kafelków. Tutaj sceneria to jedna ilustracja, a silnik musi wiedzieć, co zasłania bohatera i gdzie bohater natrafia na przeszkodę. Astra wybrała Phaser 3.90, oparła się na pluginie Game Studio od OpenAI, na imagegen przy obrazach i na sound-effects przy dźwiękach, a potem zapowiedziała małą przygodę w obrębie dzielnicy, z eksploracją przez klikanie, dialogami i walką turową.

Postacie, sceneria i dźwięki powstały na potrzeby prototypu, który dostał nazwę Clairbois. Bohater nazywa się Nino. Po drodze pojawiają się Lila, Marcel, Iris i Rémi, a przeciwnikiem jest grzyb o imieniu Myco.

Dwadzieścia sześć minut do pierwszego prototypu

Astra wygenerowała mapę dzielnicy, zlokalizowała na niej cztery drzewa, płoty, budynki i staw, a potem wyznaczyła kolizje według ich rzeczywistych położeń. Drzewa blokują ruch na wysokości pnia, a listowie wyświetla się przed bohaterem albo za nim, zależnie od jego pozycji. Warstwa pierwszego planu przyszła z szachownicą narysowaną w miejscu przezroczystości. Astra sama wykryła ten błąd i go poprawiła.

Przy dźwiękach na początku brakowało klucza ElevenLabs, więc Astra przygotowywała efekty metodą syntezy. Dwie i pół minuty później wkleiłem jej klucz do rozmowy i siedem efektów z ElevenLabs zastąpiło syntezę. Tura skończyła się po 26 min 6 s. Przyniosła 24 pozy postaci, pełny scenariusz aż do walki i 35 udanych sprawdzeń, w tym jedno z padem symulowanym przez Gamepad API. Dostarczone archiwum nie zawiera żadnego klucza.

Domy bez ładu, potem plan architekta

W drugiej prośbie chciałem dodać wnętrza trzech domów z kilkoma pokojami, łóżka, w których bohater wsuwa się pod kołdrę jak w Alundrze albo Zeldzie, więcej zadań i nowe obszary. Przerwałem tę turę, gdy trwała cztery i pół minuty. Kolejna wiadomość wprowadzała regułę. Każdy pokój miał dostać własny obraz, a plany miały trzymać się logiki konstrukcji: jeśli na schody wchodzi się z lewej strony, to na górze wychodzi się też po lewej, a drzwi są w tym samym miejscu po obu stronach ściany.

Astra najpierw rozpisała plan trzech domów, po dwa pokoje na parterze i dwa na piętrze, a potem osobno wygenerowała dwanaście pokoi. Generator obrazów przesunął część otworów drzwiowych. Astra dopasowała każdy obraz do współrzędnych wspólnego planu, czyli logicznej powierzchni 512 × 512 na pokój, i zastosowała to samo przekształcenie do kolizji i warstw. Każde z 28 przejść między pokojami ma połączenie powrotne, przetestowane w obu kierunkach.

Potem poprosiłem o audyt domów. Astra wykazała w nim niemal identyczne rozkłady we wszystkich domach, zbyt puste pokoje i schody na piętrze, które wyglądały, jakby prowadziły jeszcze wyżej. Przerysowała dom rodzinny, sklep spożywczy z magazynkiem i mieszkaniem na piętrze oraz dom zegarmistrzyni urządzony wokół warsztatu, z kręconymi schodami. Generator znów dodał drzwi, których nie było w planie. Poprawiono je przed ustaleniem kolizji, a eksport objął 158 warstw. Audyt, rozłożony na dwie tury, kosztował 14,95 $ według cennika API.

Gołym okiem widać było jeszcze błąd skali. Bohater zachowywał w domach rozmiar z zewnątrz, a meble były od niego znacznie większe. Teraz we wnętrzach ma około 62 pikseli wysokości, dwa razy więcej niż na zewnątrz, tak jak mieszkańcy.

Warstwy i kolizje: dwa błędy, które wychwyciłem

W 9. turze zrzut ekranu pokazywał bohatera z uciętymi nogami, stojącego w lesie na wolnym podłożu. Astra odtworzyła to ucięcie co do piksela. Warstwa drzewa miała przybliżony obrys, który obejmował trójkąt trawy. W zgłoszonym miejscu stara warstwa zasłaniała 89 pikseli postaci, a nowa nie zasłania żadnego. Osiem drzew z lasu i sadu dostało szczegółowe maski, zapisane jako pasy pikseli w js/occlusion-data.js.

W 10. turze mogłem wejść na niektóre elementy scenerii. Tabliczka widoczna na moim zrzucie nie miała zadeklarowanej kolizji, a Astra znalazła kolejne braki wśród skał, krzaków, korzeni i skrajów lasu. Poprawiła też wyszukiwanie ścieżki, które po kliknięciu mogło wyznaczyć trasę ścinającą róg przeszkody. Zapis gry zrobiony w miejscu, które stało się nieprzechodnie, przenosi teraz bohatera na najbliższe wolne podłoże.

Kontrole geometryczne projektu uruchamia się poleceniem npm test, bez instalowania zależności. Oto ich wynik z ponownego uruchomienia 14 września:

json
{
  "maps": 15,
  "rooms": 12,
  "portalDirections": 28,
  "reachableInteractions": 55,
  "boundaryMovementSamples": 22023,
  "passed": true,
  "failures": [],
  "checks": 1515
}

Komplet 1 515 kontroli przechodzi w 2,9 sekundy. Obejmuje 17 sond podłoża i listowia oraz 54 kontrole scenerii. Plik README napisany przez Astrę zastrzega, że te geometryczne próbki nie dowodzą, że każdy piksel scenerii jest poprawny.

Dwanaście utworów i siedem portretów

W 7. turze poprosiłem o muzykę, która zmienia się zależnie od sytuacji i otoczenia. Astra napisała dwanaście promptów i wygenerowała dwanaście utworów przez API muzyczne ElevenLabs z modelem music_v2: do wioski, trzech domów, lasu, sadu, dwóch walk, odpoczynku w łóżku, snu, zwycięstwa i porażki. Dziesięć motywów tła zapętla się z przenikaniem 350 ms, zmiany miejsca odbywają się z przenikaniem 850 ms, a podczas dialogów muzyka cichnie.

Czterdzieści kontroli dźwięku przeszło w Chrome. Sprawdzają sygnał, pętle i przejścia, a README zaznacza, że nie zastąpią odsłuchu, gdy trzeba ocenić samą muzykę.

Portrety doszły w 8. turze. Astra zleciła skillowi imagegen wygenerowanie siedmiu portretów w stylu pixel art na podstawie istniejących sprite’ów, z zachowaniem fryzur, ubrań i kolorów. Wyświetlają się obok kwestii każdej postaci, a portret bohatera pojawia się w menu razem z jego poziomem, punktami życia i punktami mocy. Okna mieszczą się na ekranie już od 320 pikseli szerokości.

Czas, tokeny i koszt

Pomiar Clairbois
Okres 13 września, od 16:53 do 23:23 (czas paryski)
Praca agenta 3 h 05 min w 10 turach, w tym 2 przerwane
Wysłane wiadomości 10, w tym 2 ze zrzutem ekranu
Odpowiedzi modelu 269
Wywołania narzędzi 257
Kompakcje kontekstu 4
Tokeny wejściowe 35 405 000, w tym 33 769 472 odczytane z cache’u (95,4%)
Tokeny wyjściowe 301 285, w tym 114 284 tokeny rozumowania
Koszt według cennika API 65,19 $

Według cennika sprawdzonego na OpenRouter 14 września 2026, tego samego co przy klonie Dune 2000, suma dzieli się na 16,36 $ za wejście spoza cache’u, 33,77 $ za cache i 15,06 $ za wyjście. Mój abonament ChatGPT rozlicza to użycie w limicie, więc kwota służy jako punkt odniesienia. Ten sam model mierzy się z Claude Fable 5.1 na scenie three.js w naszym porównaniu obu agentów.

Dwa projekty, dwa sposoby prowadzenia agenta

Pomiar Klon Dune 2000 Clairbois
Gatunek strategia czasu rzeczywistego RPG eksploracyjne
Pierwszy prompt 66 słów i repozytorium referencyjne 147 słów i narzucona metoda
Tury 46 10
Wiadomości 54 10
Praca agenta 11 h 16 min 3 h 05 min
Koszt według cennika API 196,00 $ 65,19 $
Koszt za godzinę pracy 17,40 $ 21,12 $
Kontrole automatyczne 122 testy Node, 24 scenariusze przeglądarkowe 1 515 kontroli geometrycznych

Długi prompt wymagał pięć razy mniej wiadomości, przy wyższym koszcie za godzinę pracy. Model odpowiadał częściej, 1,45 raza na minutę wobec 1,27, przy nieco mniejszym udziale cache’u, 95,4% wobec 96,8%. Obie gry różnią się gatunkiem i rozmiarem, więc te różnice nie wskazują, która metoda jest lepsza.

Co warto zapamiętać

  • Wygenerowanie całej mapy jako jednego obrazu działa, pod warunkiem że potem zlecisz wyznaczenie każdej kolizji i każdej warstwy, a następnie ich przetestowanie.
  • Przy wnętrzach plan powstaje przed pierwszym obrazem. Drzwi i schody wyrównane, 28 przejść sprawdzonych.
  • Generator obrazów przesuwa otwory, rysuje szachownice i dodaje drzwi. Każdy obraz trzeba sprawdzić, zanim trafi do gry.
  • Cztery z moich dziesięciu wiadomości zgłaszały widoczny błąd, którego testy automatyczne nie wychwyciły.
  • Dwanaście utworów i siedem portretów zmieściło się w dwóch turach i 10,81 $ według cennika API.

Częste błędy

Generowanie wszystkich pokoi bez wspólnego planu Pierwsze pokoje nie miały żadnej logiki pięter. Zanim powstanie pierwszy obraz, zleć rozpisanie planu z drzwiami, schodami i stronami wyjścia, jak tutaj architecture.json.
Ufanie przezroczystości wygenerowanego obrazu Warstwa pierwszego planu przyszła z szachownicą narysowaną w miejscu kanału alfa. Sprawdź przezroczystość, zanim zaczniesz wycinać warstwy.
Wyznaczanie warstw przybliżonym wielokątem Obrys drzewa obejmował trawę i zasłaniał 89 pikseli nóg bohatera. Używaj masek z dokładnością do piksela, które pomijają podłoże i cienie.
Deklarowanie kolizji bez pełnego przeglądu Tabliczka narysowana na mapie nie miała żadnej kolizji. Przejrzyj każdy widoczny obiekt w widoku debugowania, tutaj pod F2, i sprawdź go testem tras.
Ocenianie wygenerowanej muzyki po wynikach kontroli 40 kontroli dźwięku sprawdza sygnał, pętle i przejścia, a nie jakość muzyki. Przesłuchaj utwory, zanim je zostawisz.

CodexGPT-6 AstraJavaScriptJeu vidéoPhaser

Damien Flandrin Web developer od 2010 roku, twórca Gekkode i Email Impact. Każdy artykuł jest sprawdzany na prawdziwym projekcie przed publikacją. Kontakt
Newsletter

Nowe testy, poradniki i projekty, e-mailem.

Powtarzalne testy, wersjonowany kod, datowane wyniki. Nigdy spamu.