Jak zrobić prawdziwą grę na Game Boy Advance z AI (i zagrać w nią na prawdziwym sprzęcie)
Także po: English · Español · Deutsch · Français · Português · Italiano · Nederlands · Svenska · Norsk · Bahasa Indonesia · Türkçe · Tiếng Việt · Русский · 日本語 · 한국어 · 繁體中文
Aby zrobić grę na Game Boy Advance z AI, otwórz Shiny Gen (w przeglądarce na shinygen.ai/play albo w aplikacji na iPhone'a, iPada i Androida), zacznij nową grę, wybierz Silnik GBA i opisz grę, którą chcesz. Agent AI pisze grę, kompiluje ją do prawdziwego kartridża GBA, gra w nią, żeby znaleźć i naprawić błędy, a ty pobierasz ROM .gba, co wymaga jednego dowolnego zakupu, od pakietu startowego za $2.99. ROM działa w emulatorach GBA i na prawdziwym Game Boy Advance przez flash cart.
Ten poradnik prowadzi krok po kroku, a potem omawia, jakie gry dobrze się sprawdzają, uczciwe ograniczenia i najczęstsze pytania.
Czym jest silnik GBA
Silnik GBA to silnik, który napisaliśmy i który kompiluje nowe gry z twojego opisu. To nie jest emulator ani program do wczytywania ROM-ów: silniki GBA, GBC, N64, GameCube i DS kompilują gry, które robisz w Shiny Gen, i nie uruchomią komercyjnych ani cudzych ROM-ów.
Twoja gra jest napisana w małym języku podobnym do C (plik to main.sgba). Shiny Gen kompiluje ją do kodu maszynowego ARM na twoim urządzeniu, pakuje grafikę i dźwięk do kartridża i uruchamia ten kartridż. Nie ma osobnej wersji podglądowej: gra, w którą grasz w aplikacji, to sam kartridż.
Czego potrzebujesz
- Nowoczesnej przeglądarki albo aplikacji Shiny Gen z App Store lub Google Play.
- Darmowego konta Shiny Gen. Nowe konta zaczynają z darmowymi klejnotami, które wydaje AI.
- Do pobrania ROM-u: jednego dowolnego zakupu, od pakietu startowego za $2.99.
- Do gry na prawdziwym sprzęcie: Game Boy Advance i flash carta GBA. Emulatory nie potrzebują niczego więcej.
Krok po kroku
1. Zacznij nową grę i wybierz silnik GBA
Naciśnij przycisk +. W sekcji Agent w aplikacji wybierz Nowy. Następny ekran prosi: Wybierz silnik; wybierz Silnik GBA.
Nowa gra GBA otwiera się w edytorze. Celowo zaczyna jako pusty kartridż, z pustymi funkcjami init() (uruchamia się raz) i frame() (uruchamia się sześćdziesiąt razy na sekundę), żeby agent budował to, co opisujesz, a nie edytował szablon, o który nikt nie prosił.

2. Opisz grę
Otwórz kartę Agent na dole edytora i wpisz, czego chcesz, w widoku Czat. Dobra pierwsza wiadomość mówi, jaki to rodzaj gry, co robi gracz, jakie jest sterowanie (GBA ma krzyżak, A, B, L, R, Start i Select), jaki jest cel i jak gra wygląda.
Na przykład: „Zrób przygodówkę z widokiem z góry na GBA. Lis zwiedza las, rozmawia z mieszkańcami wioski w oknach tekstowych i zbiera pięć lampionów. Krzyżak do chodzenia, A do rozmowy, Start do pauzy. Zapisuj postępy, kiedy gracz odpoczywa przy ognisku.”
Przycisk obok pola wiadomości wybiera model, a wbudowany agent jest rozliczany w klejnotach według faktycznego użycia.
3. Patrz, jak agent ją buduje i testuje
Agent wie, że pracuje nad kartridżem. Czyta dokumentację języka dla GBA, pisze kod i go buduje. Jeśli budowanie się nie uda, kompilator mówi, co i gdzie (wiersz, kolumna i co napisać zamiast tego), a agent to poprawia. Potem sam gra w grę:
- Uruchamia kartridż i czyta raport z budowania, łącznie z tym, jak bardzo kartridż jest zapełniony.
- Robi zrzuty ekranu ekranu 240 x 160, żeby sprawdzić, co naprawdę jest narysowane.
- Naciska przyciski (A, B, L, R, Start, Select i krzyżak), żeby zagrać w to, co zbudował.
- Odczytuje wartości, które zgłasza gra, więc wie, że bohater się ruszył albo wynik wzrósł, zamiast zgadywać.
- Naprawia to, co nie działa, i próbuje znowu.
Potrafi też zrobić grafikę i dźwięk: sprite'y, tła i muzykę, które trafiają do kartridża pod swoimi nazwami. Generowanie zasobów zużywa klejnoty.
4. Zmieniaj ją rozmową
Kiedy pierwsza wersja działa, kontynuuj w tym samym czacie. Najlepiej działają małe, konkretne prośby: „Dodaj ekran tytułowy”, „Niech drugi obszar będzie jaskinią w ciemniejszych kolorach”, „Okno tekstowe zostaje otwarte, kiedy odchodzę; zamknij je.” Mów, co widzisz, zamiast zgadywać przyczynę; agent może to odtworzyć, grając w grę.
Możesz też otworzyć widok Kod i samodzielnie edytować main.sgba. Ręczna edycja kodu nic nie kosztuje, a budowanie podmienia kartridż na nowy bez utraty zapisu.
5. Zagraj w aplikacji
Gra działa od razu w edytorze i z karty twojej gry. Na telefonie lub tablecie sterowanie jest na ekranie: krzyżak po lewej, A i B po prawej, a L, R, Start i Select wokół nich. Na komputerze grasz na klawiaturze: strzałki, Z to A, X to B, A i S to L i R, Enter to Start, a Shift to Select. Kontroler do gier też działa, a jego przyciski możesz przypisać na nowo w ustawieniach kontrolera.
Gra zapisuje się we własnym zapisie bateryjnym, tak jak kartridż, więc możesz wyjść i wrócić w to samo miejsce.

6. Pobierz ROM
Naciśnij Udostępnij, potem Export .gba ROM. Eksport wymaga jednego dowolnego zakupu, od pakietu startowego za $2.99; przycisk widzi każdy właściciel gry, a bez zakupu przenosi on do sklepu. Przycisk jest dostępny dla gier, które należą do ciebie.
Zanim przekaże ci plik, Shiny Gen buduje kartridż od nowa, jeśli coś się zmieniło, potem uruchamia go w świeżym emulatorze i sprawdza, czy startuje. Dostajesz plik .gba z nazwą twojej gry. ROM zaczyna się od krótkiego ekranu powitalnego Shiny Gen i nie zawiera twojego zapisu, więc kopia, którą komuś dasz, zaczyna od zera.
Gdzie trafia plik, zależy od urządzenia: w przeglądarce to zwykłe pobieranie, a w aplikacji na iPhone'a i iPada okno Zachowaj w Plikach. Aplikacja na Androida nie może jeszcze zapisać pliku; otwórz grę na shinygen.ai w przeglądarce na telefonie lub komputerze, żeby ją pobrać, co wymaga tego samego jednego zakupu.

7. Zagraj na prawdziwym sprzęcie
Flash cart to kartridż GBA z gniazdem na kartę pamięci zamiast jednej stałej gry. Kopiujesz pliki ROM na kartę, a kartridż po włączeniu konsoli pokazuje ich menu. Graliśmy w ROM-y zrobione w ten sposób na prawdziwym Game Boy Advance i Nintendo DS Lite, z zapisami.
Ogólne kroki (dokładne znajdziesz w instrukcji swojego kartridża):
- Skopiuj plik
.gbana kartę SD lub microSD kartridża. Niektóre kartridże najpierw potrzebują na karcie także własnych plików systemowych. - Włóż kartę do kartridża, a kartridż do Game Boy Advance.
- Włącz konsolę i wybierz swoją grę z menu kartridża.
Niektóre kartridże pytają o typ zapisu dla każdej gry. Nasze ROM-y używają zapisu 128 KB (1 Mbit) flash i deklarują to wewnątrz ROM-u, dzięki czemu flash carty i emulatory zwykle wykrywają go same. Jeśli kartridż zapyta, wybierz 128 KB albo 1M flash. Zapisy działają wtedy na kartridżu tak samo jak na oryginalnym kartridżu.
Żeby grać bez sprzętu, plik otworzy każdy emulator GBA: na przykład mGBA na komputerze albo Delta na iPhonie.
Jakie gry dobrze się sprawdzają
Gry na GBA w naszym katalogu pokazują możliwości. We wszystkie możesz grać za darmo w przeglądarce, a każdą możesz zremiksować do własnej kopii i zmieniać z agentem:
- RPG z kolekcjonowaniem potworów: Shiny Monsters Advance, z miastem, oknami tekstowymi i walkami potworów. Przez internet wymienia się potworami i walczy z innymi grami Shiny Monsters.
- Wyścigi z obracającą się podłogą „Mode 7”: Shiny Kart Advance, ośmiu zawodników na trzech trasach.
- Gry zręcznościowe: Shiny Pinball, kosmiczny stół do pinballa.
- Akcja i przetrwanie: Shiny Swarm, w której broń strzela sama, a ty odpierasz kolejne fale.
- Małe, spokojne gry: Spark Garden i Ember Courier.

Ogólnie najlepiej sprawdzają się gry, które pasują do tej konsoli: przygodówki i RPG z widokiem z góry, platformówki, gry logiczne, strzelanki, wyścigi na obracającej się podłodze i wszystko, co jest zbudowane z kafelków i sprite'ów. Silnik obsługuje przewijane warstwy, sprite'y, które się obracają i skalują, efekty przezroczystości, okna tekstowe, muzykę i efekty dźwiękowe.
Ograniczenia
Silnik GBA ma takie granice jak prawdziwa konsola, a kilku rzeczy jeszcze nie zbudowaliśmy:
- Ograniczenia samej konsoli. Ekran 240 x 160; do 128 sprite'ów naraz, każdy najwyżej 64 x 64 piksele; kolory w paletach po 16; 256 KB pamięci roboczej na dane gry. Nie ma liczb zmiennoprzecinkowych, więc pozycje używają liczb stałoprzecinkowych. Każde budowanie pokazuje, jak bardzo zapełniony jest każdy budżet, więc widzisz zbliżający się limit, zanim go osiągniesz.
- Brak 3D. GBA rysuje kafelki i sprite'y 2D. Podłoga „Mode 7” daje grom wyścigowym wygląd 3D, ale to obrócony i przeskalowany obraz 2D.
- Tylko nowe gry. Nie otworzy ani nie uruchomi ROM-u zrobionego przez kogoś innego i nie możesz zaimportować ROM-u do edycji.
- Na sprzęcie nie ma jeszcze kabla link. Wymiany i walki między grami Shiny Monsters działają przez internet w Shiny Gen. Gra przez prawdziwy kabel link między dwiema konsolami nie jest sprawdzona, więc tego nie obiecujemy.
- Zapisy zostają przy tobie. ROM nie zawiera twoich postępów, a Shiny Gen trzyma twój zapis z aplikacji na twoim koncie.
- Pobieranie wymaga zakupu, a aplikacja na Androida nie może jeszcze zapisać pliku. Eksport ROM-u wymaga jednego dowolnego zakupu, od $2.99; na Androidzie pobierz go z przeglądarki.
Inne silniki retro
GBA to jeden z pięciu silników retro, które napisaliśmy, i wszystkie działają tak samo: wybierasz silnik, opisujesz grę, a agent ją buduje i testuje. GBC tworzy ROM na Game Boy Color, N64 ROM na N64, GameCube plik .dol, a DS plik .nds na dwa ekrany, a eksport każdego z nich wymaga tego samego jednego zakupu, od $2.99. Jeśli zamiast tego chcesz nowoczesną grę 2D lub 3D, silnik Godot jest szóstym wyborem na tym samym ekranie. Zobacz, jak Shiny Gen wypada na tle innych twórców gier z AI.
Najczęstsze pytania
Czy AI może zrobić grę na Game Boy Advance?
Tak. W Shiny Gen wybierasz silnik GBA i opisujesz grę; agent AI pisze kod, kompiluje prawdziwy kartridż GBA, gra w niego przyciskami, żeby znaleźć błędy, i je naprawia. ROM .gba możesz pobrać po jednym dowolnym zakupie, od $2.99.
Czy to prawdziwy ROM GBA?
Tak. To standardowy obraz kartridża .gba, skompilowany do kodu maszynowego ARM, z poprawnym nagłówkiem kartridża. Shiny Gen uruchamia każdy ROM w świeżym emulatorze, zanim go przekaże, a my graliśmy w te ROM-y, z zapisami, na prawdziwym Game Boy Advance i DS Lite przez flash cart.
Czy można w nim grać w Pokemon albo inne komercyjne ROM-y?
Nie. Silnik GBA nie jest emulatorem ani programem do wczytywania ROM-ów. Kompiluje nowe gry, które robisz w Shiny Gen, i nie uruchomi komercyjnych ani cudzych ROM-ów.
Czy muszę umieć programować?
Nie. Opisujesz grę, a agent pisze i testuje kod. Jeśli chcesz, możesz czytać i edytować kod w widoku Kod; ręczna edycja nic nie kosztuje.
Czy mogę sprzedawać grę na GBA, którą zrobię?
Tak. To, co tworzysz, należy do ciebie, a Shiny Gen nie bierze udziału w przychodach (Warunki korzystania z usługi, punkt 4). Możesz sprzedawać sam plik ROM; jego eksport wymaga jednego dowolnego zakupu, od $2.99.
Na jakich urządzeniach działa ROM?
W emulatorach GBA, takich jak mGBA na komputerze lub Delta na iPhonie, i na prawdziwym sprzęcie przez flash cart. Przetestowaliśmy go na Game Boy Advance i Nintendo DS Lite, z zapisami, i powinien działać na każdej konsoli, stacjonarnej lub przenośnej, która obsługuje kartridże GBA, na przykład na Game Boy Advance SP.
Jaki typ zapisu wybrać na flash carcie?
128 KB (1 Mbit) flash. ROM to deklaruje, więc kartridże i emulatory zwykle wykrywają go bez pytania.
Czy to jest darmowe?
Tworzenie, granie i udostępnianie gier jest darmowe. Generowanie AI i wbudowany agent zużywają klejnoty, a nowe konta dostają darmowe klejnoty. Pobranie ROM-u wymaga jednego dowolnego zakupu, od pakietu startowego za $2.99. Pełna lista jest na stronie z cennikiem.