2D skydespil i Scratch skabt med hjælp fra ChatGPT

Du kan spille et 2D skydespil i Scratch ved at trykke på det grønne flag ovenfor til højre. Du kan også lave din egen udgave af 2D skydespillet i Scratch ved
at gå ind på Scratch projekt siden og oprette en kopi af Scratch projektet ved at trykke på:

På den måde får du adgang til et 2D skydespil Scratch projekt, som du kan rette i.

Gå ind i programmeringsblokkene for modstanderne, altså Enemy, og find de to blokke:

Find ud af hvor de to variable benyttes i blokkene og find på den måde ud af, hvad de to værdier 1 og 5 betyder for modstandernes adfærd.

Prøv at rette startværdierne 1 og 5 for de to variable og find ud af, hvornår det bliver lettere eller sværere at være spiller.

Gå ind i programmeringsblokkene for spilleren, altså Player, og find blokkene:

Hvad betyder konstanterne 6 og -6 ? Prøv at rette konstanterne og find ud af om det bliver lettere eller sværere at spille for både spiller og modstandere.

Gå ind i programmeringsblokkene for bolden, altså Bullet, og find blokken:

Hvad betyder konstanten 12 ? Prøv at rette konstanten og find ud af om det bliver lettere
eller sværere at spille for både spiller og modstandere.

Overvej hvilke konstanter og variable som kan ændres gradvist, så spillet bliver sværere
og sværere for spilleren.

Hjælp fra ChatGPT

Udviklingen af 2D skydespillet i Scratch startede med, at ChatGPT fik følgende instruks (Prompt):

Se hele svaret som pdf fil.

Svaret starter sådan her:

ChatGPT har altså skrevet en vejledning om, hvordan et 2D skydespil kan skabes som Scratch projekt. I vejledningen foreslås 3 figurer (kaldet Sprites i Scratch): en spiller (Player), kugler (Bullet) og fjender (Enemy).

For hver figur foreslår ChatGPT såkaldte Scripts, som beskriver f.eks. spillerens adfærd som vist til venstre nedenfor:

I 2D skydespillet vist øverst på siden, blev dette Script for spilleren brugt som udgangspunkt for en simplere spiller, der kun kan bevæge sig vandret til højre og venstre. Det kan ses i den måde Scriptet blev omsat til Scratch blokke - vist til højre ovenfor - for spilleren i 2D skydespillet.

I 2D skydespillet er Scratch blokkene for kuglerne (Bullet) og fjenderne (Enemy) programmeret på samme måde med simplifikationer ud fra de Scripts, som ChatGPT har foreslået.

I vejledningen foreslås en Game Over mekanisme med en grafik, som skal vises, når spilleren har misted 3 liv. I 2D skydespillet er en simpel udgave udformet i Player som blokkene:

Lav en grafik, som skal vises ved Game Over. Måske skal Enemy og Bullit også reagerer på GameOver beskeden.

I vejledningen foreslås at spilleren skal forhindres i at skyde "hele tiden". Mekanismen er beskrevet ved et Script sådan her:

Omsæt beskrivelsen til Scratch blokke i spilleren. Prøv forskellige værdier af konstanten 0.2 seconds og find ud af, hvordan spillet ændres for spilleren og modstanderne ?

ChatGPT skaber spillyde

ChatGPT foreslår også i beskrivelsen at kunne hjælpe med at skabe lyde og grafik til spillet, De to lyde i 2D skydespillet er skabt af ChatGPT ved at give en række instrukser med efterfølgende svar:


Hør lyden:

og lyt så til den lyd, som bruges i 2D skydespillet og som kom frem ved at skrive til ChatGPT: "make the sound more explosiv":

ChatGPT skabte også 2D skydespillets anden lyd, nemlig lyden af en fjende som bliver ramt. Lyden blev skabt ved at skrive til ChatGPT: "Create a .wav file with a game sound to be
played when a robot is hit and explode".

ChatGPT skaber spilgrafik

Grafiken for Bullet og Enemy er valgt fra Scratch eget bibliotek af figurer. Derimod er spillerens kanon skabt af ChatGPT. Første forsøg var at skrive til ChatGPT: "Make an image for a game of a cannon ball shooter pointing upwards" med resultetet til venstre:

En række forsøg med beskrivelser som "The cannon should point directly upwards and there should be no ball", "Turn the wheels 90 degree" og " Turn the wheels so that the cannon can drive sidewards" gav resultatet vist til højre.

En række forsøg med beskrivelser som skulle få ChatGPT til at vende hjulene, så kanonen kørte sidelæns, lykkedes ikke. I stedet lykkedes det at at få vendt hjulene ved at give ChatGPT et billede fundet på nettet (til venstre) og beskrivelser som "Make the wheeles oriented to go left right as in the uploaded image" og en række korrigerende beskrivelser som "Make it in line with the earlier brown/grey style cannons" og "Make the wheels of equal size matching the larger wheel and center the cannon barrel" lykkedes det at få ChatGPT til at skabe billedet (til højre), som er brugt i 2D skydespillet: