A.I

Zapytałem Claude’a, czy napisze mi Snake’a w C++

Ś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.

2026 05 27 07h02 01

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.

2026 05 27 07h02 58

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ć.
nsnake error

Wnioski

  1. AI radzi sobie coraz lepiej. Potrafi budować sensowną architekturę i generować duże projekty.
  2. Dobry prompt robi różnicę. Im dokładniejsza specyfikacja, tym lepszy rezultat.
  3. AI pomaga, ale nie zastępuje programisty. Nadal trzeba umieć poprawić błędy, zweryfikować kod i dopracować szczegóły.
  4. 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.


2026 05 27 07h04 18

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:

📦
NokiaSnake.zip24,9 MB⬇ 0
📦
NokiaSnake.zipŹródło32 KB⬇ 0

Może cię zainteresować:

Zapytałem Claude’a, czy… napisze mi emulator NES

Kabson

Kazałem AI zrobić mi Ponga. Oto co z tego wyszło

Kabson

Zostaw komentarz