Aflevering
Du skal til dette forløb blot gennemføre tutorialen, og lave det spil som Brackeys gør. Det er naturligvis OK at give spillet dit eget præg, men pas på ikke at gå 'off script' så du laver noget du ikke til fulde forstår, eller som giver dig problemer du ikke er istand til at løse.
Jeg vil derfor anbefale at du istedet blot gør præcis som Brackeys i denne tutorial. Der er ikke point for ekstra originalitet i denne opgave!
For at alle bliver istand til at anvende Unity som værktøj er denne opgave individuel! Det kan dog være en fordel at finde en eller flere af dine medstuderende og blive enige om at I vil forsøge at følges ad. Men sørg for at det i sidste ende er dig selv der har fingrene på tastatur og mus - det er dig der skal lære det ;)
Projektet afleveres på eget studiewebsite. Projektet skal præsenteres og der skal reflekteres over det samlede forløb. I din dokumentation skal du være omhyggelig med at føre logbog over de ting undervejs der drillede, og beskrive hvad løsningen var (gør dette med det samme, og ikke når forløbet er færdigt!)
Selve spillet kan afleveres på følgende måder:
Som screencast hvor du spiller spillet og kort viser indholdet/funktionaliteten af dine koder. Knyt gerne kommentarer til undervejs. Video uploades til youtube (eventuelt som 'skjult') og indsættes på dit site.
Som .zip fil med alle projektets filer og mapper. Zip filen lægges på dit drev, deles, og gøres tilgængelig fra dit site.
Som webGL fil. Hvis du sender filen til mig har jeg mulighed for at hoste den, så du kan indsætte (embedde) spillet på dit site. På denne måde kan spillet spilles direkte i browseren når man kommer ind på dit site.
På Lectio uploades .txt fil med link til dit udgivede site. (Husk også at tjekke dit site i inkognito tilstand - kun på denne måde kan du sikre dig at alt virker på sitet - også når man ikke er logget ind!)
OMFANG
Der er i alt afsat 4 moduler i undervisningen, og 4 elevtimer hjemme til arbejdet med denne tutorial. Du skal ikke forvente at komme 100% i mål, hvis du ikke også bruger tiden hjemme!
BEDØMMELSESKRITERIER
Vi vil i dette forløb have fokus på at have tilegnet os nogle grundlæggende færdigheder i brugen af Unity, og scripting på begynderniveau. Derfor er der ikke point for kreativitet og udvikling af 'ekstra levels' eller funktioner. Jeg vil derfor først og fremmest kigge på:
At du er kommet igennem hele tutorialen, og fået udviklet et funktionelt spil.
At du får løst eller arbejdet udenom eventuelle problemer undervejs.
At du får beskrevet dit arbejde med øvelsen godt på dit studiewebsite undervejs (og ikke blot samler op til sidst!).
*MIT SPIL*
Dokumentation:
06-11-2023: installeret Unity samt. ekstra ting til det
video 1: hvordan man installere unity (havde ikke rigtig brug for den)
video 2: lærte hvordan man laver scripts samt C# kode og hvordan man tilføjer krafter til et objekt
{hver gang man ville lave en komponent ville det vises nede i bunden på flere foreskellige måder. fx. hvis der var en kugle ville det vise billedet af en kugle, men hvis det var et scribt så ville det ligne et papir. vi lært det basise at styre disse assets og hvordan kodning unity fungere (det er for det meste at tilføje og manipuler komponenter til assets)}
video 3: lærte hvordan man kunne få ting til at bevæge sig med spiller input. (variabler, if statements og input)
{i sidste video kunne man sige at vi lærte det basise af det, hvor i den her skal vi begynde at benytte det vi lærte i den, vi gør dette med at tilføje hoved delen af vores spil (forward force), hvilket er egenligt bare en kraft der skubber vores spiller fremad. så begyndte vi også at kode med C# til at kunne få inputs fra spilleren så vi kan gå fra side til side. vi brugte if statements til at styre key-binds. dette er godt pga. det minder lidt om python, så vi har lidt affering.}
video 4: lærte at forbinde objekter (forbinde kameraet til vores spiller)
{ikke så meget at sige. den mest vigtige detalje vi lærte er noget som er relativt let, hvilket er at "parent" assets under hindanen. dette er godt fordig det gør det meget lettere at få kode til at referere til separate ting}
video 5: lave forhindringer og hvordan det ville udføre bestemte segmenter af kode når objecter støde sammen
{vi begyndte at bruge at design forskellige assets (det var egenligt bare en grå regktangel). og lavet et script til forhindringerne. det er meget af det samme som vi gør langs af dette projekt, men det er god for træning og blive mere selvsikker til at pille med scripts og interaktion mellem foreskellige objekter.}
video 6: lærte at benytte sig af prefabs til at lave sit eget level
{ikke så meget at sige. tag forhindringen ned i assets så det bliver til en prefab. gå amok med level design, det var egenligt størstedellen af denne video. vi fik også vist nogle lettere metode til at rode rundt på "banen" eller "scenen" i unity}
video 7: lærte om unity UI (tekst og canvas) og hvordan man kan benytte sig af det til at lave sit spil.
{dette var første gang vi begynte at rode rundt med UI. det er relativt simpel, men det er nok også fordi at C# minder lidt om Python, så teorien bag koden er ikke super komplex. vi begyndte at bruge canvases hvilket vi også kommer til at rode med i fremtiden}
video 8: tabe system (resetter spillet når conditions er mødt, i dette tilfælde når spiller støder ind med blok + transition)
{her lærer vi bare lidt mere om kodning inde for unity, ikke meget mere nydt, men jeg lærte at man kan de-aktivere assets på foreskellige nivuer. fx. visuelt, kontakt mæssigt, eller helt deaktiveret}
video 9: lærte mere om "triggers", UI i mål om at kunne lave et "vinde system"
{begyndte at bruge meget mere UI (canvas og tekst), dette er godt siden at vi skal blive mere valg til det og sikker i vores ævner til at benytte det i fremtidig projekter}
video 10: benyttet UI og "button" til at lave en start og slut side
{lidt mere af det samme fra sidst + button funktionen, hvilket selv om vi ikke har brugt den så meget, kan jeg forestille mig potentiallet bag den. button er lige som det lyder, når trykket på (formedeligt at mussen, men kan ændres ud fra din kode) blive x kode udført. så lærte vi også lidt mere om C# og dens ævner til at styre det overordnet system så som at afslutte programmet.}
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Problemer og løsning
error besked: Den mest basise del af at fixe dit problem er at kunne forstå error beskederne du for. det er ikke altid jeg ved hvad det specifikke problem er, men jeg har lært at aflæse hvilket script fejlkodningen er i og hvilken linje der indenholder fejlen.
";" og "()": den mest normalle grund til at jeg fik et error var fordi jeg havde glemt endten at placere et ";" i slutningen eller "()". det var et problem i starten, speciel når jeg ikke lage mærke til at det manglet at være der, men som jeg endte med at kode mere, lærte jeg hvornår de skulle være der.
fejl logic: denne fejl støtte jeg måske kun på 1 eller 2 gange, men det svare til at du fortæller koden noget som den ikke kan finde ud af pga. det ikke ville give mening. fx. jeg kom til at duplicere min player og nu da der var 2 af dem kunne kameraet ikke finde ud af hvilket en af spillerne den skulle følge efter nu da der var 2 af dem. dette resulterede i at kameraet stod stille og jeg fik en error besked.
"trigger": der var en dag hvor jeg brugte 40min på det samme problem, det var at koden skulle aktiveres når spilleren støtte ind i en bestemt block. grunden til det var at jeg havde glemt at enable kontact som trigger. (jeg skulle bogstaveligt talt bare trykke på en enkel boks)
Scene save: hver eneste bane skal blive gemt ofte og seperat ellers risikere du at miste det du har lavet. ikke rigtig nogen løsning andet end at huske at gemme ordenligt.
Dårlig framerate: min laptop er bare dårlig, eneste løsning er at få opgraderet eller en ny.
Note: skal have hjælp med at upload filler da jeg ikke er sikker på hvordan man gør det fra unity
der står "nogle elementer kunne ikke intergreres". jeg har afleveret zip fillen over lectio i stedet.
Video link (min computer kan ikke håndtere det så godt, derfor blev det først færdig 22:17