Vibe coding - del 2

Emner på denne side: Computer, Programmering, Spil

Jeg er nu et par uger inde i mit vibe-coding-projekt, og lad det være sagt med det samme. Det går strygende.

Der er kommet så meget kompleksitet i projektet, og kæden er ikke sprunget en eneste gang. Jeg er lysår fra, hvor jeg startede.

Handlingspanel og kampdeltagere
Jeg vidste at automatiske fjender stod lige for døren, så jeg indførte et handlingspanel der kunne vise hvad alle gjorde, da det ville være nyttigt til at se om fjenderne opfører sig rigtigt. Jeg indførte også en liste med kampdeltagere i højre side af skærmen.
Automatiske fjender
For rent faktisk at kunne spille, var det vigtigt, at man kunne spille imod computeren. Jeg indførte derfor et regelsæt for fjender, som hurtigt blev implementeret.
Store fjender og terræn
Jeg indførte store fjender som fylder et helt felt, og forskellige slags terræn. F.eks. skov som beskytter imod pile og klipper som de store fjender ikke kan passere. Det ændrede på mange dele af spillet, men AI'en navigerede det sikkert pr. min instruks.
Magi
For at gøre spiloplevelsen mere kompleks, indførte jeg magiske terninger som dukker tilfældigt op og kan bruges af alle.
Første grafiske elementer
Jeg var begyndt at blive lidt træt af det generiske prototype-udseende og tænkte at nu var det på tide at starte med at sætte ægte grafik på. Grafikken er naturligvis også AI-genereret.
Grafiske bokse
AI'en kunne lære mig om nine-patches og hvordan man bruger disse til at lave grafiske bokse.

Alting er designet af mig, forstået på den måde, at det er præcis, som jeg ønsker og instruerer – det er ikke blot løse ideer fortolket af AI’en, men min vision hele vejen igennem.

Fremgangsmåden har været den samme, som jeg startede med – små ændringer i mine markdown-filer, AI’en laver sine ændringer, og jeg tester, hvordan det går.

Dog er markdown-filerne trukket imod et fælles ansvar, så jeg kan godt give nogle instrukser i chatten og herfra bede AI’en opdatere markdown-filerne.

Status lige nu
Når jeg kigger på mit første skærmbillede og så dette, så er det helt ubegribeligt.

Så nærmer vi os det store spørgsmål. Er udviklere overflødige?

Mit svar er nej, men når det så er sagt, så tror jeg, at udvikling har ændret sig for evigt. Jeg vil aldrig som enkeltstående udvikler kunne måle mig imod en udvikler, der samarbejder med en AI. Men når det så er sagt, så er det også med streg under udvikler.

At arbejde med AI’en er som at samarbejde med en udvikler, som er overnaturligt hurtig og har en helt enorm viden om alle emner. Til gengæld med en voldsom mangel på overblik og et udpræget tunnelsyn. Og det er her, den menneskelige udvikler kommer ind i billedet.

Selv om man kunne få opfattelsen af, at AI’en har et overblik over det samlede projekt, så er det absolut ikke tilfældet – den kigger kun på en lille del, og selv om den kan støtte sig op ad dokumentationen, så er det ikke hele løsningen.

På et tidspunkt havde den ophobet en kodefil på flere tusind linjers kode, og her måtte vi i samtale få splittet denne ud i mindre klasser.

Hen imod mållinjen bad jeg den også vurdere projektet imod Godots best practices, og her scorede vi absolut lavt på en del områder. Noget AI’en slet ikke havde med i sine overvejelser, før jeg påpegede det, men også noget, vi i samarbejde kunne arbejde os ud af uden de store sværdslag.

Det er også vigtigt at gøre opmærksom på, hvilke koncepter som hænger sammen, for ellers kan man også ende med kode, som gør præcis det samme flere steder, da den blot tager udgangspunkt i de beskrivelser, den lige kigger på, og måske overser nogle andre.

Så jeg føler mig absolut ikke truet på mit levebrød, men jeg kan også se, at måden, hvorpå jeg skal arbejde fremover, bliver ganske anderledes, hvis jeg skal forblive konkurrencedygtig.

Men jeg tror ikke, at lægfolk bevæbnet med AI’er kommer ind og erstatter udviklere. Endnu…