ai pada game development pathfinding
DESCRIPTION
Ai Pada Game Development PathfindingTRANSCRIPT
AI pada Game Development [Path Finding]
Agung Toto Wibowohttp://gameprogramming.blog.ittelkom.ac.id/blog/
Bourg, David M., dan Seeman, Glenn, ”AI for Game Developers “, O'Reilly, 2004
Apa “artificial intelligence”?Kemampuan komputer atau mesin lain untuk
melakukan kegiatan-kegiatan (biasanya berpikir) yang membutuhkan kecerdasan
proses atau ilmu dalam menciptakan mesin cerdas
“apa itu cerdas?“Cerdas memerlukan hati nurani dan emosi
yang terkait dengan kecerdasan secara menyeluruh
kemampuan untuk memecahkan masalah yang memerlukan kecerdasan jika ingin dapat dipecahkan oleh manusia tidak cukup
Deterministik vs Non-deterministikDeterministic
perilaku atau kinerja yang ditetapkan dan dapat diprediksi
tidak ada ketidakpastianContoh : menggerakkan NPC dari satu koordinat ke
lokasi tujuan.
Nondeterministic memiliki tingkat ketidakpastian dan agak tak terdugaContoh : NPC belajar untuk beradaptasi dengan taktik
pertempuran pemain. menggunakan JST, Bayesian, atau GA atau teknik
learning yang lain.
Basic Pathfinding
Algortima sangat sederhanaMasalah muncul pada saat ada obstacle
if(positionX > destinationX) positionX--;
else if(positionX < destinationX) positionX++;
if(positionY > destinationY) positionY--;
else if(positionY < destinationY) positionY++;
Random Movement Obstacle Avoidanceif Player In Line of Sight {
Follow Straight Path to Player
} else { Move in Random Direction
}
Wall-tracing pathMirip dengan obstacle, namun mengikuti
tembokPergerakan mengikuti relative direction
Waypoint NavigationMengurangi waktu
komputasi, dan respon time
Menggunakan labelling node, dan predefined routing table.
AI Path FindingUnInformed Search
Breadth First SearchUniform Cost SearchDeth First SearchDepth LImited SearchIterative Deepening Search
Informed Searchgreedy Best First SearchA* searchRecursive Best First SearchIterative Deepening A* Simplified Memory A*
RangkumanCriteria BFS UCS DFS DLS IDS
Complete?
Yes Yes No No Yes
Time O(bd+1) O(b[C*/Є]) O(bm) O(bl) O(bd)
Space O(bd+1) O(b[C*/Є]) O(bm) O(bl) O(bd)
Optimal? Yes Yes No No Yes
Criteria GBFS A* RBFS IDA* SMA*
Complete?
No Yes Ya Ya Yes
Time O(bm) Exp Tidak bisa ditentukan
Tergantung Heuristik
O(bd)
Space O(bm) - O(bd) O(bd) O(bd)
Optimal? No Yes Ya Ya Yes
Kunci SearchingBFS DF
SUCS Greedy BFS A*
Insert Last First
Urut Urut Urut
Delete First First
First First First
Heuristik Sesungguhnya / g(n)
Estimasi/h(n) f(n) = g(n) + h(n)