Środa rano, kawa już zimna, a ja z czystej ciekawości otworzyłem czat z Claude’em.
„Stwórz kompletną grę Snake inspirowaną klasykiem z Nokii 3310” – napisałem, po czym wkleiłem długą, szczegółową specyfikację.
Liczyłem na jakiś prosty szkielet, może dwie klasy i obietnicę, że „resztę trzeba będzie dokończyć samemu”.
Tymczasem Claude wygenerował cały projekt od strzała – wieloplikową aplikację w C++ z użyciem Qt Widgets, podzieloną na profesjonalne moduły, którą natychmiast otworzyłem w Qt Creator, zbudowałem i… przepadłem na bite pół godziny, testując tryby gry, zmieniając motywy i goniąc za rekordami.
Geneza tytułu – dlaczego akurat „Snake”?
„Snake” to nazwa-legenda, nierozerwalnie związana z pierwszymi automatami i monochromatycznymi wyświetlaczami Nokii. Tytuł jest maksymalnie dosłowny: sterujemy wężem, który sunie po planszy, pożera jedzenie i rośnie z każdym kęsem. Protoplasta z 1976 roku doczekał się setek wcieleń, ale to wersja z Nokii 3310 stała się ikoną popkultury.
Gdy poprosiłem Claude’a o Snake’a w C++, nie musiałem tłumaczyć zasad – sztuczna inteligencja od razu wiedziała, o co chodzi. Na podstawie mojej rozbudowanej specyfikacji od strzała stworzyła nie banalny klon, lecz rozbudowaną grę z systemem motywów, rankingami i udźwiękowieniem.
Grywalność, która przeszła moje oczekiwania
To nie była przeglądarkowa ciekawostka ani prymitywna plansza. Dostałem pełnoprawną aplikację desktopową z prawdziwym menu głównym, wieloma trybami rozgrywki i systemem zapisywania wyników.
Tryby gry:
- Classic – klasyczny Snake.
- Endless – przechodzenie przez ściany.
- Speed Mode – rosnące tempo gry.
- Time Attack – limit czasu.
- Hardcore – losowe przeszkody.
- Zen – brak przegranej.
System motywów:
- Nokia Green
- Czarno-biały LCD
- Dark OLED
- Retro Neon
- Amber CRT
- Blue LCD
Dodatkowo pojawiły się rankingi, system osiągnięć, obsługa dźwięku, pełne menu główne,
sterowanie strzałkami i WASD, pauza, statystyki oraz możliwość skalowania okna.
Kod został rozdzielony na osobne klasy:
MainWindow,
GameBoard,
Snake,
Food,
ScoreManager,
AudioManager,
ThemeManager,
LeaderboardManager
oraz
SettingsManager.
Prompt, który wygenerował projekt
Jeśli macie ochotę sami zobaczyć, jak Claude radzi sobie z tworzeniem rozbudowanych aplikacji natywnych, oto dokładna komenda, którą mu wysłałem:
Stwórz kompletną grę Snake inspirowaną klasycznym Snake z telefonów Nokia (Nokia 3310) wykorzystując Qt Creator oraz C++ (Qt Widgets). Kod ma być profesjonalny, dobrze podzielony na klasy, łatwy do rozwijania i zgodny z nowoczesnymi praktykami Qt. Wymagania: - C++ - Qt Widgets - Projekt zgodny z Qt Creator - MainWindow - GameBoard - Snake - Food - ScoreManager - AudioManager - ThemeManager - LeaderboardManager - SettingsManager - QPainter - QTimer - Qt Resource System - JSON lub QSettings - Windows + Linux Sterowanie: - Strzałki - WASD - Pauza (P) Tryby gry: - Classic - Endless - Speed Mode - Time Attack - Hardcore - Zen Motywy: - Nokia Green - Black & White LCD - Dark OLED - Retro Neon - Amber CRT - Blue LCD Funkcje: - Ranking Top 10 - Zapisywanie rekordów - Statystyki - Audio inspirowane Nokią - Fullscreen - Skalowanie okna - Osiągnięcia - Combo score - Eksport rankingu - Auto-save ustawień Kod ma być kompletny, kompilowalny od razu w Qt Creator, bez pseudokodu. Wygeneruj pełną strukturę projektu, wszystkie pliki .h/.cpp, .pro lub CMakeLists.txt oraz zasoby projektu.
Claude wygenerował komplet plików –osobne .h i .cpp, gotowy projekt .prooraz zasoby .qrc.
Po przeklejeniu do Qt Creatora okazało się jednak,że potrzebne były drobne poprawki. Nie było źle, ale warto to odnotować.

Wnioski
- AI radzi sobie coraz lepiej. Potrafi budować sensowną architekturę i generować duże projekty.
- Dobry prompt robi różnicę. Im dokładniejsza specyfikacja, tym lepszy rezultat.
- AI pomaga, ale nie zastępuje programisty. Nadal trzeba umieć poprawić błędy, zweryfikować kod i dopracować szczegóły.
- Qt nadal trzeba mieć zainstalowane. AI nie skonfiguruje środowiska za użytkownika.
Jeśli marzyłeś o stworzeniu własnej gry w C++ z okienkowym interfejsem, dzisiaj próg wejścia jest dużo niższy niż kilka lat temu.
Kilka chwil później wysłałem znajomemu zbudowaną binarkę. Odpisał po dziesięciu minutach: „Czekaj, ja testuję jeszcze tryb Hardcore…”. Jeśli kiedykolwiek marzyłeś o własnej, rozbudowanej grze w C++ z prawdziwym interfejsem okienkowym, teraz wiesz, od czego zacząć. Wystarczy dobry prompt, Qt Creator i Claude – reszta dzieje się w kilka sekund.
Podumowanie
Jestem w szoku. Naprawdę. Spodziewałem się szkieletu, może paru klas do uzupełnienia, sztampowych komentarzy typu „// TODO: implement collision”. Dostałem projekt, który po prostu się kompiluje i działa. Z trybami, których nie wyspecyfikowałem na poziomie szczegółów. Z motywami, które mają własną logikę renderowania (scanlines, glow). Z proceduralnym audio. Z troską o prawa autorskie, bez bycia o to proszonym.
Czy to zastąpi programistę? Nie. Ale jako narzędzie do prototypowania, do nauki Qt, do zabawy w weekend — to jest inny poziom, niż to, czego się spodziewałem.
A teraz pytanie do Was, drodzy czytelnicy: jaką klasyczną grę z czasów Nokii / wczesnych konsol mam kazać Claude’owi napisać następnym razem? Tetris od strzała? Arkanoid? Bomberman? A może coś bardziej szalonego — Worms? Prince of Persia w 2D? Może port starego polskiego klasyka? Wrzucajcie propozycje w komentarzach — może wyląduje w następnym wpisie. Z pełnym kodem, projektem do pobrania i moimi wrażeniami z testów.
Bo skoro AI potrafi napisać Snake’a na takim poziomie, to jestem ciekaw, gdzie ją złamię.
📎 Załączniki do pobrania:



