Last signal blogg 1

The last signal.

Så nu har ett par veckor för projektet passerat och vi har nu närmat oss den punkten där det fins något att spela. En av de saker som jag fokuserade på var att ge vår Alien fiende en typ av artificiell intelligens. Det som utvecklade för Alien var mer vad som skulle hända när vissa förutsättningar uppfylldes. Om man skulle jämföra detta med en annan typ av intelligens så skulle den vara väldigt primitiv där den nuvarande Alien inte bryr sig om den blir skadad. Jämfört med något mer avancerat som skulle ta hand om sig skälv eller fly när den tog för mycket skada. Anledningen att Alien fienden inte flyr är att fienden både skulle kännas primitiv samt aggressiv.

Alien har även en annan typ av beteende som gör att den delar sig till flera Aliens när den befinner sig tillräckligt nära spelaren.

Det nuvarande beteendet på Alien är att den väntar på en platts sedan när spelare befinner sig inom ett vist avstånd så rör sig Alienen emot spelaren och försöket ta sig nära nog att skjuta mod spelaren. Samt dela sig till flera Aliens. Om spelaren nu tar sig utanför Alienens skjut avstånd så följer den efter spelaren tills hen befinner sig utanför avståndet. Därefter så slutar Alienen att följa spelaren och sitter stilla på sin nuvarande position.

picture

Här ser vi Alien som en grön fyrkant i mitten. Den röda cirkeln är avståndet spelaren behöver befinna sig inom för att den ska skjuta och dela på sig. Den svarta cirkeln är avståndet spelaren behöver befinna sig inom för att Alien ska röra sig emot spelaren. Samt den blå femhörningen representerar spelaren.

För att se om vilket avstånd spelaren befinner sig på så använder jag Pytagoras sats. Genom att först kolla vilka x och y koordinater som Alien har samt koordinaterna som spelaren har kan vi sedan räkna ut avståndet mellan dessa två punkter.

dist-2-points-e

Genom att sedan ge Alien logiska beslut när ett visst avstånd mellan den och spelaren uppfylls så kan man ge den en typ av beteende.

Dessa logiska beslut gan förenklas ner till.

If player is whitin range

{

Move toward player

If player is whitin shooting range

{

Shoot towards player.

Multiply.

}

}

else

stand still.

Det här är det simpla men fungerande beteende på vår första Alien fiende. I början av projektet så var det planerat att ge den en simplare typ av pathfinding om spelaren befann sig bakom en vägg som den skulle gå runt för att ta sig närmare spelaren. Detta var däremot inte implementerat eftersom Detta var något jag inte tidigare var familjär med samt det var något sov vi inte tidigare har gott igenom på programmerings föreläsningarna. Detta är däremot något som kan bli implementerat i framtiden där Tommi vår lärare har planerat att ta upp detta på en föreläsning.

Men detta var allt för denna vecka.

About Axel Palmqvist-Gillman

2014  Programming