Avatar billede nubi19 Nybegynder
22. juni 2004 - 11:07 Der er 10 kommentarer og
3 løsninger

Scorched Earth lign. AI

Hejsa, jeg står og skal have lavet en AI til et Scorched Earth lign. spil. Problemet er at jeg er ret meget på bar bund.
I første omgang tænkte jeg på at lave noget backtracking på forskellige vinkler etc. (Meget ala skak) Men det synes jeg ikke rigtigt vil give et ordentligt resultat.

For det første skal jeg jo have beregnet vinkel/skudhastighed der skal skydes med, denne er ret nem at regne ud baglæns, så den sidder lige i plet hver gang, men det duer jo ikke. Så det jeg søger er ikke direkte kode, men snarere ideer/pseudo algoritmer til dette problem.

Den anden ting er at den skal vurdere hvilket våben den skal bruge, men dette kan i første omgang vente.

Jeg er ikke 100 % sikker på at spørgsmålet er korrekt placeret, men håber på det. Ellers må i lige påpege det for mig - tak :)
Avatar billede chrisrj Forsker
22. juni 2004 - 11:14 #1
Jeg ved ikke om du kender disse links, hvis så prøv dem! :)

http://www.gamedev.net
http://www.gameinstitute.com/
http://www.flipcode.com/

Der er ALT om spilprogrammering :)
Avatar billede chrisrj Forsker
22. juni 2004 - 11:14 #2
Hov, der skulle have stået "Jeg ved ikke om du kender disse links, hvis IKKE så prøv dem! :)" :)
Avatar billede soreno Praktikant
22. juni 2004 - 12:11 #3
Kan du så ikke bare beregne vinkel/skudhastighed korrekt og så adde en random værdi (i et fornuftigt interval) ?
Avatar billede nubi19 Nybegynder
22. juni 2004 - 22:17 #4
Ideen er som sådan ikke helt dum soreno, men jeg synes bare det virker så tilfældigt og tjah uprofessionelt på en eller anden måde. Det jeg gerne vil have en AI til, er at virke menneskelig, og det er jo ikke videre menneskeligt. Et menneske vil jo vurdere det på baggrund af tidligere skud (f.eks. samme vind, vinkel og så ændrer man hastigheden lidt), men som udgangspunkt er det selvf. en klar mulighed, så kan jeg jo altid udbygge den til at tage højde for tidligere skud. Kigger lige på gamedev osv. når jeg får lidt bedre tid, er kun lige på kort tid pt.
Avatar billede ichiban Nybegynder
23. juni 2004 - 08:01 #5
Du kan bruge en genetisk algoritme. Se: http://www.generation5.org/content/1999/gaexample.asp

og

http://www.generation5.org/articles.asp?Action=List&Topic=Genetic%20Algorithms

Efter hver generation, kan du så tage den bedste løsning. Du vil så få en fornemelse, som spiller, af at computeren skyder sig ind.
Avatar billede ichiban Nybegynder
23. juni 2004 - 08:09 #6
Avatar billede nubi19 Nybegynder
23. august 2004 - 13:25 #7
Tak for jeres hjælp, havde helt glemt dette spørgsmål. Ichiban din ide var rigtig god, og er den jeg valgte at bruge. Men hvis i nu alle svarer, så deler jeg pointene efter fortjeneste om man så må sige.
Avatar billede chrisrj Forsker
23. august 2004 - 13:33 #8
Jamen, så får du lige et lille svar her :)
Avatar billede ichiban Nybegynder
23. august 2004 - 13:53 #9
Svar :)
Avatar billede ichiban Nybegynder
23. august 2004 - 13:56 #10
Det kunne være sjovt at de den endelige løsning, hvis/når den er færdig :)
Avatar billede nubi19 Nybegynder
24. august 2004 - 08:12 #11
Soreno - vil du ikke have point ? Jeg venter lige til imorgen med at give dem, så han har en chance for at svare.
Mht. den færdige kode så går der pænt længe inden den er færdig, da det er til et skoleprojekt, men den kan nok godt publiceres til den tid :)
Avatar billede soreno Praktikant
24. august 2004 - 17:22 #12
Ok.
Avatar billede chrisrj Forsker
25. august 2004 - 15:55 #13
Tak for points :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester