Implementasi Perilaku Agen Berbasis Rule Menggunakan Blender Game Engine Cindy Nordiansyah¹, Mochamad Hariadi², Supeno Mardi³
Abstrak—Simulasi perilaku manusia virtual menggunakan komputer mempunyai banyak kegunaan, antara lain untuk pelatihan bencana dan permainan. Untuk mendapatkan kualitas simulasi yang realistik, agen manusia virtual yang merupakan aktor dalam simulasi harus dibuat semirip mungkin dengan manusia sebenarnya. Pada penelitian ini dirancang sebuah simulasi perilaku manusia virtual yang berada dalam sebuah mall dengan fokus realisme pada agen menggunakan Rule Based System (RBS). RBS akan merepresentasikan semua perilaku agen dalam aturan-aturan tertentu yang bersifat kondisional. Agen mempunyai kebutuhan pokok seperti manusia dan kemampuan untuk memenuhinya dengan mencari dan menuju ke tempat yang sesuai. Dalam mencari tempat tujuan, agen dilengkapi dengan sensor visual terbatas yang berfungsi sebagai mata untuk mendeteksi lingkungan sekitarnya dan menghindari tabrakan, dengan asumsi agen tidak memiliki pengetahuan tentang tempat-tempat yang berada dalam mall. Navigasi dilakukan agen dengan memanfaatkan pengetahuan tentang lingkungan yang dideteksinya, sehingga menyerupai cara navigasi manusia. Gerakan agen berjalan kaki akan direpresentasikan menggunakan Behavioral Animation untuk meningkatkan realisme simulasi secara visual. Kata Kunci—Rule Based System, Behavioral Animation, Manusia Virtual.
I. P ENDAHULUAN IMULASI perilaku manusia menggunakan agen virtual merupakan proses yang kompleks. Banyak tema riset dalam bidang komputer grafik yang berkaitan dengan simulasi perilaku manusia, dengan tujuan umum untuk membuat simulasi yang realistik[1], [5]. Salah satu tema yang cukup populer adalah tentang kemampuan navigasi manusia atau pathfinding. Pathfinding diperlukan untuk bergerak ke suatu tempat tujuan tanpa menabrak penghalang. Sebagian besar metode yang dipakai dalam pathfinding memerlukan peta dari lingkungan simulasi. Peta diperlukan untuk melakukan komputasi awal dalam mencari jalur yang harus dilalui oleh agen (path planning), dengan kata lain, agen telah mengetahui posisi tujuannya. Terdapat algoritma seperti A* (A-star) yang berbasis pada path planning. Metode path planning dapat menghasilkan simulasi pergerakan agen yang halus dan realistik secara visual, namun metode ini tidak realistik jika dibandingkan dengan cara manusia dalam melakukan pathfinding. Manusia dapat menemukan tempat tujuan meskipun belum mengetahui posisinya. Dalam kehidupan sebenarnya, manusia mempunyai motivasi dalam menentukan tempat yang akan ditujunya. Motivasi dapat
S
(1) Cindy Nordiansyah, Bidang Studi Teknik Komputer & Telematika, Jurusan Teknik Elektro ITS Surabaya. (2) Mochammad Hariadi, ST, MSc, PhD., Dosen Pembimbing I, Bidang Studi Teknik Komputer & Telematika, Jurusan Teknik Elektro ITS Surabaya. (3) Supeno Mardi, ST, MT., Dosen Pembimbing II, Bidang Studi Teknik Komputer & Telematika, Jurusan Teknik Elektro ITS Surabaya.
berasal dari keinginan untuk memenuhi kebutuhan. Dalam simulasi perilaku manusia, kebutuhan yang harus dipenuhi adalah sebuah alasan yang realistik untuk menentukan tempat yang akan dituju. Misalnya jika agen kelelahan ia akan mencari kursi dan duduk. Dalam penelitian ini, akan dirancang sebuah simulasi perilaku manusia yang mempunyai fokus realisme pada pemenuhan kebutuhan. Agen mempunyai beberapa variabel kebutuhan yang menentukan tempat tujuan. Metode pathfinding dibuat menyerupai cara manusia dengan menggunakan sensor terbatas yang berperan sebagai indra penglihatan agen. Tujuan dari penelitian ini adalah untuk mengimplementasikan perilaku agen dalam mencari tempat tujuan dan memenuhi kebutuhannya dengan metode yang realistik. II. DASAR T EORI Kemajuan teknologi komputer dalam bidang grafis telah memberikan alat baru, yang memungkinkan kita untuk merekonstruksi suatu tempat atau struktur dalam bentuk tiga dimensi yang dapat diamati dan diakses dari berbagai sudut. Alat ini disebut Virtual Environments (lingkungan virtual). Lingkungan virtual tersusun atas komponen statik dan dinamik berupa objek tiga dimensi, suara, gambar, dan video. Lingkungan virtual dapat dieksplorasi secara real-time, namun pasif karena minimnya fasilitas interaksi dan partisipasi yang didapatkan oleh user. Eksplorasi dan partispasi aktif memerlukan interaksi antarmanusia, sehingga membutuhkan visualisasi manusia virtual (virtual human) sebagai wakil dari user di dalam lingkungan virtual[3]. Penggunaan manusia virtual dapat berfungsi sebagai presenter, guide, dan aktor yang dapat digunakan untuk menunjukkan bagaimana seharusnya manusia berperilaku dalam setiap keadaan. Behavioral animation (animasi perilaku) merupakan animasi yang digunakan pada manusia virtual untuk berperilaku menyerupai manusia sebenarnya. Pada pembuatan film animasi, penerapan behavioral animation lebih mudah karena skenario yang telah dibuat terlebih dahulu. Penerapan behavioral animation jauh lebih sulit dilakukan pada aplikasi real-time dengan agen manusia virtual yang autonomous seperti pada game dan simulasi. Menggunakan behavioral animation, agen manusia virtual akan memiliki kemampuan untuk mengindera lingkungannya dan bergerak sesuai dengan rangsangan yang diberikan oleh lingkungan. Behavioral animation banyak diterapkan dalam industri game. Game "The Sims" yang merupakan simulasi kehidupan sehari-hari
manusia virtual cukup menyenangkan untuk dimainkan dan disukai oleh banyak orang sehingga The Sims dibuat dalam banyak seri dan semuanya menuai kesuksesan. Meskipun behavioral animation yang digunakan oleh game ini masih terbatas, kesuksesannya telah membuktikan bahwa orang menyukai permainan melibatkan agen autonomous yang berperilaku seperti manusia. Selain pada bidang hiburan, behavioral animation juga diterapkan di bidang simulasi pelatihan seperti simulasi bencana dan evakuasi.
Gambar 1.
Screenshot game The Sims
RBS (Rule Based System) adalah metode pengambilan keputusan berdasarkan pada aturan-aturan (rule) tertentu yang telah ditetapkan. RBS digunakan dalam bentuk kecerdasan buatan yang diberikan pada agen manusia virtual untuk dapat melakukan suatu tindakan tertentu. Tindakan yang dilakukan oleh agen akan direpresentasikan oleh set aturan mulai dari penyebab terjadinya tindakan, proses tindakan, dan hasil dari tindakan. Karena sifat rule yang tetap, RBS tidak mengizinkan suatu variasi keputusan dari kasus yang sama. Aturan yang dibuat untuk tindakan tertentu mungkin akan tidak berlaku bagi tindakan lainnya. Penambahan jenis tindakan baru memerlukan set aturan baru sehingga kerumitan menjadi semakin tinggi dan ada kemungkinan konflik antaraturan yang dapat menyebabkan kegagalan RBS. Namun, RBS masih memiliki kelebihan dengan set aturan yang sedikit, yaitu kemudahan implementasi dan beban penghitungan yang kecil. Terdapat dua metode utama dalam mengimplementasikan pathfinding pada simulasi manusia virtual. Metode pertama adalah metode path planning yang dapat memberikan jalur terbaik pada agen dalam menuju tempat yang ditentukan. Metode ini memerlukan peta dari lingkungan virtual yang ditempati oleh agen untuk mencari jalur terbaik, dengan kata lain, agen telah mengetahui posisi tujuannya (global knowledge). Salah satu algoritma yang menerapkan path planning adalah A*[2]. Meskipun dapat menghasilkan simulasi yang halus dan realistik secara visual, path planning tidak realistik jika dibandingkan dengan pathfinding yang dilakukan oleh manusia. Jalur-jalur yang didapat dari path planning masih terbatas sehingga pergerakan agen tidak fleksibel. Metode kedua yang lebih menyerupai perilaku manusia yaitu pendekatan berbasis agen (agent based approach)[4], [6]. Pada metode ini, agen diberi sensor untuk mengindra lingkungannya, yaitu hanya pada daerah yang terdeteksi oleh sensor (local knowledge). Untuk mencari
tujuan, agen dapat dengan bebas memilih jalur yang dilewati, dengan aturan sederhana agar tidak menabrak objek di sekitarnya. Penambahan elemen ingatan akan mempermudah agen dalam mencari tempat tujuan. III. D ESAIN S ISTEM Simulasi perilaku agen dibuat dalam lingkungan virtual berupa mall yang mempunyai tempat-tempat untuk memenuhi kebutuhan. Agen akan memulai simulasi pada pintu masuk mall, mendapatkan nilai acak untuk kebutuhan dan delay pengurangan nilai kebutuhannya. Tujuan akan langsung ditentukan menggunakan nilai kebutuhan dan agen segera berjalan untuk mencarinya. Posisi dan nama objek yang terdeteksi oleh sensor penglihatan agen akan direkam untuk mempermudah pencarian tujuan. Setelah sampai di tujuan, agen berhenti berjalan dan variabel kebutuhan yang sesuai dengan tujuan akan naik secara gradual sampai batas tertentu. Selanjutnya agen akan menentukan tujuan berikutnya. Jika tujuan telah terekam sebelumnya, agen akan langsung menuju ke sana. A. Model Manusia dan Lingkungan Virtual Model manusia virtual berbentuk manusia anak laki-laki. Organ tubuh yang dapat digerakkan antara lain kaki, tangan, badan, dan kepala. Untuk mengurangi kompleksitas, manusia virtual yang dibuat tidak mempunyai jari tangan, jari kaki, wajah, dan rambut. Kulit hanya memiliki satu warna tanpa menggunakan pakaian. Armature yang dibuat hanya untuk tulang-tulang yang besar seperti tulang punggung, kaki, lengan, pundak, leher, dan panggul.
Gambar 2.
Armature manusia virtual
Lingkungan yang disimulasikan adalah sebuah mall. Mall mempunyai tempat - tempat yang akan digunakan oleh agen sebagai tujuan untuk memenuhi kebutuhan mereka selama berada di sana. Denah mall didapatkan dari penelitian tesis Ibu Endah Damayanti, S.T. atas seizin Beliau. Tempat tujuan yang terdapat dalam mall yang dapat digunakan oleh agen antara lain: • Food court - untuk memenuhi kebutuhan makan dan istirahat • Kafe - untuk memenuhi kebutuhan makan dan istirahat • Restoran pizza - untuk memenuhi kebutuhan makan dan istirahat • Toko donat - untuk memenuhi kebutuhan makan dan istirahat
Toko es krim - untuk memenuhi kebutuhan makan dan istirahat • Kios pastry - untuk memenuhi kebutuhan makan • Kios snack - untuk memenuhi kebutuhan makan • Kios kopi - untuk memenuhi kebutuhan makan • Kios teh - untuk memenuhi kebutuhan makan • Game Center - untuk memenuhi kebutuhan bermain • Toko buku - untuk memenuhi kebutuhan bermain • Toilet - untuk memenuhi kebutuhan buang air Selain tempat yang digunakan sebagai tujuan, terdapat tempattempat lain yang bukan merupakan tempat tujuan agen dalam simulasi ini. Agen dapat memasuki tempat-tempat nontujuan tetapi tidak akan mempunyai pengaruh apa-apa. •
Gambar 4.
•
Gambar 3.
Mall tempat simulasi (seizin Endah Damayanti, S.T.)
B. Animasi Manusia Virtual Jenis animasi yang dapat dilakukan oleh agen: • Berjalan • Diam Kedua jenis animasi tersebut digunakan agen untuk bergerak menuju tempat tujuan dan menghindari tabrakan. Animasi aktivitas yang dilakukan di tempat tujuan tidak dibuat untuk mengurangi kompleksitas karena membutuhkan interaksi dengan objek lain. C. Desain Rule Based System 1) Kebutuhan dan Pemenuhannya: Rule Based System disesuaikan dengan perilaku dan kebutuhan seorang anak lakilaki berusia 10 tahun. Rule yang dibuat digunakan untuk menentukan tujuan dengan mempertimbangkan parameter kebutuhan milik agen. Hasil dari penentuan tujuan adalah bergerak ke tempat tujuan untuk memenuhi kebutuhannya. Agen memiliki kebutuhan antara lain: • Makanan, dapat dipenuhi pada tempat yang menjual makanan seperti food court, kafe, dan restoran pizza • Membersihkan diri, dilakukan di toilet. • Istirahat, dapat dilakukan dengan duduk di tempat yang sama yang digunakan untuk mendapatkan makanan.
FSM AI milik agen
Kegembiraan, dapat dipenuhi menggunakan game center dan toko buku
Besaran kebutuhan agen akan direpresentasikan dalam bentuk variabel untuk masing-masing kebutuhan dengan jangkauan nilai 0-15 dan inisialisasi nilainya acak antara 7-15. Nilai variabel rendah menunjukkan tingkat kebutuhan yang tinggi. Nilai variabel akan terus berkurang seiring berjalannya waktu, dan akan berkurang lebih cepat jika agen melakukan aktivitas tertentu. Waktu pengurangan nilai variabel diskalakan dari waktu sebenarnya yaitu 1 jam sebenarnya = 30 detik simulasi. Waktu pengurangan mempunyai inisialisasi acak antara 2030 detik. Agen memiliki nilai threshold kebutuhan untuk memisahkan antara dua keadaan yaitu kebutuhan rendah dan kebutuhan tinggi. Nilai threshold juga akan diinisialisasi secara acak antara dan merupakan nilai tetap. Penentuan tujuan akan diambil dari perbedaan nilai kebutuhan dengan threshold. Setelah tiba di tujuan, agen akan berhenti berjalan dan variabel kebutuhan yang berkaitan dengan tempat tujuan akan naik secara gradual. Kenaikan variabel kebutuhan berbedabeda pada setiap kebutuhan. Misal pada saat makan, kenaikan akan lebih cepat namun mempunyai batas, karena merupakan variabel fisik dan tergantung pada jumlah makanan. Pada saat beristirahat, kenaikan variabel kelelahan akan lebih lambat, namun tidak dibatasi karena lelah merupakan variabel psikis. Berikut ini daftar perubahan nilai variabel kebutuhan jika agen melakukan aktivitas tertentu: . 2) Pathfinding: Setelah menentukan tujuan, agen akan bergerak mencari tempat yang dapat memenuhi kebutuhannya dan setelah ditemukan akan bergerak menuju ke sana. Untuk menemukan tempat tujuan dan bergerak menuju ke tempat tersebut tanpa menabrak dinding, toko lain, dan agen lain pada lorong mall, agen dilengkapi dengan beberapa sensor sebagai indera penglihatan untuk mendeteksi objek-objek yang berada di dekatnya sehingga dapat diambil tindakan untuk mendekati atau menghindari objek. Pada simulasi ini agen akan dibuat mendekati tujuan dan akan menghindari objek selain tujuan.
Tabel I TABEL PERUBAHAN NILAI VARIABEL KEBUTUHAN TERHADAP AKTIVITAS
food court kafe toko pizza toko donat toko es krim kios pastry kios snack kios kopi kios teh game center toko buku toilet
makanan +8 +4 +5 +4 +3 +3 +2 +2 +2 -2 -1 -1
istirahat +1 +1 +1 +1 +1 -1 -1 -1 -1 -2 -2 -1
kegembiraan -1 -1 -1 -1 -1 -1 -1 -1 -1 +3 +2 -1
toilet -3 -2 -2 -2 -2 -2 -2 -2 -2 -1 -1 +9
Gambar 6.
Siklus berjalan kaki
Gambar 7.
Animasi saat berdiri
IV. I MPLEMENTASI S ISTEM Langkah-langkah implementasi adalah sebagai berikut: A. Instalasi Blender 2.49b dan Python 2.6.2 Instalasi Blender 2.49b dan Python 2.6.2 pada sistem operasi Windows XP dapat dilakukan dengan urutan manapun. Blender masih dapat bekerja tanpa Python namun akan kehilangan kemampuan scripting milik Python. Pada beberapa kasus, Blender meminta instalasi Visual C++ 2008 redistributable yang dapat diperoleh di website Microsoft.
C. Pembuatan Dunia Tiga Dimensi B. Pembuatan Model Manusia Virtual
Lingkungan tiga dimensi yang dibuat adalah mall. secara garis besar, area mall terdiri dari lorong-lorong dengan tokotoko di tepi lorong. Pintu masuk toko selalu terbuka, dan toko yang menjadi tempat tujuan diberi tanda dengan blok tak terlihat agar dapat dideteksi oleh sensor agen. D. Pembuatan Sensor
Gambar 5.
Cincin vertex kembar pada persendian
Untuk menghindari perubahan bentuk tubuh model yang tidak alami saat bergerak, di setiap persendian armature diberi cincin kembar berupa kumpulan vertex yang melingkar pada kedua ujung tulang yang menjadi persendian. 1) Berjalan Kaki: Animasi berjalan kaki dibuat dengan metode armature keyframing. Diperlukan 25 frame (frame1 - 25) dengan 13 keyframe (frame 1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25) untuk mendapatkan siklus berjalan kaki penuh. 2) Animasi Saat Berdiri: Animasi saat diam berdiri memerlukan gerakan yang halus dan ditujukan agar agen terlihat seperti bernapas. Animasi diam membutuhkan 160 frame (frame 40 - 200) dengan 3 keyframe (frame 40, 120, 200).
Agen diberi kemampuan untuk mendeteksi objek-objek di sekitarnya menggunakan sensor radar dan ray yang dimiliki Blender Game Engine[7]. Kedua sensor tersebut dapat bertindak sebagai indera penglihatan agen dan dapat menyimpan nama dan posisi objek yang terdeteksi.. Pendeteksian akan digunakan untuk memberikan reaksi yang sesuai, seperti mendekat ke objek jika objek adalah tempat tujuan, dan menjauh jika objek terlalu dekat atau menjadi penghalang sehingga mencegah tabrakan. Ada 5 sensor radar dan 5 sensor ray yang digunakan dalam simulasi. Masing-masing sensor menghadap ke depan, kiri, dan kanan agen, sesuai dengan bidang pandang manusia. Pembagian arah sensor diperlukan untuk mendeteksi objek pada wilayah yang berbeda sehingga dapat memberikan pilihan untuk mengambil jalan. Sensor radar dapat melihat menembus objek sehingga dapat digunakan untuk mendeteksi keberadaan tempat tujuan meskipun terhalang oleh objek lain. Hal ini masuk akal karena di mall dinding toko biasanya terbuat dari kaca dan memungkinkan untuk melihat toko lain
di belakangnya. Sensor ray tidak dapat menembus objek, mempunyai arah yang terbatas pada satu sumbu, dan hanya dapat mendeteksi satu objek saja, tetapi dapat mengetahui posisi objek, sehingga dapat digunakan untuk mendeteksi objek yang berpotensi menabrak, dan mendeteksi tempat tujuan yang tidak terhalang oleh objek lain.
Gambar 9.
Gambar 8.
Sensor milik agen
E. Penulisan Script RBS Script AI ditulis dalam bahasa Python menggunakan text editor internal Blender. Script digunakan untuk menentukan tujuan menggunakan Rule Based System dan menentukan perilaku agen dalam mencapai tempat tujuan. V. P ENGUJIAN S ISTEM
Kemampuan deteksi objek
Agen masih mengalami kesulitan untuk menghindari tabrakan, terutama saat berbelok dan di daerah yang sempit. Hal ini terjadi karena sensor memberikan alarm tabrakan palsu saat tidak sengaja mendeteksi objek yang mestinya tidak menghalangi gerak agen. 3) Kemampuan berjalan pada jalurnya. Pada jalan yang luas dan lurus, agen dapat berjalan sesuai dengan jalurnya. Namun pada saat berbelok atau di tempat sempit, kelemahan pada kemampuan menghindari tabrakan membuat agen sering memasuki tempat yang bukan merupakan tujuannya dan tidak dapat keluar dari sana. 4) Kemampuan menemukan tujuan Agen dapat mencapai tempat tujuannya, namun diperlukan waktu yang lama untuk mencapainya karena kelemahan dalam pathfinding. B. Pengujian Pemenuhan Kebutuhan
Pengujian dilakukan dengan cara simulasi pada komputer yang memiliki spesifikasi sebagai berikut: • Processor : AMD Turion 64 2,2 GHz • Memori : 1024 MB • VGA Card : ATI Radeon Xpress 1100 • Sistem operasi : Windows XP Professional Pengujian dilakukan pada dua aspek simulasi yaitu pathfinding dan pemenuhan kebutuhan. A. Pengujian Pathfinding Pengujian pathfinding dilakukan untuk melihat gerakan agen dalam mencari tempat tujuan. Parameter yang dinilai dalam pengujian pathfinding adalah kemampuan sensor untuk mendeteksi objek, kemampuan agen untuk menghindari tabrakan dengan tembok mall, tetap berjalan di tempat yang semestinya, dan menemukan tujuan. Dari pengujian, didapatkan hasil sebagai berikut: 1) Kemampuan sensor untuk mendeteksi objek. Sensor dapat mendeteksi objek, posisi, dan jaraknya dari agen. Jumlah sensor dan rule yang dibuat belum mencukupi untuk mendeteksi objek dan memberikan reaksi yang sesuai. 2) Kemampuan menghindari tabrakan.
Gambar 10.
Variabel kebutuhan agen
Pengujian pemenuhan kebutuhan dilakukan untuk menilai sistem variabel kebutuhan dan pemenuhannya di tempat tujuan. Pada pengujian ini didapatkan hasil yang memuaskan yaitu penentuan tujuan yang berjalan dengan baik tanpa konflik rule, pengurangan variabel kebutuhan mempunyai kecepatan yang berbeda dan dapat membuat agen mengubah tujuannya selama tujuan awal belum dicapai. Pada tempat tujuan, variabel kebutuhan agen bertambah sesuai dengan rule yag dibuat dan mampu menentukan tujuan baru setelah tujuan lama terpenuhi.
VI. P ENUTUP A. Kesimpulan Simulasi perilaku agen berbasis rule berhasil dibuat dan diimplementasikan menggunakan Blender Game Engine. Dari pengujian sistem, dapat ditarik kesimpulan: 1) Penggunaan sensor dapat memodelkan pathfinding yang dilakukan manusia secara lebih realistik dibandingkan dengan metode path planning. Namun terdapat kelemahan pada sensor yaitu sering terjadi konflik antara kemampuan pendeteksian sensor dengan rule yang dibuat untuk memberikan reaksi gerak pada agen. 2) RBS cocok diterapkan pada pemodelan variabel kebutuhan dan pemenuhannya.
B. Saran Untuk pengembangan lebih lanjut, dapat dilakukan inovasi sebagai berikut: 1) Menambahkan jumlah sensor dan memperbaiki rule yang menangani input dari sensor sehingga dapat memperbaiki kemampuan pathfinding agen. 2) Penambahan jumlah kebutuhan yang disimulasikan untuk meningkatkan realisme. 3) Penambahan unsur sifat pada agen sehingga dapat mempengaruhi cara agen menyikapi kebutuhannya. 4) Desain lingkungan simulasi yang berbeda, sehingga simulasi dapat digunakan untuk berbagai keperluan. 5) Desain visual dan animasi agen yang lebih banyak, untuk mendapatkan realisme visual. 6) Pengujian dilakukan dengan agen lebih dari satu.
DAFTAR P USTAKA [1] Dadova, J., and Ketterl, N., Crowd Simulation. Forschungsseminar aus Computergraphik und Digitaler Bildverarbeitung,2009. [2] Foudil, C., and Noureddine, D., Collision Avoidance in Crowd Simulation with Priority Rules. European Journal of Scientific ResearchVol.15 No.1 , pp.6-17, 2006. [3] Handbook of Virtual Humans. John Wiley and Sons, Ltd., 2004. [4] Pan, X., Han, Charles S., and Law, Kincho H., A Multi-Agent Based Simulation Framework For The Study of Human and Social Behavior in Egress Analysis. The International Conference on Computing in Civil Engineering, Cancun, Mexico, July 12-15, 2005. [5] Sung, M., Gleicher, M., and Chenney, S., Scalable behaviors for crowd simulation. The Eurographics Association and Blackwell Publishing, 2004. [6] Tantisiriwat, W., Sumleeon, A., and Kanongchaiyos, P., A Crowd Simulation Using Individual-Knowledge-Merge based Path Construction and Smoothed Particle Hydrodynamics. UNION Agency-Science Press, Plzen, Czech Republic, 2006. [7] Ton Roosendaal and Carsten Wartmann. Blender gamekit. Stichting Blender Foundation, 2002.
Cindy Nordiansyah dilahirkan di Surabaya pada tanggal 8 Pebruari 1987. penulis mengenyam pendidikan sekolah dasar pada tahun 1993-1999 di SDN Waru 1 Sidoarjo, melanjutkan ke SLTPN 1 Sidoarjo pada tahun 1999-2002, dan SMAN 1 Sidoarjo pada tahun 2002-2005. Penulis mulai menunjukkan ketertarikan pada bidang komputer saat berkuliah di Jurusan Teknik Elektro di Institut Teknologi Sepuluh Nopember Surabaya pada tahun 2005. Penulis mengambil bidang studi Teknik Komputer dan Telematika karena ketertarikan tersebut.