BAB I
Teknologi Game
Game/permainan adalah sesuatu yang sangat digemari oleh
anak-anak hingga orang dewasa. Game berarti “hiburan”. Permainan game juga
merujuk pada pengertian sebagai “kelincahan intelektual” (intellectual
playability). Sementara kata “game” bisa diartikan sebagai arena keputusan dan
aksi pemainnya. Ada target-target yang ingin dicapai pemainnya. Kelincahan
intelektual, pada tingkat tertentu, merupakan ukuran sejauh mana game itu
menarik untuk dimainkan secara maksimal.
Beberapa waktu lalu
istilah “game” yang dalam bahasa Indonesia adalah “permainan”
identik dengan anak-anak selaku pemain. Tentunya dalam permainan itu
suatu kegiatan yang dilakukan oleh anak-anak yang menurut mereka itu dapat
menyenangkan hati mereka. Segala bentuk kegiatan yang memerlukan pemikiran,
kelincahan intelektual dan pencapaian terhadap target tertentu dapat dikatakan
sebagai game. Tetapi yang akan dibahas pada kesempatan ini adalah game yang
terdapat di komputer, baik off line maupun online.
Saat ini perkembangan
games di komputer sangat cepat. Para pengelola industri game berlomba-lomba
untuk menciptakan game yang lebih nyata dan menarik untuk para pemainnya. Hal
inilah yang membuat perkembangan games di komputer sangat cepat. Sehingga games
bukan hanya sekedar permainan untuk mengisi waktu luang atau sekedar hobi.
Melainkan sebuah cara untuk meningkatkan kreatifitas dan tingkat intelektual
para penggunanya.
Aplikasi games dapat
dijalankan pada berbagai platform. Beberapa platform media yang bisa dijadikan
pilihan untuk advergames adalah :
1. Personal
Computer berupa aplikasi
games pada PC. Games ini dijalankan pada personal computer. Pada media Personal
Computer, durasi waktu penayangan adalah tidak terbatas, selama games tersebut
bagus dan mampu menghibur audience/pemain, maka selama itulah tingkat kemungkinan
untuk dilihat audience akan semakin tinggi. Pembuatan Games ini biasanya
menggunakan Language C++ / C#, membutuhkan waktu 3-6 bulan tergantung dengan
kompleksitas games tersebut.
2. Web Based Games. Yaitu aplikasi games yang diletakkan pada
server di internet dimana audience/pemain hanya perlu menggunakan akses
internet dan browser untuk mengakses games tersebut. Corporate yang memiliki
keinginan mengumpulkan komunitas internet dan sekaligus memperkenalkan
product/brandnya kepada komunitas Internet sangat cocok memilih media games
online internet ini. Pilihan ini banyak digunakan karena dapat meningkatkan
traffic pada suatu website Bila games yang dibutuhkan simple maka diperlukan
waktu pengembangan yang relative lebih singkat 1-2 bulan.
3. SmartPhones/PocketPC. Aplikasi games yang jalan pada mobile devices
bersistem operasi Windows Mobile 2003/2004 ataupun windows mobile 5.0. Product
yang memiliki target market status ekonomi A,B dan karakter pengusaha/
eksekutif muda sangat cocok apabila menggunakan media PocketPC/SmartPhones
sebagai bagian aktivitas kegiatan advertising. Games bertemakan strategi
ataupun simulasi bisnis pada umumnya lebih disukai oleh orang-orang golongan
ini. Waktu pengembangan biasanya memerlukan waktu 3-6 bulan tergantung dengan
kompleksitas games tersebut
4.CellPhones /
Mobile Phones. Aplikasi games
untuk cell-phones atau mobile phones sebenarnya bisa dimanfaatkan untuk
mendapatkan potensial pelanggan dengan golongan Status Ekonomi Responden A,B
dan C. Produk yang memiliki target golongan ABG, remaja, anak kuliah, eksekutif
muda sangat tepat menggunakan media ini, mengingat pada golongan inilah mereka
suka sekali mencoba dan mengeksplorasi features aplikasi yang tersedia pada
mobile/cellphones mereka. Mereka biasanya aktif mencari aplikasi bersifat fun
atau game yang dapat mengisi waktu senggang mereka. Waktu pengembangan untuk
membuat aplikasi pada devices ini relative lebih pendek yaitu 1-3 bulan
tergantung dengan kompleksitas games tersebut.
Bisnis Dalam Game Komputer
Di tengah maraknya game mobile, game berbasis
komputer PC masih akan mendominasi bisnis game digital secara
keseluruhan. Sementara itu, aneka teknologi baru akan memberi suntikan tenaga
baru untuk game konsol yang diramalkan segera tamat
riwayatnya.
Menurut data terbaru Juniper Research, bisnis game digital
diprediksi akan menyumbang pendapatan sebesar lebih dari USD 80 triliun tahun
ini, dan USD 104 triliun di tahun 2018.
Kontribusi terbesar akan datang dari game berbasis
komputer PC. Tahun ini saja, pendapatan dari game komputer PC menguasai
42% dari total pendapatan bisnis game digital.
Seperti diperkirakan, game berbasis
platform mobile terus
memperlihatkan peningkatan pendapatan. Tahun 2020 sektor ini akan berkontribusi
sekitar 35%, dengan pangsa pasar mendekati angka 32%. Pertumbuhan tersebut tak
lepas dari popularitas game berkategori freemiumyang
memungkinkan user melakukan in-app purchase di beberapa game,
seperti Clash of Clans, Candy Crush dan Game of War.
Bagaimana nasib game konsol? Umur game konsol
diramalkan tidak lama lagi, tapi ternyata jenis permainan ini masih meraih
pandapatan sebesar USD 21 triliun tahun ini dan USD 27 triliun di tahun 2018
nanti.
Melalui riset berjudul Worldwide Digital Games Market
2015-2020, Juniper menebarkan optimisme bahwa game konsol masih akan
berevolusi, padahal platformnya sendiri sudah memasuki generasi ke-8.
Menurut penulis riset Juniper,
Lauren Foye, “Seiring meningkatnya pembelian game secara digital oleh
konsumen, penjualan konsol generasi saat ini masih akan terdorong penjualannya.
Teknologi baru seperti Virtual Reality akan mendorong adopsi game konsol
oleh konsumen, dan game konsol terus berevolusi
menjadi bagian utama dari home entertainment centre.”
Integrasi lintas platform juga akan menjadi jalan bagi game konsol untuk terus eksis.
Microsoft akan membenamkan Windows 10 di Xbox One bulan November ini sehingga
pengguna dapat memainkan game di PC maupun konsol.
3D Engine dan Scene Graph
Di
dalam grafika komputer, 3D merupakan bentuk grafik yang menggunakan
representasi data geometri tiga dimensi. Grafik 3D ini tersimpan didalam
komputer untuk keperluan kalkulasi atau rendering gambar 3D. Pada 3D, engine
bukanlah exutable program, artinya engine tidak bisa dijalankan sebagai program
yang berdiri sendiri.
3D engine adalah sistem perangkat lunak yang dibuat dan dirancang untuk
menciptakan dan mengembangkan gambar 3D, fungsionalitas inti biasanya
disediakan oleh mesin permainan mencakup mesin render (renderer) untuk 2D/3D
grafis.
Berbeda dengan dukungan grafik 2D yang sudah built in, dukungan Java terhadap
grafik 3D diletakkan ke dalam API terpisah, yakni Java3D. Java3D merupakan API
3D berbasis scene graph di platform Java, dimana scene graph merupakan sebuah
pohon yang berisi hierarki data scene. Di dalam api Java3D didefinisikan
sejumlah kelas dan interface yang menyediakan beragam operasi grafik 3D.
Konsep scene graph merupakan inti dari Java3D. Sebuah scene graph merupakan g
rafik yang mempresentasikan geometri, material, dan pencahayaan. Scene graph
dimulai dari root dengan sebuah Virtual Universe dan mencakup transformasi
serta geometri untuk mendefinisikan objek di dunia maya. Secara garis besar,
ada tiga tahap fundamental yang diperlukan untuk menghasilkan objek 3D, yaitu:
1.
Menciptakan
objek Canvas3D
2.
Menciptakan
sebuah scene graph
3.
Menghubungkan
objek Canvas3D ke objek BranchGroup yang menunjuk root dari scene graph
·
Ogre
3D
Objected-Oriented Graphics
Rendering Engine atau bisa disingkat dengan OGRE merupakan engine yang object
oriented & flexible 3D rendering pada game engine yang ditulis dengan
menggunakan bahasa C++ serta didesain agar mampu men-developer dengan mudah
kepada aplikasi produksi dengan menggunakan utility hardware-accelerated 3D
graphic. Gambaran abstraknya OGRE menggunakan sistem library seperti Direct3D
& OpenGL, serta menyediakan sebuah dasar interface di dunia objek dan class
objek yang lebih tinggi.
OGRE
hanya digunakan untuk me-render. Dengan kata lain, fitur OGRE hanya khusus
menangani vector & matOix classes, memory handling, dan lain lain. Ini
bukan lah salah satu dari semua solusi dalam istilah game development/simulasi.
OGRE tidak menyediakan audio/physics support.
Walaupun
penjelasan diatas bisa dikatakan sebagai kelemahan dari OGRE itu sendiri, akan
tetapi semua itu sebanding dengan kemampuan grafis yang ada pada game engine
tersebut. Kelebihan yang paling menonjol pada OGRE adalah graphics engine yang
bisa memberikan para developer sebuah kebebasan untuk menggunakan physics
apapun, input, audio, & library lainnya. OGRE memberikan para tim
development untuk fokus pada graphics daripada beberapa sistem-sistem yang ada
dalam game development. OGRE dapat mendupport OIS, SDL, CEGUI libraries.
Sekarang ini OGRE adalah publish dibawah dua lisensi, yaitu LGPL & OUL.
Maka sekarang ini para publish tersebut membuka OGRE sebagai free/open source
software.
Fitur-fitur pada OGRE:
1.
Desain
yang object-oriented dengan menggunakan plugin untuk mempermudah memasukkan
fitur lainnya
2.
Engine
berbasis scane graph dengan bantuan untuk sebuah varietas yang luas, octree,
BSP, & paging landscape scene manager
3.
Multi-platform
dengan dukungan OpenGL & Direct 3D. Bisa me-render konten yang sama di beda
platform tanpa harus mempunyai content creator. dapat diakses pada platform
Linux, Mac OS, dan semua versi Windows
4.
OGRE
mendukung program vertex dan fragment selama ditulis dengan GLSH, HLSL, Cg, dan
assembler
5.
The
landscape scene manager untuk progressive LOD, yang mana bisa dibuat secara
otomatis dan manual
6.
Engine
annimasi yang men-support penuh untuk multiple hardware
·
Processing
Processing adalah
bahasa pemrograman dan lingkungan pemrograman yang bersifat open source yang
digunakan untuk memprogram gambar, animasi, dan interaksi. Processing digunakan
untuk mengajarkan dasar-dasar pemrograman komputer dalam konteks rupa dan berfungsi
sebagai buku sketsa perangkat lunak dan alat produksi profesional. Processing
mengintegrasikan suatu bahasa pemrograman, lingkungan pemrograman, dan
metodologi pengajaran ke dalam sistem terpadu.
Processing merupakan suatu projek yang dinisiasi oleh Ben
fry dan casey reas. Berkembang dari ide-ide yang dieksplorasi di Aesthetics and
Computation Group (ACG) di Mit Media Lab. Projek ini kini terus diperbaiki dan
dikelola oleh sejumlah Tim Voluntir.
·
Game
Maker
Game Maker adalah
software yang bisa membantu anda menjadi pengembang game komputer tanpa
menggunakan coding sedikitpun. Dapat digunakan untuk membuat 3 dimensi dan
Multiplayer. Game Maker dapat menjadikan hak penuh dari software (game) yang
anda buat termasuk dapat menjual game tersebut, bahkan bisa mendownload musik,
efek suara, gambar, script, serta background.
·
Unity
3D
Unity 3D adalah
sebuah game developing software. Dengan software ini, kita bisa membuat game 3D
yang seru. Game developer ini sangat mudah digunakan, dengan GUI yang
memudahkan kita untuk membuat derta mengedit script untuk menciptakan sebuah
game 3D. Selain bisa untuk build game PC, Unity juga dapat digunakan untuk
membangun game console seperti Nintendo Wii, PS3, Xbox 360, juga Ipad, Iphone,
dan Android. Namun masing-masing membutuhkan biaya lisensinya sendiri. Unity
kurang lebih sama dengan Blender game engine, namun unity lebih ringan dan
diintegrasi lebih dalam suasana grafik.
Kelebihan Unity terdapat pada multiple platform, artinya
banyak platform yang disupport oleh unity, seperti Windows, Mac, iPhone, iPad,
Android, Nintendo Wii, dan juga browser. Untuk browser, kita memerlukan sebuah
plug-in, yaitu Unity Web player, sama halnya dengan Flash Player pada browser.
Pada unity, kita tidak bisa melakukan desain/modelling dikarenakan unity bukan
tool untuk mendesain. Jadi jika kita ingin mendesain, dibutuhkan 3D editor lain
seperti 3Dsmax atau Blender, kemudian kita export menjadi format .fbx.
BAB II
Desain Skenario
Desain skenario pada sebuah game sama halnya dengan desain
skenario pada sebuah film. Jika pada sebuah film terdapat sutradara namun
pada game terdapat perancang game, mengapa dibutuhkan sutradara pada sebuah
film? Jawabannya adalah karena pada sebuah film membutuhkan skenario dan adegan
yang setiap pemain memiliki ciri khas masing-masing. Jadi dibutuhkannya
perancang game dalam suatu desain game ialah untuk memberikan ide dalam
pembuatan skenario serta adegan yang terdapat di setiap karakter dalam sebuah
game. Selain itu karakter pada sebuah game pasti memiliki ciri khas yang tidak
dimilki oleh karakter lain.
Pada sebuah game untuk menggambarkan bagaimana game tersebut akan
dibuat dinamakan GDD( Game Design Document). GDD tersebut merupakan acuan yang
digunakan oleh para anggota tim pengembang dalam pembuatan game. Hal itu sesuai
dengan pendapat yang dikemukakan oleh Bob Gates (2004), “pembuatan game akan
dimulai dari pembuatan game desain dokumen. Game desain dokumen digunakan untuk
menjadi landasan pengembangan game tersebut, dan untuk menarik minat pembaca
serta menginformasikan gambaran keseluruhan game yang akan dibuat kepada tim
pengembang”.
GDD bisa dikatakan sebagai living document, yang berarti perubahan
bisa dilakukan sesuai dengan kebutuhan baru. Akan tetapi jika terlalu sering
melakukan perubahan akan menyebabkan implementasi pada sebuah game akan
terganggu. Dengan adanya game desain dokumen yang detail akan mampu memberikan
gambaran lengkap bagi seluruh tim sehingga proses pengembangan game lebih
efektif dan efisien.
Pada penjelasan barusan sudah menyinggung mengenai perancang game,
terdapat empat bagian pada saat perancangan game yakni:
Pemimpin Desainer
Orang yang menggerakan konsep game tersebut menjadi lebih menarik dan
membuat game tersebut memiliki nilai artistik didalamnya.
2. Game Mechanic Designer
Orang yang membuat suatu aturan pada
sebuah permainan, sehinggan permainan tersebut tidak berat sebelah atau bisa
dikatakan seimbang.
3. Tingkat
Desainer atau Lingkungan Desainer
Orang yang bertanggung jawab dalam
membuat lingkungan permainan, agar pada sebuah game menjadi lebih real.
4. Writter
Seseorang yang bertanggung jawab
dalam membentuk suatu narasi dalam game. Dimulai dari alur cerita, hingga
apa saja yang harus dilakukan pemain pada saat memainkan game tersebut. Oleh
karena itu penulis harus bekerja sama dengan desainer utama dalam pembuatan
skenario game.
Jadi yang dimaksud desain
skenario pada sebuah game adalah suatu perancangan dalam membangun sebuah
skenario yang didalamnya terdapat gameplay, karakter atau tokoh,
lingkungan. Ketiga unsur tersebutlah yang digunakan selama tahap memproduksi
sebuah desain pada game komputer.
Script
Sebelum kita bahas lebih jauh mengenai game
script apa kalian tahu pengertian dari script? Bahasa script merupakan suatu
bahasa pemrograman komputer yang diterjemahkan secara khas dan dapat diketik
secara lansung dari keyboard.
Script sendiri dibedakan dari
program, mengapa dari program? Jawabannya adalah karena program dikonversi atau
diubah ke dalam file yang berseifat executable berbasis biner (0 atau 1)
sebelum script tersebut dijalankan. Ketika script dijalankan tidak akan merubah
isi didalamnya dan menterjemahkan setiap instruksi yang dilaksanakan. Script
sendiri digunakan untuk mempersingkat proses pada saat kompilasi sampai pada
akhirnya dijalankan.
Game script sendiri berfungsi
untuk mendokumentasikan rules dan core-mechanics pada sebuah game. Fungsinya
adalah untuk membuat suatu aturan yang mendetail pada sebuah game dan agar kita
bisa mengetahui cara memainkan game tersebut.
Pada saat pemilihan bahasa
pemrograman yang digunakan untuk membuat suatu game perlu diperhatikan beberapa
syarat berikut ini:
a. Speed
Bahasa script untuk sebuah game harus memiliki kemampuan berjalan secepat
mungkin. Mengapa dibutuhkan speed pada sebuah script game? Jawabannya adalah
karena ketika kita akan membuat suatu game dengan suatu level, pasti secara
logikanya suatu perilaku karakter dan rintangan yang terdapat didalamnya akan
berbeda. Jika, kita menggunakan bahasa script yang lambat, maka akan memakan
waktu yang cukup lama untuk membuatnya.
b. Kompilasi dan Interpretasi
Bahasa script jika ditinjau secara luas diinterpretasikan melalui susunan
suatu rangakaian byte. Interpreter akan melihat script setiap baris, serta
penyusunan sesuai maksud dari script itu sendiri dan melakukan tindakan yang
spesifik. Suatu byte akan terkompilasi, dan akan dikonversi atau diubah
dari teks menjadi suatu byte code. Byte code biasanya lebih padat jika
dibandingkan dengan format teks, mengapa disebut lebih padat? Jawabannya adalah
karena kode byte dalam suatu format akan lebih optimal ketika dieksekusi,
sehingga dapat berjalan lebih cepat.
c. Ekstensibilitas dan Integrasi
Bahasa script sangat dianjurkan mempunyai akses ke fungsi yang signifikan
ke dalam sebuah game. Sebuah script untuk mengendalikan sebuah karakter
misalnya, harus dapat memiliki kemampuan untuk menanyai game untuk mencari tahu
apa y ang bisa dilihat dan selanjutnya membiarkan game mengerti apa yang harus
dilakukan untuk melakukan aksinya. Kumpulan fungsi yang dibutuhkan untuk
mengakses sangat jarang diketahui ketika bahasa script telah diimplementasikan.
Oleh karena itu, hal ini penting untuk memiliki sebuah bahasa yang dapat dengan
mudah memanggil fungsi atau menggunakan kelas main code dalam sebuah game.
d. Re-Entrancy
Fungsi ini sering berguna untuk memanggil script secara ulang sehingga
bisa digunakan kembali. Selain itu fungsi ini dapat berjalan untuk sementara
waktu, dan ketika waktu telah habis maka script bisa ditunda. Dan jika script
selanjutnya memiliki waktu lagi, maka akan menjalankan kembali script yang
telah ditunda sebelumnya.
Storyboard
Storyboard merupakan suatu sketsa gambar yang disusun secara
berurutan yang sesuai dengan naskah yang ada. Dengan adanya storyboard ini,
kita dapat menyampaikan ide cerita kepada orang lain dengan lebih mudah.
Mengapa dikatakan lebih mudah ketika menyampaikan ide menggunakan storyboard?
Jawabannya adalah karena dengan menggunakan suatu gambar secara berurut orang
akan berkhayal dengan mengikuti gambar yang telah disajikan sedemikian rupa,
sehingga menghasilkan persepsi yang sama sesuai dengan ide cerita yang kita
buat.
Namun, untuk storyboard pada game akan memperlihatkan suatu
gambaran yang berurutan yang menunjukkan level pada setiap game, menggambarkan
adegan disetiap kejadian berbeda dan memiliki goal/mission yang dibuat pada
game itu sendiri. Storyboard pada game juga mejelaskan alur cerita yang
dimiliki oleh game tersebut tapi itu semua tergantung dari genre game itu
sendiri. Disini saya akan mengambil sebuah contoh game ber-genre arcade yang
lebih memfokuskan pada perolehan point, sehingga tidak memiliki alur cerita.
Sehingga, storyboard pada game arcade tersebut adalah bagaimana player dapat
mengumpulkan nilai/point setinggi mungkin untuk bisa memenangkan game tersebut.
BAB III
Artificial Intelligence dalam Game
Salah satu
unsur yang berperan penting dalam sebuah game adalah kecerdasan buatan. Dengan
kecerdasan buatan, elemen-elemen dalam game dapat berperilaku sealami mungkin
layaknya manusia.
Game AI adalah aplikasi untuk memodelkan karakter yang terlibat dalam
permainan baik sebagai lawan, ataupun karakter pendukung yang merupakan bagian
dari permainan tetapi tidak ikut bermain (NPC = Non Playable Character).
Peranan kecerdasan buatan dalam hal interaksi pemain dengan permainan adalah
pada penggunaan interaksi yang bersifat alami yaitu yang biasa digunakan
menusia untuk berinteraksi dengan sesama manusia. Contoh media interaksi ialah:
·
Penglihatan
(vision)
·
Suara
(voice), ucapan (speech)
·
Gerakan anggota
badan ( gesture)
Untuk pembentukan Artificial Intelligence pada game ternyata digunakan pula
algoritma, yaitu jenis pohon n-ary untuk suatu struktur. Implementasi pohon
(tree) ini biasa disebut game tree. Berdasarkan game tree inilah sebuah game disusun
algoritma kecerdasan buatannya. Artificial intellegence yang disematkan dalam
sebuah game yang membentuk analisis game tree biasanya merepresentasikan
kondisi atau posisi permainan dari game sebagai suatu node, dan
merepresentasikan langkah yang mungkin dilakukan sebagai sisi berarah yang
menghubungkan node kondisi tersebut ke anak (child) sebagaimana representasi
suatu pohon (tree).
Namun, biasanya representasi langsung tersebut mempunyai kelemahan, yaitu
representasi data pohon akan menjadi sangat lebar dan banyak. Mungkin bagi
sebuah mesin komputer mampu melakukan kalkulasi sebanyak apapun masalah, namun
game tree yang lebar dan besar memberikan beberapa masalah, antara lain
konsumsi proses memori, kapasitas penyimpanan yang cukup besar dan kinerja yang
kurang pada konsol game berspesifikasi rendah. Karena itu dibentuklah beberapa
algoritma dan penyederhanaan bagi sebuah game tree.
Pada salah satu contoh game klasik, yaitu tic tac toe, penyederhanaan dapat
dilakukan dengan berbagai metode. Salah satu diantaranya adalah minimax. Metode
ini berhasil diterapkan dan memberikan nilai reduksi yang cukup signifikan. Dan
tidak hanya bisa digunakan secara monoton, minimax juga bisa digunakan untuk
game-game yang lebih rumit seperti catur, tentunya dengan algoritma dan
representasi berbeda.
Minimax yang merupakan salah satu metode penerapan (implementasi) pohon
n-ary pada suatu game, menandakan bahwa implementasi struktur (pohon khusunya)
sangatlah diperlukan pada pembuatan dan penerapan Artificial Intelligence, dan
tidak menutup kemungkinan ilmu dan metode baru yang lebih canggih akan
ditemukan di masa depan.
A. Decision
Making
Decision
Making merupakan serangkaian algoritma yang dirancang sedemikian rupa dengan
cara memasukkan beberapa kemungkinan langkah yang bisa diambil oleh suatu
aplikasi. Decision Making pada game memberikan kemampuan suatu karakter untuk
menentukan langkah apa yang akan diambil. Cara kerja dari Decision Making
adalah dengan menentukan satu pilihan diantara banyak list yang telah dibuat
pada algoritma yang dirancang.
Decision Making sendiri terbagi menjadi 3 bagian yakni :
1. Decision Tree
Decision
Tree atau biasa disebut pohon keputusan merupakan metode klasifikasi dan
prediksi yang sangat kuat dan terkenal. Metode pohon keputusan mengubah fakta
yang sangat besar menjadi pohon keputusan yang mempresentasikan aturam.
Aturannya dapat dengan mudah dipahami dengan bahasa yang alami. Aturan ini juga
dapat diekspresikan dalam bentuk bahasa basis data seperti SQL untuk mencari
record pada kategori tertentu. Selain itu, pohon keputusan juga berguna untuk
mengeksplorasi data, menemukan hubungan tersembunyi antara sejumlah calon
variabel input dengan sebuah variabel target. Karena pohon keputusan memadukan
antara eksplorasi data dan pemodelan, pohon keputusan ini sangat bagus sebagai
langkah awal dalam proses pemodelan bahkan ketika dijadikan sebagai model akhir
dari beberapa teknik lain (J R Quinlan, 1993).
2. State Machine
FSM(Finite
State Machines) merupakan sebuah metodologi perancangan sistem kontrol yang
menggambarkan tingkah laku atau prinsip kerja sistem dengan menggunakan tiga
hal berikut :
§
State(Keadaan)
§
Event(Kejadian)
§
Action(Aksi)
Pada
suatu saat ketika periode waktu yang cukup signifikan, sistem akan berada pada
salah state yang aktif. Kemudian sistem dapat beralih atau bertransisi menuju
state yang lain jika mendapatkan suatu masukan atau event tertentu, baik yang
berasal dari perangkat luar ataupun komponen dalam sistemnya itu sendiri.
Transisi keadaan ini biasanya disertai oleh aksi yang dilakukan oleh sistem
ketika menanggapi masukan. Aksi yang dilakukan dapat berupa aksi yang sederhana
atau bisa melibatkan rangkaian proses yang relative kompleks.
3. Rule System
Rule
Based System merupakan metode pengambilan keputusan yang berdasarkan pada
aturan-aturan tertentu yang telah ditetapkan. RBS dapat diterapkan pada agen
virtual dalam bentuk kecerdasan buatan sehingga dapat melakukan tindakan
tertentu. Tindakan tersebut dipresentasikan oleh set aturan yaitu penyebab,
proses dan hasil dari tindakan yang dilakukan.
RBS
merupakan sistem yang baik jika menjawab pertanyan mengenai What(Apa), How(Bagaimana),
dan Why(Mengapa) dari Rule Base(RB) selama proses inferensia. Jawaban serta
penjelasannya dapat disediakan dengan baik.
B. Path
Finding
Metode Path Finding seringkali dijumpai pada game yang
bergenre strategi,
dimana kita sebagai user menunjuk satu karakter untuk digerakkan ke lokasi
tertentu dengan cara mengklik lokasi yang akan dituju. Maka, si karakter
tersebut akan bergerak ke arah yang telah ditentukan, dan secara “cerdas” dapat
menemukan jaur terpendek ataupun menghindari rintangan yang ada.
Metode
pada Path Finding terbagi menjadi 4 bagian yakni:
1. Waypoints
Merupakan
titik acuan/kumpulan koordinat yang digunakan untuk keperluan navigasi. Maksud
dari keperluan navigasi disini adalah mengidentifikasi sebuah titik dipeta.
Disetiap koordinat biasanya menyertakan longitude, latitude, dan terkadang
altitude untuk keperluan navigasi di udara.
2. A* Searching
Algoritma
A* merupakan yang sering digunakan pada game yang menggunakan metode
pathfinding. Algoritma ini dipilih karena A* sangat mudah untuk
diimplementasikan dan sangat efisien. Dengan menggunakan algoritma A* kita
dapat menentukan jalur terpendek. Pada algotitma ini akan menyeleksi dengan
cara membuang langkah yang tidak perlu dengan mempertimbangkan bahwa langkah
yang dibuang dipastikan tidak mencapai solusi yang diinginkan.
Prinsip dari algoritma ini yaitu dengan cara mencari jalur terpendek
dari sebuah simpul awal (Starting Point) menuju ke simpul tujuan dengan
memperhatikan harga (F) terkecil. Algoritma A* akan memperhitungkan cost dari current state ke
tujuan dengan fungsi heuristic, selain itu algoritma ini juga mempertimbangkan cost yang
telah ditempuh selama ini dari initial state ke current state. Jadi maksudnya
jika jalan yang telah ditempuh terlalu panjang dan ada jalan lain yang cost nya lebih
kecil tetapi memberikan posisi yang sama jika dilihat dari goal, maka
jalan yang lebih pendeklah yang akan dipilih.
3. Dijkstra
Algoritma Dijkstra yang dinamai penemunya yakni seorang ilmuwan komputer,
Edsger Dijkstra merupakan sebuah algoritma yang rakus atau biasa dikenal dengan
algoritma greedy. Algoritma
ini biasa dipakai dalam memecahkan permasalahan jarak terpendek (shortest path problem) untuk
sebuah graf berarah (directed graph) dengan bobot-bobot sisi (edge weights) yang
bernlai positif.
4. Tactical Pathfinding
Tactical Pathfinding merupakan algoritma pencarian jalur yang bisa
melakukan pencarian jalur terpendek dengan menghitung bobot ancaman.
Implementasi algoritma ini dapat memberikan gerakan taktis pada non-player character.
Algoritma ini dilakukan berdasarkan algoritma pencarian jalur A* yang ditambah
dengan perhitungan bobot.
Referensi :
BAB 1
https://witanduty.wordpress.com/6/
https://infokomputer.grid.id/2015/10/berita/berita-reguler/game-pc-masih-mendominasi/
http://dinyfr.blogspot.co.id/2013/10/3d-engine-dan-scene-graph_20.html
BAB 2
https://septianbudiuntoro.wordpress.com/2016/03/12/konsep-pembuatan-script-game-komputer/
BAB 3
https://setiyanugroho.wordpress.com/2011/04/12/kecerdasan-buatan-dalam-game/
https://septianbudiuntoro.wordpress.com/2016/04/19/artificial-intelligence/







0 komentar:
Posting Komentar