Göm menyn

TDDD92 AI-projekt


Laborationsserien

Mål: Labbserien

Det praktiska arbetet under HT1 inleds med en labbserie som normalt utförs i par. Labbarna är inte ett examinationsmoment i sig själva, utan en förberedelse inför det som faktiskt examineras. 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.

  • idéer och inspiration inför den individuella utredningen (examinationsmoment UPG2) och det gemensamma utvecklingsprojektet (examinationsmoment UPG1), samt en bättre förståelse för vad som faktiskt är möjligt och rimligt att genomföra inom kursen.

Anmälan: Labbserien

Ni anmäler er till den inledande labbserien i WebReg och ser själva till att bilda jämna par så långt detta är möjligt. Labbgrupperna kommer inte att påverka sammansättningen i de slutliga projektgrupperna, bortsett från att många som har arbetat ihop kanske själva vill fortsätta i samma projektgrupp.

När ni har anmält er i WebReg (och när kursen har startat) kommer Gitlab-projekt automatiskt att skapas på gitlab.liu.se och ni kommer att få epost med länk till projektet. Detta projekt är länkat till ett repo som ska användas för gruppens arbete under labbarna. Nya projekt/repon kommer senare att skapas för projektarbetet som sker i större grupper.

Scriptet som uppdaterar Gitlab körs med jämna mellanrum men det kan dröja något från anmälan till att projektet skapas.

Det git-repo som skapas är en fork från https://gitlab.liu.se/starcraft-ai-course/sc2-python-bot. Det innehåller redan en startpunkt i form av en passiv agent baserad på PyCommandCenter.

Genomförande: Labbserien

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.

  • Det är tillåtet att använda egen kod från tidigare kurser (TDDE25 i StarCraft II) och att både diskutera, samarbeta och låna kod över gruppgränserna. Som sagt, syftet är att skapa en bas för vidare arbete, inte att examinera det enskilda arbetet.

  • 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 du har arbetat med StarCraft II i t.ex. TDDE25: Du är antagligen mycket bättre på programmering nu. Välj noga om du vill ta med gammal kod eller inte. Fräscha upp minnet när det gäller API-anrop. Gå genom den nya extra laborationen med extra felsökning. Strukturera upp din kod.

    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.


Sidansvarig: Jonas Kvarnström
Senast uppdaterad: 2021-09-21