I den første uge af august stemplede den kinesiske regering onlinespil som elektroniske stoffer. I betragtning af at nogle unge kinesiske spillere er kendt for at bruge mere end otte timer i træk på at spille - og forsømme studier og familie og give afkald på ethvert forsøg på et socialt liv - er det svært at sige, at regeringsembedsmændene tager helt fejl.

På mange måder er spilafhængighed et spejlbillede af narkotikamisbrug, og virkningerne kan være lige så ødelæggende.

Så hvad betyder det for dine Genshin Impact-eventyr? Sandsynligvis ingenting,

På den anden side vil udviklingen måske blive bremset i overensstemmelse med Kinas politik for skadereduktion - nye våben og kampe vil måske blive færre og mere sjældne, men måske kun for gamere i Kina.

Genshin Impact er skrevet i C++, et sprog til programmering af robotter og til drift af en lang række andre systemer. Vi må dog spørge os selv ... hvor svært ville det være at skrive et spils kode udelukkende i Python?

Det viser sig slet ikke at være svært. Læs videre og lær at kode spil i python. Hvis det er noget, du finder interessant, kan du finde et privat programmeringskursus, uanset hvilket sprog og til hvilket formål, du ønsker at lære.

De bedste undervisere i programmering
Asger
4,8
4,8 (5 anmeldelser)
Asger
250kr
/t
Gift icon
1. undervisning gratis!
Alex
5
5 (1 anmeldelser)
Alex
350kr
/t
Gift icon
1. undervisning gratis!
Lasse
5
5 (2 anmeldelser)
Lasse
200kr
/t
Gift icon
1. undervisning gratis!
Daniel
5
5 (1 anmeldelser)
Daniel
210kr
/t
Gift icon
1. undervisning gratis!
Christian
5
5 (1 anmeldelser)
Christian
200kr
/t
Gift icon
1. undervisning gratis!
Kristian
Kristian
180kr
/t
Gift icon
1. undervisning gratis!
Joachim
4
4 (1 anmeldelser)
Joachim
150kr
/t
Gift icon
1. undervisning gratis!
Charlie
Charlie
200kr
/t
Gift icon
1. undervisning gratis!
Asger
4,8
4,8 (5 anmeldelser)
Asger
250kr
/t
Gift icon
1. undervisning gratis!
Alex
5
5 (1 anmeldelser)
Alex
350kr
/t
Gift icon
1. undervisning gratis!
Lasse
5
5 (2 anmeldelser)
Lasse
200kr
/t
Gift icon
1. undervisning gratis!
Daniel
5
5 (1 anmeldelser)
Daniel
210kr
/t
Gift icon
1. undervisning gratis!
Christian
5
5 (1 anmeldelser)
Christian
200kr
/t
Gift icon
1. undervisning gratis!
Kristian
Kristian
180kr
/t
Gift icon
1. undervisning gratis!
Joachim
4
4 (1 anmeldelser)
Joachim
150kr
/t
Gift icon
1. undervisning gratis!
Charlie
Charlie
200kr
/t
Gift icon
1. undervisning gratis!
Kom i gang

Hvad er et computerspil?

Du tænker måske "hvad er det for et spørgsmål?". Hvem ved ikke, hvad et computerspil er? Vi ved jo alle sammen, at der er fantastisk grafik, spændende historier og spændende figurer osv. Men hvad er et computerspil egentlig?

Spil, der spilles på mobile enheder og spil, der drives af spillekonsoller, skal have grafiske brugergrænseflader.

lær at kode
Spillekonsoller fungerer som GUI'er, der giver spillerne mulighed for at interagere med softwaren. (Kilde: Unsplash)

Disse grænseflader, der sjovt nok kaldes GUI'er (udtales "gooeys"), er den måde, hvorpå brugerne interagerer med deres enheder på. På din smartphone kan det, hvis du glider din finger hen over skærmen, resultere i, at der dukker en ny menu op, eller hvis du har et skrive- eller tegneprogram åbent, vil du se en linje, der følger din fingers vej.

Nogle telefoner kræver, at du tegner et mønster på skærmen, for at den kan låses op.

Alle disse eksempler og flere andre - som f.eks. at røre ved et ikon for at åbne en app - er dig, der interagerer med din telefon. At spille et spil på din telefon eller via en spillekonsol er ikke anderledes: Du får handlinger til at finde sted på skærmen gennem de bevægelser, du foretager fysisk.

Nu hvor vi forstår, at computerspil i bund og grund er GUI'er, skal vi se på nogle af de bedste programmeringssprog til at skrive dem i.

Tidligere nævnte vi, at Genshin Impact er skrevet i C++. For mange programmører og spilkodeforfattere er dette sprog det foretrukne sprog, fordi det er hurtigt og gengiver kompleks og smuk grafik. Ulempen ved det er dog sprogets kompleksitet, og at det kan være ufleksibelt.

Tænk også på, at det tager op til 100 personer eller mere at skrive et spils kode. Det betyder, at hver koder skal kende programmeringssproget nogenlunde lige så godt som den næste. I betragtning af hvor tung C++'s syntaks er, er det ikke nogen let opgave.

C++ taber i forhold til kodning på tværs af platforme. Selv om der findes biblioteker til at hjælpe med at tilpasse spillets kode til forskellige styresystemer, gør sprogets kompleksitet det vanskeligt at bruge. Man skal virkelig kende C++ ud og ind og vide, hvordan man tilpasser det til specifikke platforme for at skrive koden til sit spil i dette sprog.

JavaScript gør det interessant at spille. Selv om du ikke er gamer, kender du helt sikkert det mest kendte spil, der er skrevet helt i JavaScript: Minecraft.

Java er et fantastisk sprog på tværs af platforme. 97 % af alle websteder styrer deres siders adfærd med Java. Det har dog en tendens til at være meget langsomt - hvis du kender noget til Minecraft, vil du være enig i, at det ikke er et meget dynamisk spil. Desuden er Java ikke særlig velegnet til low-end-computere, medmindre du også kører et optimeringsmodul som Optifine. Spiller dit barn Minecraft? Har de lyst til at lære mere om det bagvedliggende? Udnyt muligheden og interessen til at lære kodning tidligt og find et programmering for børn kursus - en kompetence, der vil hjælpe dem hele livet.

Programmører er alle enige om at VB.net/C# er guldstandarden til at skrive spilkode med, men det har en stor akilleshæl: det virker ikke på alle platforme. Vi kommer ind på hvad det betyder i næste afsnit.

Python, på den anden side, gør op med kompleks syntaks og udrydder spørgsmålet om cross-platform.

For det første er Python i modsætning til C++ et fortolkningssprog. Der er ikke behov for oversættelse fra kildekode til maskinkode. Indrømmet, man mister en smule ydeevne - et aspekt af Python, der gør det til det ideelle sprog til maskinlæring.

For det andet er Python letlæseligt og ophæver behovet for omfattende kodning. Takket være den modulære struktur er der også mindre risiko for fejl, da kodning bliver et simpelt spørgsmål om at hente det ønskede modul fra Pythons omfattende bibliotek og sætte det ind, hvor der er brug for det.

Efterfulgt af alle disse fordele kommer nu ulempen: Hvis du laver et actionspil, der kræver et højt antal billeder pr. sekund (FPS) og en masse processorkraft, er Python måske ikke det eneste sprog, du har brug for.

lær at kode
Spiludviklere skal planlægge, at deres spil kan spilles på Windows-baserede systemer, iOS-tabletter og Android-telefoner. (Kilde: Unsplash)

Spørgsmålet om platformskrydsning

Har du en iPhone, eller er din drevet af Android? Kan du lide at spille på en pc, eller er Mac mere din stil? Eller måske er du dybt bekymret for privatlivets sikkerhed, så du derfor har valgt et Linux-operativsystem.

Disse styresystemer og andre er kendt som platforme. De giver programmører en stor hovedpine.

Der er en Google Play-butik til Android-apps, Apple-butikken til at downloade iOS-apps, og Microsoft har deres app-butik til at downloade apps til deres pc'er. Besøg en af disse "butikker", og du vil finde de samme apps: Facebook, Snapchat og mange af de samme spil. Det er fordi de er de samme, men med undtagelse af deres kode. Forstå dette bedre og lær, hvordan du eller din virksomhed, kan forbedre sig inde for dette med kurser nær dig, find for eksempel et programmering kursus København og forstærk dine kompetencer.

Spiludviklere og kodere i almindelighed skal altid være opmærksomme på, hvilken eller hvilke platforme de ønsker, at deres applikationer skal køre på. Hvis du udelukkende designer til Apple, kan du regne med at miste Android- og Windows-markedet, og hvis du kun designer til Windows ... da de har den laveste markedsandel for smartphones, vil du miste stort set hele markedet for mobile enheder.

Ældre programmeringssprog kan ikke tilpasses på tværs af platforme; du skal kode separat for hver platform, du ønsker, at dit spil skal køre på. Nyere, mere tilpasningsdygtige sprog, bl.a. Python, fungerer godt på tværs af mange forskellige platforme, hvilket gør det til et af de mere populære sprog at skrive i.

Indrømmet, Python er ikke et nyt sprog; det har eksisteret i over 30 år, men det er for nylig kommet til sin ret, bl.a. takket være dets alsidighed. Faktisk er Python nu udråbt som et af de bedste sprog til webudvikling, sammen med Vue.js og Angular.

Sådan skriver du computerspil i Python

Husk på, at selvom Python er let at arbejde med og har mange anvendelsesmuligheder, er ydeevne ikke en af dets bedste egenskaber, så hvis dit spil er meget grafisk og actionpræget, vil du sandsynligvis løbe ind i problemer, hvis du kun koder i Python.

Hvis du derimod skriver kode til et 2D-spil med lavt grafikniveau som Noughts and Crosses eller Snake and Apple, vil Python være mere end rigeligt.

Pygame er et bibliotek af Python-moduler, der er skrevet og kompileret specifikt til at skabe computerspil. Det indeholder lydbiblioteker og computergrafik, som alle er klar til at blive lagt ind i ethvert Python-spilprogram. Hvordan fungerer det?

  • bliv fortrolig med Tkinter, Pythons standard GUI
    • lær at tegne geometriske former med dens canvas-widget
    • brug bind-widget'en til at identificere, hvilken handling museklik skal medføre
  • skitser dit spil ved at tegne et spilflowdiagram
  • kod dit spils initialiseringsfunktioner
  • kod dit spils tegnefunktioner
  • kod dit spils logiske funktioner

De logiske funktioner kører faktisk spillet. De holder styr på brugerinput, den tilstand/det stadie, spillet befinder sig i, og de fremskynder spillets fremskridt. De holder styr på scoringer, afgør, om spillet er slut, og afgiver dommen - om det er vundet eller tabt.

Læs mere om python og datalogi.

De irriterende "ulovlige træk"-meddelelser stammer også fra spillets logiske funktioner.

Dette er naturligvis kun en kort oversigt over, hvordan man koder et spil ved hjælp af Pygames. Naturligvis vil du gerne forskønne lidt ved at bruge forskellige farver, og du kan endda tilføje effekter, som alle kan findes i Pythons kodebibliotek.

At lave nemme spil er blot én måde at bruge Python på; opdag nogle af de andre...

lær at kode
Ethvert hurtigt actionspil kunne ikke skrives i Python. (Kilde: Unsplash)

Ulemper ved at skrive spil i Python

Den største ulempe ved at skrive spilkode i Python er nok den lave ydeevne. Sammenligner man nogle af de mest populære spil. som f.eks. det førnævnte Genshin Impact med sin frodige grafik og hurtige action, kan Python simpelthen ikke måle sig med dem - hverken i hastighed eller i det visuelle.

Hvor alsidig Python end er, er det ikke egnet til det mobile miljø. Kun få mobile enheder bruger Python, fordi dets styrker ligger i udvikling på serversiden snarere end i at køre strømdrevne applikationer. Da smartphones og tablets almindeligvis bruges til spil, betyder det, at Python-spil på grund af deres natur og struktur ikke vil få fodfæste på grund af deres karakter og struktur.

Endelig kan det være en smule kedeligt at udvikle et spil i Python. Til trods for at dets biblioteker er omfattende, velmærkede og nemme at bruge, er processen med at skabe spil i Python stadig ret indviklet. De fleste udviklere hævder, at indsatsen ikke er det forsimplede udbytte værd.

Alligevel skiller nogle få Python-baserede spil sig ud, bl.a. Frets of Fire og Save the Date. Bemærk, at Save the Date var Indicades 2013-finalistbidrag. Indicade er som Sundance Film Festival, bare for computerspil.

Så lær at kode spil i python og spil dit eget spil snart!

Læs mere om python og robotteknologi.

>

Platformen der forbinder undervisere og elever

Første undervisning gratis

Kunne du lide denne artikel? Skriv en anmeldelse!

5,00 (1 anmeldelse(r))
Loading...

Adil

Adil bor i København, hvor hun arbejder som freelanceoversætter og underviser i dansk. Udover dansk taler Adil også engelsk, russisk og tysk. Når Adil ikke arbejder elsker hun at rejse, løbe og dyrke yoga.