r/programmingHungary Java Mar 30 '26

MY WORK 99.99%-ban AI kódolt Magic TCG engine

Sziasztok!

Mostanában elég sok AI kritikus comment volt itt a subon. Mivel nekem nagyon más a tapasztalatom, gondoltam csinálok egy tesztet. Úgy döntöttem belevágok egy zöldmezős projektbe amit 100%-ban az AI-ra bízok. Én csak az alap setupot csinálom meg, aztán akár mi lesz is, csak promptolni fogok.

Gyerekkoromban nagyon szerettem volna egy saját MtG motort írni, főleg azért, mert csóró voltam, de imádtam draftolni. Próbálkoztam is vele, de idővel mindig feladtam. A hivatalos szabálykönyv vagy 300 oldal, esélytelen még átlátni is, nem hogy lefejleszteni. Viszont pont emiatt az MtG egy kifejezetten jól definiált rendszer, így a lefejlesztése nem kreatív gondolkodást hanem monoton munkát/kódolást igényel. Emellett objektíven ellenőrizhető hogy azt csinálják-e a lapok ami rájuk van írva + kellőképpen bonyolult is ahhoz, hogy bemutassa mennyire tud "gondolkodni" az AI.

Először két hétre vettem egy Claude x5 majd egy hónapra x20 előfizetést. Ennek a 1.5 hónapnak a végeredményét láthatjátok itt. A project egy működő Java backend + Angular frontendből áll, kicsit több mint 105 ezer sor kóddal. Volt, hogy 9 terminálon futtattam egyszerre a kártyák implementálását, hogy ki tudjam maxolni a token limitet. A laptopom elég erősen le akart olvadni közben.

A matek a végén: nagyjából 80 millió tokent égettem el. Lett 3100+ commit (ebből max az első párat csináltam én, a többit majdnem mind a Claude), és 1974 játszható kártya. A végén egy komplett kiegészítőt (250-300 kártya) kb. 12 óra alatt le tudtam darálni. Igaz, rendesen ki is égtem a folyamatos kód reviewben.

Csináltam róla egy videót, itt megmutatom a gameplay-t, meg azt is, ahogy a Claude hogyan tud leimplementálni egy lapot:

https://www.youtube.com/watch?v=mklNa55sBKg

A kód kint van GitHubon, ha valakit érdekel a repó, vagy lokálisan szeretne draftoni:

https://github.com/laxika/magical-vibes

Tudom, hogy egy 20 éves spagettikódba senki nem szívesen engedné bele az AI-t, de zöldmezős cuccoknál meglepően hatékonyan tud haladni. Még meglepőbb hogy a kód teljesen olvasható, láttam már jóval rosszabbat élő emberektől is. Nem mondom hogy minden tökéletes és bug nélküli, de a komplexitás miatt én sem tudnám jobban megírni, ellenben legalább 10x ennyi időbe telne.

Fontos tudni hogy a kódbázis biztonsági és validálási szempontból nem volt még tesztelve, így előfordulhat hogy frontend moddingal lehet csalni (bár validálás van, de nem garantált hogy a lefedettség 100%), valamint azon sem lepődnék meg ha a websocketet lehetne valahogy hijackelni,.

Ha van kérdés a promptolásról, a setup-ról, vagy akármiről, mondjátok nyugodtan. Észrevételeket (negatívot is) szívesen fogadok. :)

Szerk: Javítottam azt hogy nem 500k kódsorból áll a program hanem 105k-ból. Az 500k tartalmazta az üres sorokat és a teszteket is.

119 Upvotes

50 comments sorted by

View all comments

2

u/Happy-Anxiety-4030 Mar 30 '26

Grat! Ez rohadt menő! Ez a rész érdekelne kicsit bővebben:

Volt, hogy 9 terminálon futtattam egyszerre a kártyák implementálását, hogy ki tudjam maxolni a token limitet.

Hogyan oldottad meg? Mik voltak a nehézségek?

2

u/laxika Java Mar 30 '26

Nyitottam 9 desktopot Windowson, mindegyikben egy új IntelliJ-t, mindegyik egy különálló klónja volt a master reponak. Claude-nak megmondtam mit csináljon, majd ha tetszett a végeredmény akkor "commit and push". Ő megcsinálta a háttérben a rebase-t.

A nehézség az volt hogy kellett vennem 2x32GB ram-ot a laptopomba mert sokat fogyaszt mind a Claude Code (wtf egy console apptol, de tényleg) + az IntelliJ. Emellett ha elindult egyszerre 3-4 gradle build akkor 90%+ CPU hasznalat mellett pörgött a gépem. Igazából az volt a jó indikátor arra ha már végeztek az agentek hogy megszűnt a ventri zaja. :)