TDDD92 AI-projekt
Labbar
Labbar
Det praktiska arbetet under HT1 inleds med en labbserie som normalt utförs i par. Ni hittar instruktionerna på kursens Wiki.
Labbarna är inte ett examinationsmoment i sig själva, utan en förberedelse inför det som faktiskt examineras. Se det gärna som en parallell till övningarna i Pythonkurserna, som inte heller examineras men ger en bra förberedelse för inlämningsuppgifterna. Målet är att samtliga kursdeltagare ska ges en möjlighet att:
-
Undersöka hur StarCraft II fungerar i praktiken.
-
Lära sig arbeta med programmeringsgränssnittet till StarCraft, vilket kommer att behövas i de senare stegen.
-
Få idéer och inspiration inför den individuella utredningen och det gemensamma utvecklingsprojektet, samt en bättre förståelse för vad som faktiskt är möjligt och rimligt att genomföra inom kursen.
Bra att veta: Eftersom labbarna inte är examinerande finns en hel del frihet i hur man genomför arbetet. Samtidigt är det studentens ansvar att man förstår det som lärs ut i labbarna inför kommande uppgifter! Följande gäller:
-
För labbserien arbetar vi normalt i par – men om någon "blir över" kan vi ha någon grupp om 3 personer. Det ger en möjlighet att starta snabbt utan att man behöver bestämma redan från början hur man vill bilda de stora projektgrupperna. Man får också möjlighet till diskussion inom smågrupperna utan att någon helt faller utanför.
-
Men tänk samtidigt på att ni kommer att behöva erfarenheten av det egna arbetet. Alltför mycket samarbete i den första fasen kan leda till att ni inte förstår hur den egna basagenten fungerar eller hur den pratar med StarCrafts API, vilket ger problem under det senare arbetet. Fokusera på att förstå hur spelet och APIerna fungerar.
Om du inte har arbetat med StarCraft II tidigare: Samarbeta med din labbpartner och fokusera särskilt på att förstå API:et och Starcraft II som spel.
Om bara en i ett par har arbetat med StarCraft II: Tänk på att alla behöver förstå vad som händer. Fall inte i fällan att klippa och klistra gammal kod utan att veta vad som händer.
Ett par veckor innan slutet av HT1 börjar det bli dags att gå över till att skapa en grundläggande gemensam agent. Här är några viktiga punkter:
Den gemensamma agenten bör vara klar innan HT2 börjar.
Den ska vara en enkel grundagent där man senare (under HT2) integrerar AI-tekniker.
Den kan baseras på era implementationer från labbarna eller på en nyligen implementerad "basagent" som kan ge ytterligare inspiration och hjälp, men som å andra sidan kräver att man sätter sig in i den nya koden.
Obs! Varje grupp får ett eget Git-repo som är en kopia (fork) av den nya basagenten. Gruppen väljer om ni vill använda den eller om ni föredrar att jobba vidare på er tidigare kod – läs genom repots README och titta lite på koden för att bestämma er. Oavsett vilket ni väljer att göra ska ni ändå arbeta i det Git-repo som vi har skapat åt er!
Ju längre ni har kommit med detta när HT2 börjar, desto större chanser att ni kan implementera AI-teknikerna på ett bra sätt. Grupper som inte är klara med basen förrän ett par veckor in i HT2 får ofta problem att hinna implementera, testa och utvärdera ordentligt.
Sidansvarig: Jonas Kvarnström
Senast uppdaterad: 2025-09-21