👊🔪
seen from United States

seen from Malaysia
seen from Australia
seen from United States

seen from Kazakhstan

seen from Germany
seen from China
seen from Belgium
seen from United States
seen from Australia
seen from Belgium

seen from United States
seen from United States
seen from Russia

seen from United States
seen from Germany
seen from Croatia

seen from T1
seen from United States
seen from United States
👊🔪
‘Rise and shine mr. Freeman’ (Uge 19-25)
På grund af en masse helligdage og events har jeg ikke haft mulighed for at præsentere mit arbejde i et stykke tid. Jeg vil gå igennem hvad jeg har lavet i nogenlunde kronologisk rækkefølge.
Jeg har opdelt denne samling af mit arbejde op i flere posts. Hvis du vil se alle disse posts sammen kan du søge efter “uge 19-25″ oppe i venstre hjørne af blog-siden (kræver at du er logget ind!).
Læring om C#
Fra python til C#
Til ‘individuelt projekt’ satte jeg mig i gang med at lave nogle unity tutorials efter at have færdiggjort mit python spil, da jeg følte at jeg var klar til at lære hvordan man programmerer spil med grafik i engines ligesom unity. Den største udfordring bliver at mestre C# så jeg kan lave mine egne scripts fra bunden i stedet for at bruge kombinationer af simple værktøjer fra f.eks. unity playground, lidt ligesom man gør f.eks. i crey.
Sololearn C#
Ligesom da jeg skulle lære python bruger jeg en del forskellige steder til at lære C#. Mit ‘main’ sted er nok Sololearn, hvor jeg lærer om programmerings-principper, syntax osv., mens jeg bruger et Lynda course til at finde ud af bruge Unity ordentligt sammen med min kode.
^ sololearn progress/status
Eksperimenter med C#
Man begynder efterhånden, efter flere timer med små opgaver og tutorials/courses, at kede sig lidt - og min løsning på dette var bare at prøve at sætte et lille spil sammen med C# i samme stil som nogle af dem jeg har lavet førhen med python.
Ligesom mit tidligere ASCII spil, fandt jeg en tegning på nettet og begyndte at lave en smule dialog til hvorfor det skulle vises. Mit spil er bare et enkelt spørgsmål som man kan svare ja/nej til (”kunne du tænker dig pizza?”), men det ‘flotte’ ligger i detaljerne:
Spillet kan genstarte (og lukker ikke af sig selv)
Du kan svare hvad som helst, men den registrerer kun et ja hvis din besvarelse indeholder et ‘y’ (stort eller småt)
Teksten skrives gradvist på en mere menneskelig måde - i stedet for a printe en hel sætning af gangen så tager den hver bogstav af gangen
Der er sat små delays mellem hver sætning så det ikke går for hurtigt til at blive læst
Du kan spille mit spil ved først at have ‘.NET Core SDK‘ installeret og så følge disse steps:
Download mappen “Spilfiler” fra mit google drive
Pak indholdet ud af den downloadede .zip fil
Kopier stien til mappen
Åbn kommandoprompten
Indtast “cd [din kopierede sti]” og “dotnet run”
Her er en video til hvis du er i tvivl:
Undervejs i at lave spillet og at prøve at få det til at køre på min egen/andres maskiner har jeg også lært en del om hvordan C# programmer gemmes og kører. Mens at programmer i Python kan køres direkte med deres egen lille terminal så skal du med C# gemme dit program og program/projekt fil, have en compiler til at køre programmet og bruge andre værktøjer. Det er lidt mindre ligetil, men det afspejler bare hvor komplekst og advanceret C# er over f.eks. Python, ligeledes hvad Python gør godt.
Crey
Gruppe spørger om hjælp
Jeg har hjulpet en anden gruppe med deres mechanics i crey, da jeg ikke syntes jeg kunne hjælpe meget i min egen gruppe på et tidspunkt, og dem i den anden gruppe manglede nogen der kunne lave mechanics. Fra mit perspektiv virkede det ikke rigtigt til at de vidste hvad de ville have jeg skulle lave, men at jeg bare skulle “fikse det” eller “sætte en knap” uden nogen videre detaljer, så jeg gjorde mit bedste og spurgte ind til det en del gange undervejs. Jeg fik hjulpet med at lave en mekanisme der pauser et løbebånd (’conveyer belt’) når den drejer, to knapper der styrer om løbebåndet kører / skifter, og en knap/dør til en lastbil som skulle køre mod slutmålet.
Game jam U23 - Klima
I uge 23 skulle vi lave et spil på en uge i Unity, hvilket jeg ikke havde prøvet før. Temaet var ‘klima’ og vi begyndte direkte at gå ud i nogle lidt vanvittige ideer om det grønne parti, uffe elbæk, pia kjærsgaard osv. Her er et preview af hvordan spillet vi lavede endte med at se ud:
Fra teori til praksis
Vi fik at vide et par uger før at vi skulle lave næste game jam i Unity (spil-engine), efter at vi havde haft nogle classes på det.
Derfor prøvede jeg rigtig meget at klargøre mig til det og lære hvordan man brugte C# til Unity så vi kunne lave et fancy og unikt spil, og jeg nåede at få en lille forståelse for hvordan C# scripts skulle laves og så ud, men ikke nok til at vide præcis hvordan jeg ville lave dem til spil (især ift. at bruge Unity) Desværre gik det derfor også op for mig under game jam’en at:
Vores gruppe vil helst bare lave noget simpelt og mindre kreativt (forståeligt ift. programmerings-pespektiv, men det var ikke helt hvad de mente)
Vi har ikke nok resourcer med erfaring i C#/unity til at lave custom scripts
Jeg aner ikke hvad jeg laver, men min gruppe regner med mig
Indvikling
Naturligt så begyndte vi så at vikle os ind i scripts som vi havde brugt lidt før fra Unity playground (der bruges til at lære at kende Unitys interface osv.), hvilket betød at vi ikke rigtig vidste hvordan vores spil fungerede ift. programmering (el. ’mechanics’), så at løse bugs i Unity ville blive lidt mere udfordrende end ellers. Desuden satte det også enorme grænser for hvad vi kunne lave eller nå at lave, da der manglede en del simple features i de scripts vi havde, eksempelvis en en-gangs timer mechanic... der var kun en slags ‘timer’ der gentog sig selv hele tiden, så vi blev nødt til at skabe et manuel delay med physics uden for kameraet.
Generelt syntes jeg selv at jeg var meget produktiv i hvad jeg lavede, men samtidig følte jeg også at jeg slet ikke gjorde nok for at få andre med i hvad jeg lavede eller hvad de kunne hjælpe med. Jeg fik ikke opdateret mine opgaver på Trello (vores fælles arbejdsområde til fordeling og samarbejde) helt grundigt nok, især i starten, og jeg fortalte heller ikke nok til mine gruppemedlemmer hvordan de skulle bruge boardet - derfor var nogen der endte med slet ikke at bruge det. Undervejs fik jeg rettet op på der værste af dette, men i stedet for at være rolig og grundig så gik det stærkt - så jeg skrev en enormt masse til opgaverne på Trello, satte orden i det osv., men fik ikke sagt nok gange at mine gruppemedlemmer kunne skrive mere til deres individuelle opgaver så vores projekt var mere grundigt/gennemført og alle kunne hurtigt finde ud af hvad hinanden lavede.
Det var nok værst om onsdagen hvor nogle af os bare arbejdede på at få de simple spil-mekanikker til at virke, mens andre bare sad og var i tvivl om hvad de kunne hjælpe med. I slutningen var der hvor vi arbejdede bedst. Vi fordelte vores praktiske arbejde sammen, både på boardet og i snak. Vi gjorde indsats for at færdiggøre vores projekt nogenlunde ordentligt, og vi var produktive.
Stress
Desværre gik tiden også hurtigt, og i vores hast på implementere en ekstra modstander i vores spil fik vi ikke tid om fredagen til at teste vores spil for yderligere fejl vedrørende netop det, hvilket resulterede i at den version af spillet vi fremlagde havde en simpel fejl hvor du ikke kunne komme videre fra første modstander til den næste, som var enormt ærgerligt.
Trods alt dette syntes jeg dog stadig at vi arbejdede bedre end i den sidste game jam - ikke hvad vi nåede at lave, men mest ift. hvor godt vi kommunikerede og viste hvad jeg lavede + hvordan jeg prøvede at fordele arbejde.
Resultater
Efter nogle rimelig simple bug-fixes så virker spillet som det skal, også selvom det bare er en prototype (og føles derfor også lidt ufærdigt). Hvis du kunne tænke dig at prøve spillet skal du bare downloade “Klimakriger Uffe - Final build (2.0)”-mappen herfra og køre programmet (se nedenunder).
^ husk at pakke det ud af en zip-fil først.
Controls:
Klik på ‘start’ med mus for at starte
WASD for at bevæge din karakter
Mellemrum for at skyde træer
Besejr fjende og saml stjerne op for at gå videre
Hvis du er interesseret i at lege rundt i selve unity projektet, så kan du downloade det fra samme sted (”Unity project - 2.0 (07-06-2019)“).
endelig færdig? (Uge 17)
...næsten da. Denne uge har jeg mest arbejdet med python, så det er hvad jeg vil snakke om.
Mechanics og programmering (Uge 14&15)
Uge 14 var dedikeret til en game jam i crey, og i uge 15 har jeg lavet videre på mit lille spil + lidt i et andet crey projekt.
Py, HL2, Ps og crey (Uge 12&13)
Da vi havde fri fredag i uge 12 så har jeg kombineret begge uger til et slide så det hele kan præsenteres på en gang.
^ jeg ændrede lidt i layout og farver siden sidst.