"AI"

Diskussioner om programmering

Moderatorer: Fanta_gbg, e5frog, stonan, Zlasher, hollowman

"AI"

Inläggav Redreamer » 25 oktober 2015, 10:54

Startar en egen tråd i ämnet. Tanken är att jag ska implementera en datorstyrd motståndare i mitt spel. Det kan man ju göra ungefär hur lätt eller svårt som man vill. Min grundläggande tanke är att det ska fungera så här.

Upplägg.
Spelet är en labyrint där två gubbar traskar runt och skjuter på varandra. (Simple enough?)

Tillvägagångssätt för förflyttning.
Datorn tar ut avståndet i x samt y led från spelaren. Ju närmare x eller y är ju större sannolikhet är det för att just det hållet blir det hållet gubben rör sig åt.
Man skulle kunna lägga in en parameter om att gubben gör samma sak fast tvärt om i något slags defensivt läge. Skulle tro att man behöver ett defensivt läge för annars så kommer datorn till slut stå "på" spelarens gubbe.
Antar att det är vettigt att ha någon typ av hysteres i detta för jag antar att man lätt fastnar mitt i skarven mellan defensivt och aggressivt läge. Sannolikheten för att gubben går åt ett visst håll får ju inte bedömas om för fort, annars kommer ju AI alltid traska mot spelaren i vilket fall, bara olika fort. Man hamnar snabbt i matematiska tankegångar.

Skjutandet....
Man har flera olika vapen som man plockar på sig. Vilket man väljer att använda beror på situation. Detta blir än mer komplext eftersom vissa vapen kan förändra hur banan ser ut. Får fundera på det som steg två tror jag. Får börja med hur AI förföljer spelaren på ett "naturligt" vis.
It always return one day!
Användarvisningsbild
Redreamer
Stormästare
Stormästare
 
Inlägg: 1366
Blev medlem: 1 maj 2005, 10:07
Ort: Borås

Re: "AI"

Inläggav bjonte » 25 oktober 2015, 22:43

Jag tror att det är vanligt med en handfull strategier som AIn använder för att den ska verka dynamisk. Attack, försvar, fly och bärsärk till exempel. Om man implementerar dem var för sig så kan de vara ganska korkade och ändå verka vettiga när man byter mellan dem. Attack skulle kunna vara att springa rätt mot och stanna och skjuta så fort den får fri sikt. Den skulle kunna hålla några rutors avstånd. Den skulle kunna växla till fly om den blir träffad. Fly skulle kunna vara att åka i motsatt riktning tills det har gått en stund utan träff. Defensiv skulle kunna vara åka slumpmässigt till en korsning, vänta på fri sikt mot motspelaren och slumpa en ny väg ifall det tar lång tid. Om fri sikt ges blir det attack kanske. Bärsärk kanske ska slås på ibland när hälsan är låg. Då blir det attack utan att hålla avstånd tills motståndaren är död eller en viss tid har gått.
Användarvisningsbild
bjonte
Stormästare
Stormästare
 
Inlägg: 1859
Blev medlem: 17 april 2006, 23:12

Re: "AI"

Inläggav e5frog » 5 november 2015, 22:01

Spökena i Pac-Man följer ganska enkla regler, det behöver inte göras så komplicerat innan det kan bli hysat svårt utan att bli omöjligt. Har hört en rekommendation att först göra det omöjligt och sen dumma ner de.

Men Bjonte har ju gjort sånt där förut, han har bra tips.
Kolla in mitt Fairchild System bild-galleri:
fairchild fairchild fairchild Bild fairchild fairchild fairchild
Användarvisningsbild
e5frog
Moderator
Moderator
 
Inlägg: 2761
Blev medlem: 8 augusti 2007, 18:16
Ort: Älvängen

Re: "AI"

Inläggav bjonte » 5 november 2015, 22:18

e5frog har rätt. Det kan ofta räcka med väldigt enkla regler. Lite slump är inte fel heller.
Användarvisningsbild
bjonte
Stormästare
Stormästare
 
Inlägg: 1859
Blev medlem: 17 april 2006, 23:12

Re: "AI"

Inläggav Redreamer » 6 november 2015, 13:27

Har tyvärr inte haft tid med något kod än. Sitter fast i pixelträsket. Eller har inte ens kommit så långt, försöker skissa på en titelbild för hand som jag sedan
pixlar ner.
It always return one day!
Användarvisningsbild
Redreamer
Stormästare
Stormästare
 
Inlägg: 1366
Blev medlem: 1 maj 2005, 10:07
Ort: Borås

Re: "AI"

Inläggav Staffan » 14 november 2017, 16:20

Jag implementerade en AI på megadrive.

1. Ingen väg att gå. Stå still.
2. En väg att gå . Ta den.
3. Två vägar att gå. Ta inte den du kom ifrån.
4. Tre vägar att gå. Ta inte den du kom ifrån. Bilda en triangel ovanför dig, en nedanför dig och en till höger och vänster om dig. (Du är ett hörn i varje triangel) Ta den väg, vars triangel spelaren står i.
5. Fyra vägar. Samma som tre typ.

Vill du se hur denna fungerar i praktiken så kan jag posta början på mitt megadrive projekt som jag lade ner. Rätt simpel och fungerar rätt bra.

Kod: Markera allt
  \     /
   \   /     Exempel: Spelaren står lite tilll höger, så ta vägen till höger.
     m
   /   \    P
  /     \

e5frog edit
Staffan
Erfaren lärling
Erfaren lärling
 
Inlägg: 141
Blev medlem: 14 augusti 2013, 08:41
Ort: Hammarö

Re: "AI"

Inläggav Staffan » 14 november 2017, 16:21

Försökte rita fin ascii grafik vad jag menade med trianglarma, men det sket sig visst... hoppas du förstår ungefär. Det är en rätt lätt strategi.
Staffan
Erfaren lärling
Erfaren lärling
 
Inlägg: 141
Blev medlem: 14 augusti 2013, 08:41
Ort: Hammarö

Re: "AI"

Inläggav Redreamer » 14 november 2017, 20:46

För min del så är delar av problemet att banan är väldigt öppen. Dessutom är den ganska dynamisk, dvs man kan öppna upp nya vägar. Men jag förstår vad du menar och delar av dina tankar går ju säkert använda. Ja, posta du din MD kod. Kan vara kul att se :)
It always return one day!
Användarvisningsbild
Redreamer
Stormästare
Stormästare
 
Inlägg: 1366
Blev medlem: 1 maj 2005, 10:07
Ort: Borås

Re: "AI"

Inläggav Staffan » 14 november 2017, 21:56

Sourcen hittar jag inte just nu
out.rar
(56.87 KiB) Nerladdad 113 gånger


Jag bifogar istället en rarfil som innnehåller megadrive romen. Du kan köra den i valfri emulator, och den fungerar precis som ovan. Finns fem banor som man går igenom rätt snabbt... De har dynamisk layout och den ena där dessa monster förekommer är ganska öppen.

Hittar jag sourcen postar jag den direkt.
Detta projekt är nedlagt som sagt. Finns 1000 anledningar till det...
Staffan
Erfaren lärling
Erfaren lärling
 
Inlägg: 141
Blev medlem: 14 augusti 2013, 08:41
Ort: Hammarö

Re: "AI"

Inläggav Redreamer » 20 november 2017, 09:21

Hej Staffan!
Ja, jag var nog för dålig på det där :D kom till typ andra bilden. Bra början på något, men jag respekterar att du lagt ned det. Du kanske kommer på något annat att pilla med någon gång. Tror inte jag hann komma till AI biten, vissa av de tidiga varelserna verkar tendera att titta mot spelaren men det kanske bara var slump`?
It always return one day!
Användarvisningsbild
Redreamer
Stormästare
Stormästare
 
Inlägg: 1366
Blev medlem: 1 maj 2005, 10:07
Ort: Borås

Re: "AI"

Inläggav Staffan » 22 november 2017, 07:48

Hej, Nu skall vi se...
Jo De första varelserna sitter bara stilla. De som vaknar till liv då du tagit alla hjärtan var de jag tänkte på. Larverna tittar mot spelaren, men det är de som springer mot spelaren som är AI.
De sover i början på bana 2 om jag minns rätt, du måste igenom en varelse för att kunna ta alla hjärtan . Du går igenom en genom att kasta en pokeboll på honom två gånger.

De som vaknar till liv fungerar precis så som jag skrev :) Tror det skulle funka rätt bra i ditt spel baserat på vad jag vet om det.
Staffan
Erfaren lärling
Erfaren lärling
 
Inlägg: 141
Blev medlem: 14 augusti 2013, 08:41
Ort: Hammarö

Re: "AI"

Inläggav Staffan » 22 november 2017, 08:04

Det finns en grej som talar emot detta. Om ditt spel är att endast en motståndare skall döda dig och det är mycket obstacles, så är det kanske inte en bra lösning. Du får titta. Är banan öppen som du sa är det ett plus.
Staffan
Erfaren lärling
Erfaren lärling
 
Inlägg: 141
Blev medlem: 14 augusti 2013, 08:41
Ort: Hammarö


Återgå till Programmering/prog.-verktyg

Vilka är online

Användare som besöker denna kategori: Inga registrerade användare och 1 gäst

Banners

BOA Japon Mediapalatset Nostalgibutiken
Quartex Retro Overlays Retroplay Spel och sånt
Super Motaro Söders Serie & Skivhandel vintagegames.se RG 2016