Tuesday, April 19, 2016

#PETGAME - Rancangan Mesin Parkir Futuristik


Pada pembahasan kali ini saya akan menjelaskan bagaimana perancangan mesin parkir futuristik. Saat ini di indonesia ini sendiri hanya menggunakan mesin parkir yang dilayani oleh pegawai atau otomatis untuk memasuki sebuah parkiran.

Saya ingin menyampaikan suatu mesin parkir yang simple dan nyaman.







Pada gambar tersebut contoh pada mesin parkir yang menggunakan sensor. Sensor tersebut dapat mengenal secara fisik kendaraan, nomor kendaraan. Sensor tersebut berada pada tiap sudut pintu masuk menuju parkir. Setelah berhasil untuk memasuki parkiran  mesin pada sebelah kanan akan menunjukkan nomor parkir yang maksudnya nomor parkir tersebut sudah ditentukan pada parkiran kosong sehingga para pengemudi tidak susah payah untuk mencari tempat untuk memarkirkan kendaraannya. Lalu pintu parkir akan terbuka dengan sendirinya jika sudah mendapatkan nomor parkir tersebut.

Nomor parkir dapat dilihat dari peta parkir dimana letak pojok kiri atas mengurutkan dari nomor parkir 1 sampai 5 berikut juga letak pada sebelah kanan yang bernomor parkir dari 6 - 10. Dilanjutkan dari kiri ke kanan dengan nomor parkir yang sama dari nomor urut 11 - 20.




Continue Reading...

#PETGAME – Konsep Artificial Intelligence (AI) / Kecerdasan Buatan



Deskripsi umum Artificial Intelligence
Artificial Intelligence atau kecerdasan buatan adalah bagian dari ilmu komputer yang digunakan untuk kajian bagaimana membuat mesin yang memecahkan masalah dengan cara seperti apa yang dilakukan manusia, yaitu memerlukan kecerdasan tersebut. Kemampuan dari komputer digital atau robot dikendalikan komputer untuk menjalankan perintah – perintah.

Setelah populernya kecerdasan buatan karena pengetahuan yang terbatas, bahwa sebuah komputer dapat berpikir layaknya manusia.

Implementasi kecerdasan buatan terdapat pada bidang:
-          Visualisasi komputer
-          Pengenalan Suara
-          System Pakar
-          Permainan

Kecerdasan buatan dapat dikelompokkan menjadi 4, yaitu:
-          Berpikir seperti layaknya manusia
-          Berpikir secara rasional
-          Berperilaku seperti manusia
-          Berperilaku secara rasional

Tetapi kecerdasan buatan ada kekurangan dan kelebihan , diantaranya:
Kelebihan
-          Bersifat permanen.
-          Mudah untuk dicopy.
-          Bersifat konsisten
-          Mengerjakan pekerjaan dengan aturan
Kekurangan
-          Akan cepat rusak
-          Pembuatannya sangat mahal
-          Memerlukan daya listrik
-          Strukturnya tidak berpengetahuan

Decision Making
Decision Tree
Decision Tree atau pohon keputusan diagram alir yang berbentuk seperti struktur pohon yang mana setiap internal node menyatakan pengujian terhadap suatu atribut, setiap cabang menyatakan output dari leaf node atau distribusi kelas. Decision tree digunakan untuk pengklarifikasi sampel data yang belum diketahui kelasnya.

Kelebihan  pohon  keputusan adalah:
-          Pengambilan keputusan yang sebelumnya kompleks dan  dapat diubahnya sangat mudah.
-          Eliminasi perhitungan tidak diperluka, karena menggunakan metode pohon keputusan berdasarkan kriteria atau kelas tertentu.
-          Memilih fitur dari node yang berbeda, fitur yang terpilih akan membedakan kriteria.

Kekurangan pohon keputusan adalah:
-          Terjadi overlap digunakan jumlahnya sangat banyak. Hal ini menyebabkan peningkatan waktu pengambilan keputusan.
-          Desain pohon keputusan sangat sulit.
-          Hasil kualitas sangat tergantung pada bagian pohon yang didesain.

Pada pohon keputusan ini mempunyai notasi – notasi yaitu:
a.      

Lingkaran  digunakan  untuk  membuat cabang – cabang.












Persegi panjang digunakan untuk simpul keputusan.











Contoh pohon keputusan:






Finite State Machine
Finite State Machine adalah metodologi perancangan sistem kontrol yang menggambarkan tingkah laku atau prinsip kerja sistem dengan menggunakan tiga hal berikut: State (Keadaan), Event (kejadian) dan Action (aksi). Pada satu saat dalam periode waktu yang cukup signifikan, sistem akan berada pada salah satu state yang aktif. Sistem dapat beralih atau bertransisi menuju state lain jika mendapatkan masukan atau event tertentu, baik yang berasal dari perangkat luar atau komponen dalam sistemnya itu sendiri.

 Finite State Machine di dunia AI Game Programming, merupakan salah satu teknik yang paling sering digunakan. Alasannya yaitu:
1. Implementasinya mudah dan cepat
2. Memudahkan proses debugging. Karena telah dipecah menjadi kepingan yang lebih kecil, proses debugging kalau terjadi behavoiur yang tidak semestinya, menjadi lebih mudah
3. Proses komputasi yg minimal, karena sejatinya FSM hanyalah conditional statement yang dikemas dalam bentuk yang lebih elegan.
4. Fleksibel, dapat dikombinasikan dengan teknik AI lain misalnya fuzzy logic dan neural network.


Kekurangannya:
1. Behaviour dari agen mudah diprediksi, karena tidak ada searching dan atau learning di dalam agen tersebut
2. Karena mudah diimplementasi, kadang programmer langsung tembak di eksekusi tanpa melakukan desain FSM terlbih dahulu. Biasanya akan terjadi FSM yang terfragmentasi
3. Timbul apa yang dinamakan dengan State Oscillation yaitu ketika batasan antara dua buah state terlalu tipis.




Pathfinding
Pencarian jalur atau pathfinding adalah proses pencarian rute/jalur (biasanya rute terdekat) dari suatu arena yang pada umumnya memiliki penghalang-penghalang dari arena tersebut. Adapun penghalang dapat berupa tembok, sungai, dsb. Goal dari pathfinding ini pada umumnya adalah untuk mencari jalur paling efisien dengan sebisa mungkin menghindari penghalang yang ada.
Pathfinding dapat diterapkan misalnya dalam membuat AI dari suatu game, misalnya agar AI tersebut dapat mengejar musuh secara efisien dan tanpa menabrak tembok atau menghindari penghalang lain. 

Tactical Pathfinding merupakan salah satu algoritma pencarian jalur yang dapat melakukan pencarian jalur terpendek dengan perhitungan bobot ancaman. Implementasi algoritma tactical pathfinding dapat memberikan gerakan taktis pada non-player character. Algoritma tactical pathfinding dilakukan berdasarkan algoritma pencarian jalur berdasarkan A* ditambah perhitungan bobot.

Waypoint
Waypoint merupakan titik kumpul untuk keperluan navigasi yang berguna menidentifikasi pada navigasi pergerakan. Dalam sebuah game pergerakan NPC umumnya digunakan titik arah antara titik koordinat yang satu dan yang lain untuk menciptakan game.

Gambar tanpa menggunakan waypoint

Gambar menggunakan waypoint



Dari gambar yang kedua dapat terlihat 29 titik kordinat dari satu ke yang lain saling  berhubungan, yang merupakan rute dari NPC untuk melakukan patroli untuk menemukan dan menyerang karakter player, dimana NPC akan terus melintas dari satu titik ke titik selanjutnya.

Cara NPC menentukan titik arah dapat dilakukan dengan menggunakan graph waypoint   untuk menentukan keputusan yang baik tentang bagaimana menempatkan titik arah, cara mengatur radius, bagaimana memahami ketika hal-hal yang mungkin tidak berperilaku sesuai dengan yang di harapkan. Ketika NPC akan memutuskan tujuan yang mana akan dituju  peta permainan, maka NPC akan terlebih dahulu melakukan pemeriksaan mana waypoint terdekat untuk NPC, dan kemudian NPC akan berjalan menuju waypoint tersebut, dengan menghindari jalur penghalang. NPC tidak  dapat  berjalan  dengan  baik  atau  sempurna jika letak waypoint terdapat  di  tempat  yang  tidak  memungkinkan  dalam  fisik  permainan seperti penghalang.




Sumber:


Continue Reading...

#PETGAME - KONSEP PEMBUATAN SCRIPT GAME

Pada postingan kali ini akan membahas konsep pembuatan script game, pada konsep ini terdapat 3 hal pokok yaitu desain skenario, script dan storyboard. Sebelum kita membahas lebih dalam kita mengenal dahulu untuk konsep script membuat game.


Untuk mengetahui lebih lanjut dengan pembahasan kali ini, pengertian script bahasa yang digunakan untuk menerjemahkan setiap perintah dalam situs yang pada saat di akses.  Sebuah skrip pemrograman adalah kode yang dapat meningkatkan fungsionalitas dari sebuah situs web. Semakin banyak script yang digunakan maka akan terlihat semakin menarik, dan interaktif serta terlihat lebih bagus (biasanya loadnya lama) . Bahasa dasar yang di pakai setiap situs adalah HTM macam-macam script, PHP, ASP, JSP, Java Script, Java Applets, VBScript.

Kemudian saat membuat script pada game terdapat 3 hal pokok yaitu:
1.      Skenario


Skenario adalah sebuah  cerita khusus untuk melatarbelakangi kejadian – kejadian dalam game,  rancangan awal pada membuat game dengan menggunakan skenario game  akan menentukan tahap – tahap membuat game. Skenario dapat menentukan interior dan eksterior, dekor, pemain, studio serta menentukan program game, grafik, animasi dan suara.
Skenario sangat penting digunakan dalam  merancang sebuah game, serta game akan tertata rapih. Tanpa menggunakan skenario game tidak akan sesuai aturan atau acak – acakan.  

2.      Script



Secara umum script adalah naskah skenario. Kata scenario lebih cocok apabila menggambarkan pengertian script pada umumnya. Script terdapat juga pada  bahasa pemrograman yang menyediakan untuk menerjemaahkan dan kompilasi kode. Script itu sendiri mempunyai tingkat kesulitan yang lebih rendah, tanpa aplikasi hasil kompilasi interpreter, digunakan oleh bahasa pemrograman yang lebih komplek. Contohnya menyisipkan assembly ke dalam program pascal untuk mengakses hardware pada tingkat bahasa yang rendah.
Untuk menerjemaah skrip tersebut tidak perlu suatu compiler khusus yang komplit, hanya membutuhkan compiler khusus saja. Dalam pengaksesan halaman web skrip diakses melalui browser di internet, sedangkan bahasa pemrograman diaksses dengan membuka file / program aplikasinya.



3.      Storyboard Game

Dalam membangun sebuah aplikasi langkah pertama yang akan dirancang adalah storyboard. Storyboard adalah rancangan gambar yang tersusun sesuai skenario. Dengan menggunakan storyboard kita dapat merancang imajinasi dan membuat orang menarik sehingga menghasilkan peresepsi yang bagus.
Storyboard tersebut terdapat goal / mission yang akan dibuat pada alur game itu sendiri seperti apa tergantung dari masing – masing jenis gamenya. Jika game tersebut menggunakan genre arcade maka alur cerita tersebut berfokus untuk mendapatkan nilai setinggi mungkin.

Istilah “Storyboard” telah digunakan dibidang pengembangan web, pengembangan perangkat lunak dan perancangan instruksi untuk mempresentasikan dan menjelaskan kejadian interaktif seperti suara dan gerakan biasanya pada antarmuka pengguna, halaman elektronik dan layar presentasi. Sebuah Storyboard media interaktif dapat digunakan dalam antarmuka grafik pengguna untuk rancangan rencana desain sebuah website atau proyek interaktif sebagaimana alat visual untuk perencanaan isi.

Sebaliknya, sebuah site map (peta) atau flow chart (diagram alur) dapat lebih bagus digunakan untuk merencanakan arsitektur informasi, navigasi, links, organisasi dan pengalaman pengguna, terutama urutan kejadian yang susah diramalkan atau pertukaran audiovisual kejadian menjadi kepentingan desain yang belum menyeluruh.
Salah satu keuntungan menggunakan Storyboard adalah dapat membuat pengguna untuk mengalami perubahan dalam alur cerita untuk memicu reaksi atau ketertarikan yang lebih dalam. Kilas balik, secara cepat menjadi hasil dari pengaturan Storyboard secara kronologis untuk membangun rasa penasaran dan ketertarikan.

Continue Reading...

Followers

Follow The Author