Emil SundmanEnglish

LinkedSnek

Ett tidigt Unity/C#-projekt med länkade datastrukturer, hex-grid, breadth-first-search-pathfinding och ett fungerande AI/autopilot-läge.

Projektkontext

LinkedSnek var en individuell Unity/C#-kursuppgift med fokus på datastrukturer och algoritmer. Jag byggde senare vidare på projektet med ett självständigt AI/pathfinding-experiment på samma game board.

Projektet använder Unity 2020.3.16f1 och representerar spelet på ett hex-grid i stället för ett traditionellt fyrkantigt Snake-board.

Vad jag implementerade

Jag skrev GridScript, Snek och SeekerScript. Grid:en använder cube coordinates (q, r och s, där q + r + s = 0) och stödjer movement i hex-grid:ens sex riktningar tillsammans med boundary handling.

Snake-kroppen representeras som rekursivt länkade Snek-komponenter. Movement propageras genom de länkade segmenten och growth skapar och länkar ytterligare segment.

BFS-pathfinding och AI/autopilot

Jag implementerade breadth-first search med early exit från snake-positionen till food-målet. Sökningen lagrar besökta noder i en cameFrom-map och gör path reconstruction när målet har nåtts.

Under utvecklingen hade LinkedSnek ett färdigt, fungerande AI/autopilot-läge som använde denna BFS-pathfinding för att navigera snake mot food. I den bevarade repository-snapshoten är den slutliga SnekAutoPilot-integrationen kommenterad, medan BFS- och path-reconstruction-implementationen finns kvar i SeekerScript. Autopiloten ska därför beskrivas som ett färdigt läge som fungerade under utvecklingen, inte som ett permanent aktiverat eller default gameplay mode.

Source

Den historiska implementationen finns i det publika GitHub-repot.