Mandag d. 17-03-2025
Tirsdag d. 18-03-2025
Onsdag d. 19-03-2025
Har været til procesvejledning, hvor jeg blandt andet har fået at vide at jeg skal kigge lidt mere på hvordan jeg skal arrangere min læringsplan, og derudover skal jeg sørge for I min litteraturliste og have nogle bedømmelser på de kilder som jeg har brugt, og hvordan jeg har fundet frem til disse kilder.
Derudover har jeg brugt dagen på at lede efter kilder til at lave AI I Unreal Engine med C++. Der var rigtig mange videoer der beskrev hvordan man gjorde det I deres blueprint system, men ikke så mange omkring hvordan man gør det i C++. Jeg fandt én serie som forklare det I C++, en C++ AI serie af MrCxx på YouTube. Det eneste problem jeg har med hans videoer er at de ting som han viser, sådan noget som Blackboards I Unreal Engine, beskriver han ikke så godt. Derfor bliver jeg nødt til at supplere ved at kigge på andre kilder om specifikke ting, blandt andet kigget på Unreal Engine’s dokumentation for at finde ud af hvad Blackboards er. Jeg bruger de næste 2 dage på at færdiggøre video serien, og forhåbentlig have det implementeret I Unreal Engine på Fredag.
Kilder:
Torsdag d. 20-03-2025
Jeg har I dag arbejdet med AI & Behaviour trees I Unreal Engine, og har lavet et delprodukt ud af dette. Delprodukt: Spiludvikling, Simpel AI I Unreal Engine
Kilder:
Fredag d. 21-03-2025
Jeg har I dag brugt noget tid på at finde ud af hvordan man finder spillerens lokation, og derudover har jeg skiftet væk fra at bruge Visual Studio til noget der hedder Rider udviklet af JetBrains. Grunden til det var at Rider har en langt bedre understøttelse af udvikling til Unreal Engine end Visual Studio har. Det vil sige at deres Intellisense er langt bedre end Visual Studio til udvikling I Unreal Engine. Så har også brugt en del tid på at lære denne nye IDE at kende.
Først og fremmest har jeg lavet en ny klasse som igen er nedarvet fra UBTTask_BlackboardBase, for at kunne få lov til at kalde den inde i mit behaviour tree.

Her bliver den samme virtual funktion brugt som er ExecuteTask, som er en allerede eksisterende funktion som jeg overskriver med min egen kode.

Dette er koden bag funktionen, de ting som er anderledes fra den funktion der blev lavet i går, er at her finder jeg spillerens lokation, og man kan finde instansen af sin spiller ved at bruge UGameplayStatics::GetPlayerCharacter(GetWorld(), 0)), som finder spilleren i den world context man er i, og da jeg kun har 1 spiller, så bruger jeg spiller index 0 for at finde den. Dernæst kan jeg finde spillerens lokation og gemme den i variablen PlayerLocation, og til sidst laver jeg et check for om den lokation eksistere inde i min NavSys, hvis den gør så sender den lokationen til den valgte BlackboardKey som i mit tilfælde igen er min TargetLocation.
Kilder:
