Kamis, 10 Juni 2021

Pertemuan 2 | Teknologi Game - Artificial Intelligence

Nama    : Kareem Abdul Jabbar

NPM    : 53418591

Kelas    : 3IA15 


    Artificial Intelligence (AI) adalah kontrol dari setiap entitas non-manusia dalam sebuah game. Contoh dari AI adalah mobil-mobilan dalam permainan mobil, musuh dan monster dalam game tembak-tembakan, unit pasukan user, unit musuh user dan musuh Anda dalam game RTS (Real Time Strategy). RTS adalah pengembangan dari game dengan genre strategi. Game dapat didefinisikan sebagai game RTS kalau memenuhi beberapa riteria seperti dapat memilih serta mengendalikan banyak unit dengan cara dragging and clicking, dapat menggerakkan unit untuk menguasai area penting sebagai contoh resource, dapat menyerang serta menghancurkan unit musuh. AI Biasanya tidak mengacu pada hal-hal pasif yang hanya bereaksi kepada pemain dan tidak pernah memulai tindakan, tetapi berdasarkan logika fisik atau permainan. Misalnya, balok di Tetris bukanlah AI dan bola juga tidak ada di dalam permainan yang user lakukan, juga tidak ada bendera yang tertiup angin. Ini merupakan perbedaan yang agak sewenang-wenang. 

    AI Berbasis peristiwa, digerakkan oleh peristiwa yang melakukan segalanya untuk menanggapi peristiwa didunia. Peristiwa dikirim melalui pesan (Pada dasarnya, sebuah fungsi dipanggil saat pesan tiba, seperti antarmuka pengguna). Contoh pesannya adalah jangka waktu tertentu telah berlalu jadi perbarui diri anda, anda telah mendengar suara dan seseorang telah memasuki bidang pandang anda. Pesan dapat sepenuhnya menggantikan penginderaan, tetapi biasanya tidak. Sistem nyata adalah campuran, sesuatu yang bisa berubah-ubah. Jadi user perlu melakukan beberapa penginderaan.

Tujuan Game Artificial Intelligence

  • Didorong oleh tujuan. Artificial Intelligence sudah memutuskan apa yang harus dilakukannya dan  mencari cara untuk melakukannya.
  • Reaktif. AI Segera merespons perubahan didunia.
  • Karakteristik. Mewujudkan karakter yang konsisten dan dapat dipercaya.
  • Pengembangan cepat dan mudah.

AI dalam game loop

    Artificial Intelligence didalam Game Loop diperbarui sebagai bagian dari Game Loop, setelah input pengguna dan sebelum rendering. Yang ditinjau dalam Game Loop adalah AI mana yang lebih didahulukan, apakah AI berjalan disetiap frame atau disinkronkan. 

 

AI dan Animasi

    Hubungannya antara AI dan animasi, AI menentukan apa yang harus dilakukan dan animasi yang melakukannya. AI Mendorong animasi, memutuskan tindakan apa yang harus dianimasikan oleh sistem animasi. AI Mengeluarkan perintah seperti perpindahan dari titik A ke B dan sistem akan melakukan animasi untuk melakukan sisa kerjanya. Skenario yang terbaik bergantung pada sifat AI sistem dan sifat sistem animasi. Apakah sistem animasi berdasarkan pohon bergerak (Motion capture) atau physics atau apakah AI menjaga penghindaran tabrakan dan apakah itu rinci perencanaan.

 

AI menurut Polling

  • AI dipanggil dengan jangka yang ditentukan.
  • “Sensing” : AI mencari apa yang berubah di dunianya. Singkatnya :
  • Mendata apa yang bisa dilihat
  • Memeriksa apakah animasinya sudah selesai berjalan
  • Kemudian beraksi berdasarkan data yang didapat.

Kompleksitas Spesifikasi

  • Seberapa sulit untuk menulis kode
  • Menentukan biaya pengembangan dan risiko
  • Semakin banyak pengetahuan yang ditambahkan, berapa banyak lagi kode yang perlu ditambahkan

Dua Ukuran Kompleksitas

  • Menentukan biaya run-time AI
  • Seberapa cepat program berjalan karena lebih banyak pengetahuan ditambahkan
  • Berapa banyak memori yang dibutuhkan karena lebih banyak pengetahuan ditambahkan

Kelebihan FSM

  • Sangat cepat, akses satu array.
  • Cukup ekspresif untuk perilaku sederhana atau karakter yang dimaksudkan “bodoh”
  • Bisa di-commpile menjadi struktur data yang compact.
  • Memory dinamis : keadaan sekarang
  • Memory statis : diagram keadaan, implementasi array
  • Bisa membuat tools, sehingga non-programmer bisa membangun perilaku/behaviour.
  • Non-deterministic FSM bisa membuat perilaku yang tidak terprediksi

Kelemahan FSM

  • Jumlah keadaan bisa bertumbuh begitu cepat.
  • Secara eksponensial dengan jumlah kejadian s=2e
  • Jumlah cabang bisa tumbuh bahkan lebih cepat : a=s2
  • Representasi proporsional
  • Sulit untuk menaruh perintah “Ambil power-up yang lebih baik”, atau “serang musuh yang paling dekat”
  • Berat untuk menghitung : Tunggu hingga kali ketiga melihat musuh, baru serang
  • Memerlukan event tambahan : Kali pertama melihat, kali kedua, dst, dan keadaan tambahan untuk mengurus penghitungannya.

    Masalah dasar teknik AI dalam game, mengingat keadaan dunia, apa yang harus user bisa lakukan. Berbagai macam solusi dalam game antara lain mesin keadaan hingga, pohon keputusan, sistem berbasis aturan, jaringan saraf, logika fuzzy. Solusi yang lebih beragam di dunia akademis adalah sistem perencanaan yang kompleks, pemrograman logika, algoritma genetika, Bayes-nets. Biasanya terlalu lambat untuk game. Bayes Network adalah suatu metode pemodelan data berbasis probabilitas yang merepresentasikan suatu himpuan variabel dan conditional interdependenciesnya melalui suatu DAG (Directed Acyclic Graph).





Tidak ada komentar:

Posting Komentar

Konsep Dasar Komputasi

  Ringkasan Konsep Dasar Komputasi   A.     Apa itu Komputasi? Komputasi adalah algoritma yang digunakan untuk menemukan suatu cara da...