PERANCANGAN FRAMEWORK REAL TIME STRATEGY GAMES
Ratno Kustiawan1, Kusrini2, Hanif al Fatta3
1Mahasiswa Program S2 Magister Teknik Informatika STMIK AMIKOM Yogyakarta 2,3Dosen Pembimbing Program S2 Magister Teknik Informatika STMIK AMIKOM Yogyakarta
Jl. Ring Road Utara Condong Catur Depok Sleman Yogyakarta (0274) 884201-884204
E-mail : [email protected] 1), [email protected]2) , [email protected] 3)
ABSTRACT
The development of information about Real Time Strategy game for this time to be a close source. It is difficult for game developers to explore the information source code itself. Some research has emerged one of the Sindre Berg entitled Artificial Intelligence Techniques in Real Time strategy, artificial intelligence is used to search for ideas, but the result is still using the framework research is still using the framework are already available, or not build a new framework. Therefore, the authors are interested in the theme of the development of a strategy type game frame work. Research in the development of the framework Real Time Strategy games are considered beneficial because if the research is successful in producing a framework that will facilitate the development of Real Time Strategy game. The research method used is Research and Development. Because this method describes the application of artificial intelligence in real-time strategy game, and prove whether artificial intelligence can work well on game strategy. This research has resulted in a framework that will facilitate the creation of type Real Time Strategy game, for this kind of game Real Time Strategy is quite difficult due to the high level of complexity. In addition to increase knowledge about the use of artificial intelligence, especially in a game, so it will attract interest in research on artificial intelligence in the game.
Keywords: Real Time Strategy Game, Game, Framework, , Artificial Intelligence
ABSTRAK
Perkembangan informasi mengenai game Real Time Strategi selama ini bersifat close source. Hal ini mempersulit para developer game untuk menggali informasi source code itu sendiri. Beberapa riset yang telah muncul salah satunya dari Sindre Berg yang berjudul Artificial Intelligence Techniques in Real Time Strategi, kecerdasan buatan yang digunakan untuk mencari ide, namun hasil rset ini masih menggunakan framework yang sudah tersedia,atau tidak membangun framework baru. Oleh karena itu penulis tertarik untuk mengangkat tema mengenai pengembangan frame work game berjenis strategi. Riset dalam pembuatan framework game Real Time Strategy dirasa cukup bermanfaat karena apabila riset ini berhasil menghasilkan sebuah framework maka akan mempermudah dalam pengembangan game Real Time Strategy. Metode penelitian yang digunakan adalah Research and Development. Karena metode ini menjelaskan tentang penerapan kecerdasan buatan pada real time strategy game, dan membuktikan apakah kecerdasan buatan tersebut dapat berjalan dengan baik pada game strategi. Penelitian ini menghasikan Framework yang akan mempermudah dalam pembuatan game berjenis Real Time Strategy, selama ini pembuatan game jenis Real Time Strategy cukup sulit karena tingkat kompleksitas yang tinggi. Selain itu menambah pengetahuan mengenai pemanfaatan kecerdasan buatan terutama dalam game, sehingga akan menarik minat penelitian mengenai kecerdasan buatan di dalam game. Kata Kunci: Game, Framework, Real Time Strategy Game, kecerdasan buatan
1. PENDAHULUAN
Selama ini informasi mengenai pengembangan
game berjenis Real Time Strategy bersifat close source sehingga menyulitkan untuk mengetahui informasi apa saja yang ada didalammya dan informasi tersebut masih sepotong – sepotong. Riset lain yang memunculkan ide adalah sebuah riset yang berjudul Artificial Intelligence Techniques in Real Time Strategy yang dilakukan oleh Sindre Berg Stene, akan tetapi riset ini menggunakan framework yang sudah ada, bukan membuat framework baru (Stene, S. B.: 2006). Oleh karena itu penulis merasa tertarik untuk mengangkat tema mengenai pengembangan framework game berjenis Real Time Strategy. Riset dalam hal pembuatan framework
game Real Time Strategy dirasa cukup bermanfaat karena apabila riset ini berhasil menghasilkan sebuah framework maka akan mempermudah dalam pengembangan Real Time Strategy.
Sebagai perbandingan adalah framework untuk
game berjenis Real Time Strategy yang digunakan oleh Sindre Berg Stene dalam penelitiannya di 2006,
framework tersebut bernama TA Spring. Tabel 1 adalah perbandingan fitur antara TA Spring dan
framework yang akan dibuat.
Apabila dilihat dari tabel 1, maka tampak bahwa TA spring lebih unggul dari pada yang akan dibuat, tapi yang akan dibuat sengaja content nya menggunakan content 2D. Hal ini bertujuan agar memudahkan pengguna framework dalam membuat
game tanpa perlu membuat atau mencari content 3D, tetapi cukup dengan content 2D,sehingga tidak perlu skill atau dana yang besar untuk menyediakan content berupa 3D. Framework disini secara default akan menyertakan content 2.5D yang nantinya bisa digunakan oleh para pengguna framework.
Tabel 1. Daftar Perbandingan antara Framework yang Dibuat dan yang Sudah Ada
Fitur TA Spring Framework
yang akan dibuat Multiplayer via online Ya Ya Jenis Content 3D 2.5D AI Ya, bisa
dikembangkan Ya, bisa dikembangkan
UI Ya Ya
Batasan Unit Bergantung
Hardware Bergantung Hardware
Open Source Ya Ya Bahasa pengembangan C++ C# Content Bawaan Tidak Ya Tabel 2 berikut ini adalah contoh harga karakter 3D yang diambil pada 11 Februari 2012:
Tabel 2. Contoh Daftar Harga Karakter 3D
Nama
karakter Sumber Harga
Medieval
Characters 4 http://www.garagegames.com/products/medie valcharacterpack $40 RTS Creature Pack http://www.garagegam es.com/products/rtscrea tures $20 RTS Environmen t Pack http://www.garagegam es.com/products/rtsenvi ronment $39.95 ManAtArms Feudal 3DModel http://www.turbosquid. com/3d-models/games- poleaxe-mace-3d-max/472840 $89.00 Medieval tech megapack http://www.turbosquid. com/FullPreview/Index .cfm/ID/520057 $195.5
Tabel tersebut menunjukkan bahwa karakter 3D membutuhkan dana yang tidak sedikit. Hal itu akan menyulitkan bagi pengembang game individu, karena pengembang game individu cenderung memiliki dana yang terbatas.
Game online saat ini semakin marak. Hal ini juga membuat penulis semakin tertarik untuk mengembangkan game berbasis Real Time Strategy terutama pada kecerdasan buatan yang mempengaruhi bagaimana tim dari komputer dalam
mengambil keputusan dalam hal ekonomi, militar dan diplomasi terhadap tim lain maupun pemain yang bersifat online maupun offline.
Penelitian ini bertujuan menghasilkan sebuah
framework untuk game berjenis Real Time Strategy.
mengetahui dan memahami pemanfaatan kecerdasan buatan dalam game berjenis Real Time Strategy, dan menghasilkan game dari framework yang sudah dibuat.
Penelitian ini bukan untuk membandingkan kinerja antara satu algoritma dengan algoritma yang lain melainkan untuk merumuskan apa saja algoritma yang dibutuhkan dalam pembuatan
framework games berjenis Real Time Strategy secara menyeluruh. Pada penelitian ini Framework akan menghasilkan game yang berjalan pada platform Microsoft .Net Framework 4.0. Framework yang dihasilkan untuk game berjenis Real Time Strategy. Game yang dihasilkan dari framework ini berupa
game 2D.
Metode penelitian yang digunakan adalah
Research and Development. Karena metode ini digunakan untuk menghasilkan produk tertentu, dan menguji keefektifan produk tersebut.
Manfaat dari penelitian ini diantaranya adalah
Framework yang dihasilkan diharapkan akan mempermudah dalam pembuatan game berjenis Real Time Strategy, dan dapat membuat game berjenis
Real Time Strategy sesuai dengan content yang dikehendaki dengan mudah.
2. TINJAUAN PUSTAKA
Penelitian serupa dalam hal kecerdasan buatan serta pemanfaatan kecerdasan buatan dalam game yang pernah dilakukan antara lain Steering Behaviorsdan Artificial Intelligence Techniques in Real Time Strategy Games Architecture and Combat Behavior.
Steering Behaviors merupakan pengembangan dari algoritma boids yang dilakukan oleh Craig Reynolds pada tahun 1986. Setiap Behavior baru yang dihadirkan mendefinisikan sebuah reaksi yang spesifik dalam lingkungan simulasi dari autonomos system, yang kemudian disebut sebagai vehicle. Bergantung dari kombinasi behavior, vehicle dapat dikonfigurasi untuk mengatasi situasi kompleks
yang berbeda-beda. Behavior baru ini
dikelompokkan dalam nama Steering Behavior
(Schnellhammer, C; Feilkas, T: 2001)
Artificial Intelligence Techniques in Real Time Strategy Games Architecture and Combat Behavior
bertujuan untuk menginvestigasi kemungkinan yang ditawarkan untuk memanfaatkan teori kecerdasan buatan dan metodenya dalam lingkungan pengembangan game. Tujuan utama dari penelitian ini adalah untuk membuat kecerdasan buatan yang memiliki perilaku seperti kecerdasan yang dimiliki oleh gamer, dengan mengambil aspek tertentu dari gaya permainan para gamer ketika memainkan
Rule Based Decision Making, path planning, path replanning, influence maps dan varian dari algoritma A* (a star) (Stene, S.B: 2006)
Penelitian ini juga akan membahas sedikit mengenai bagaimana komputer pengambil keputusan dalam Real Time Strategy Games yang akan dibagi kedalam beberapa kelompok yaitu ekonomi, militer dan diplomasi.
2.1 Strategy Games
Strategy games berbeda dengan puzzle games. Umumnya, puzzle games tidak kompleks.
Puzzle mungkin rumit untuk dipecahkan tapi kerumitan itu adalah suatu yang lain. Kerumitan disini memiliki arti bahwa kondisi suatu permasalahan tidak sederhana. Dengan kata lain dalam Strategy games, suatu solusi muncul dari sekumpulan permasalahan. Dengan persyaratan ini, maka pemain akan menikmati bagaimana memperoleh pemahaman dari suatu masalah yang kompleks (Morris, Dave and Leo Hartas: 2004).
2.2 Real Time Strategy
Real Time Strategy adalah salah satu jenis game
yang masih mendominasi sampai saat ini di
Personal Computer. Game jenis ini memungkinkan pemain untuk memerintahkan sekelompok dari karakter kedalam suatu konflik atau memulai untuk membangun suatu peradaban. Game jenis ini menuntut pemain untuk megembangkan strategy
yang mendalam dalam rangka memenangkan kompetisi di bidang ekonomi atau militer terhadap komputer atau pemain lain. Game semacam Age of Empire II,Command and Conquer Tiberian Sun
adalah beberapa game yang mengedepankan strategi dan memperkenalkan sebuah kompetisi dalam bentuk real time strategy.
Real Time Strategy Games menuntut pemain untuk berpikir dan merencanakan strategy secara
tepat dan cepat untuk mengarahkan dan mengatur
unit mendapatkan kemenangan sesuai dengan rule
yang sudah ditentukan diawal. Real Time disini memiliki arti bahwa ada aliran yang terus terjadi didalam game, sehingga menuntut pemain untuk berpikir cepat dalam menanggapi situasi yang timbul. Yang menjadi ciri khas dalam game jenis ini adalah bagaimana pemain mengumpulkan sumber daya, membangun tentara dan mengendalikan unit untuk menyerang musuh. Perhatian pemain akan dibagi menjadi 2 yaitu pada aspek ekonomi dan tempur. Game ini termasuk dalam game yang cenderung berisikan kekerasan. Unit disini memiliki arti sebuah objek dalam game yang bisa dikendalikan baik oleh pemain atau komputer. Beberapa dari unit ini dibekali senjata, dan beberapa lain memiliki suatu tugas yang seperti membangun bangunan atau mata-mata. Hal ini memerlukan kecerdasan buatan yang dalam bahasa Inggris disebut “Artificial Intelligence” atau disingkan AI, yaitu intelligence adalah kata sifat yang berarti
cerdas, sedangkan artificial artinya buatan. Kecerdasan buatan yang dimaksud disini merujuk pada mesin yang mampu berpikir, menimbang tindakan yang akan diambil dan mampi mengambil keputusan seperti yang dilakukan oleh manusia (Sutojo,T.;Mulyanto,E.;Suhartono,V: 2011).
Dalam Real Time Strategy Game, keputusan yang diambil oleh unit disebut sebagai keputusan jangka pendek, dimana sebuah unit apabila dihadapkan pada sebuah kondisi misalnya pertempuran, maka unit ini harus memilih untuk menyerang atau bertahan (Umut Rıza Ertürk, 2009). Kondisi ini sangat sulit untuk diprediksi dikarenakan semuanya terjadi pada waktu yang sesungguhnya. Disini diperlukan adanya pembuatan keputusan, maka dipilih Fuzzy Logic yang menyediakan resolusi tinggi untuk output, dimana tidak hanya menghasilkan output bernilai 0 atau 1 akan tetapi memungkinkan nilai keanggotaan berada di antara 0 dan 1. Artinya bisa saja suatu keadaan mempunyai dua nilai 0 dan 1, benar dan salah, baik dan buruk secara bersamaan, namun besar nilainya tergantung pada bobot keanggotaan yang dimilikinya (Sutojo, 2011: 211-212). Keputusan yang diambil oleh setiap unit akan bernilai kabur atau fuzzy, dikarenakan sebuah unit akan memiliki beberapa property yang mempengaruhi pengambilan keputusan, serta kondisi dari unit lawan yang juga akan mempengaruhi keputusan.
Pada umumnya unit dalam Real Time Strategy Game, memiliki beberapa hal seperti digambarkan dalam tabel 3 berikut :
Tabel 3. Contoh Properti yang Dimiliki Unit (Erturk, U.R: 2009)
Properti Keterangan
Health Health atau kesehatan dari unit, dalam fuzzy ini akan memiliki bentang nilai 0 sampai 100 dimana 100 adalah paling sehat dan 0 adalah mati.
Armor Armor atau perisai yang dimiliki oleh unit.
Attack
Power penyerangan adalah kekuatan yang Attack Power atau kekuatan dimiliki untuk menyerang unit lawan.
Attack
Speed serangan adalah berapa banyak Attack Speed atau kecepatan waktu yang dibutuhkan untuk melakukan sekali serang.
Movement
Speed bergerak berbeda dengan kecepatan Movement Speed atau kecepatan serangan, kecepatan bergerak adalah kecepatan yang dibutuhkan oleh suatu unit untuk berpindah dari satu lokasi ke lokasi lain untuk menyerang atau melarikan diri.
3. METODOLOGI PENELITIAN
Research and Development. Karena metode ini digunakan untuk menghasilkan produk tertentu, dan menguji keefektifan produk tersebut (Sugiyono: 2009).
Algoritma yang digunakan pada penelitian ini antara lain
AStar
Digunakan untuk menentukan jarak terpendek dimana suatu unit akan berjalan dari satu titik ke titik yang lain dengan memilih rute terpendek (Deloura, Mark, 2000: 254)
Steering Behavior
Digunakan untuk memberikan unit pada suatu karakter untuk merespon kondisi terhadap lingkungannya, misal untuk melarikan diri dari musuh, mengejar musuh, membentuk barisan dan lain lain (Schnellhammer, C; Feilkas, T.: 2001).
TilebaseCollision
Digunakan untuk menentukan area – area yang boleh dilewati dan tidak boleh dilewati oleh karakter (Glass, Kevin: 2011)
FuzzyLogic
Digunakan untuk menentukan apakah suatu karakter akan menyerang atau bertahan atau bahkan melarikan diri, digunakan juga untuk menentukan sumber daya mana yang harus atau menjadi prioritas dikumpulkan oleh suatu tim selama permainan berlangsung dan menentukan apakah suatu tim hendak menyerang atau bertahan (Sutojo,T.;Mulyanto,E.& Suhartono,V: 2011).
Quadtree
untuk memperkecil area loop suatu unit saat hendak mendeteksi lingkungan sekitarnya, karena map yang sangat besar maka dengan algoritma ini nantinya akan dipecah menjadi ukuran yang lebih kecil berdasarkan radius dari suatu unit (Deloura,Mark, 2001:394)
Dalam penelitian ini penulis menggunakan alat dengan spesifikasi minimal sebagai berikut :
o Komputer dengan spesifikasi Core i5-2410M dengan Memory 4 GB dan grafis 2 GB
o Microsoft Windows 7
o Microsoft Visual Studio 2010
o Unity 3D 3.5 for Windows and Android o GIMP 2.6.10
o MathLab 2010b
Tahapan dalam melakukan penelitian dapat dilihat pada gambar 1.
Pengumpulan Data
Mengumpulkan berbagai referensi yang nantinya digunakan untuk membuat framework dan pengujian pada game yang dihasilkan dari framework yang dibuat.
Dalam penelitian kecerdasan buatan ini yang menjadi bahan penelitian antara lain:
- Beberapa game berjenis Real Time Strategy
seperti AgeofEmpire, Command and Conquer Tiberian Sun, Star Craft II dan Empire Earth.
- Jurnal atau penelitian mengenai kecerdasan buatan dan teknik – teknik yang digunakan
dalam game seperti :
o Artificial Intelligence Techniques in Real Time Strategy Games Architecture and Combat Behavior
o Efficient Collision Detection for Animation and Robotics
o Short Term Decision Making with Fuzzy Logic and Long Term Decision Making with Neural Networks In Real Time Strategy Games
- Berbagai framework sederhana dan resource seperti sprite, sound yang nantinya membantu dalam proses penyelesaian pengembangan dan pengujian framework.
- Melakukan pengamatan pada beberapa game yang menjadi referensi, seperti tingkah laku, aturan permainan, userinterface.
- Studi literatur, mempelajari berbagai referensi yang memberikan gambaran lebih jelas seperti mengenai game berjenis Real Time Strategy,
kecerdasan buatan, optimalisasi, aturan permainan, userinterface.
Gambar 1. Tahapan Dalam Melakukan Penelitian
Analisa framework
Melakukan analisa terhadap framework yang akan dibuat dengan memanfaatkan UML sebagai tools. Disini juga ditentukan mengenai
rule atau tatacara penggunaan framework. Pengujian Algoritma
Menguji algoritma yang akan dibuat framework.
Implementasi pembuatan framework
Melakukan implementasi dengan cara melakukan pengkodean berdasarkan hasil analisa yang sudah didapat.
Pengujian framework yang sudah dibuat.
Pengujian terhadap framework yang sudah dibuat dilakukan dengan cara membuat game
berdasarkan aturan – aturan yang sudah ditentukan ketika tahap analisa.
4. PENGUJIAN DAN PEMBAHASAN
Gambaran dari framework yang dibuat seperti pada gambar 2 berikut:
Gambar 2. Rancangan Framework RTS Game
Berikut adalah penjelasan dari rancangan Framework yang dibuat:
AIEngine
Bagian ini mengelola berbagai macam kecerdasan buatan yang akan digunakan pada game. Dimana kecerdasan buatan yang akan ditangani oleh bagian ini lain AStar, Steering Behavior, Fuzzy Logic dan Quad Tree
MapEngine
Bagian ini menangani bagaimana mengenerate peta, mendeteksi tumbukan antar unit pada peta, dan berbagai macam kondisi yang akan terjadi pada peta selama permainan berlangsung.
SceneEngine
Bagian ini berisikan kumpulan fungsionalitas untuk mengelola interaksi antara user dengan game yang sedang gimainkan, serta kolaborasi antar tampilan yang atau user interface yang ada dalam game.
RTS Framework
Bagian ini yang menyatukan AIEngine,SceneEngine dan MapEngine sehingga dapat berkolaborasi untuk melengkapi fungsionalitas dari RTS Framework
UnityEngine
Ini adalah engine yang menjadi inti dari framework ini, gimana engine ini menyediakan fungsionalitas standard seperti animasi, sound, collision sampai dengan proses kompilasi ke berbagai platform yang ada seperti windows application, web application, chrome application, android application.
Pengujian terhadap framework yang sudah dibuat dilakukan dengan cara membuat game
berdasarkan aturan – aturan yang sudah ditentukan ketika tahap analisa :
Responden
Pengujian akan dilakukan dengan cara meminta 3 orang programmer .Net di Innovation Center Amikom Yogyakarta untuk mencoba menggunakan framework yang dihasilkan dari penelitian ini untuk membuat game. Programmer .Net dipilih karena untuk menghasilkan game dengan framework ini dibutuhkan kemampuan membuat program dengan bahasa pemrograman C#, minimal berupa perangkat lunak.
Skenario
Skenario yang akan digunakan untuk pengujian
ini adalah
- Memberikan penjelasan mengenai tata cara penggunaan framework kepada 3 orang programmer .Net di Innovation Center. - Memberikan deskripsi singkat mengenai
game yang akan dibuat, seperti alur cerita, aturan main dari game, fitur dari game yang akan dibuat, serta gambar yang nantinya dapat untuk membuat game
- Mulai membuat game strategy dengan
memanfaatkan framework yang dihasilkan dari penelitian ini.
- Melakukan pengumpulan data berupa hasil pengujian framework dari 3 programmer .Net di Innovation Center. Dimana data yang akan dikumpulkan sesuai dengan yang disebutkan pada variable uji.
Variabel Uji
Variabel yang akan diujikan pada penelitian ini adalah
- Kemampuan suatu unit mencari jalur
tersingkat pada peta.
- Kemampuan suatu unit untuk mengenali kondisi lingkungan sekitar dan mengambil keputusan yang tepat, seperti menyerang, bertahan, melarikan diri, mengumpulkan sumber daya.
- Kemampuan dari tim komputer untuk
mengambil keputusan dan melakukan perlawanan terhadap pemain, seperti kemampuan untuk melakukan penyerangan, bertahan terdapat serangan dari pemain, kemampuan untuk mengumpulkan sumber daya.
- Kemudahan dalam menggunakan
framework.
5. KESIMPULAN
Kesimpulan dari penelitian ini adalah dapat menghasilkan sebuah rancangan framework yang nantinya apabila rancangan tersebut diimplementasikan dapat mempermudah untuk membuat realtimestrategygame.
PUSTAKA
Deloura, Mark. 2000. Game Programming Gems. Charles River Media.
—. 2001. Game Programming Gems 2. Charles River Media.
Erturk, U.R. 2009. Short Term Decision Making with Fuzzy Logic and Long Term Decision Making with Neural Networks in Real-Time
Strategy Games, (Online),
(http://www.hevi.info/2009/06/short-term- decision-making-with-fuzzy-logic-and-long- term-decision-making-with-neural-networks-in-real-time-strategy-games/, diakses pada 11 Mei 2011).
GarageGames, LLC. 2012. RTS Creature Pack, (Online),
(http://www.garagegames.com/products/rtscreat ures, diakses 11 Februari 2012.)
GarageGames, LLC. 2012. RTS Environment Pack,
(Online),
(http://www.garagegames.com/products/rtsenvir onment, diakses 11 Februari 2012)
GarageGames,LLC. 2012. Medieval Characters 4,
(Online),
(http://www.garagegames.com/products/mediev alcharacterpack, diakses 11 Februari 2012) Glass, Kevin. 2011. Tile Maps, (Online),
(http://www.cokeandcode.com/index.html?page =tutorials/tilemap1, diakses pada 10 Juni 2011) Morris, Dave and Leo Hartas. 2004. Game Guru,
Strategy Game. Cambridge: Ilex.
Schnellhammer, C; Feilkas, T. 2001. Steering Behaviors Theory. ______,______
Stene, S.B. 2006. Artificial Intelligence Techniques in Real Time Strategy Games Architecture and Combat Behavior, Master of Science in Informatics, Norwegian University of Science and Technology.
Sugiyono. 2009. Metode Penelitian Pendidikan. Bandung: Alfabeta.
Sutojo,T.;Mulyanto,E. & Suhartono,V. 2011.
Kecerdasan Buatan. Yogyakarta: Penerbit Andi. TurboSquid. 2012. ManAtArms Feudal 3DModel,
(Online), (http://www.turbosquid.com/3d-models/games-poleaxe-mace-3d-max/472840, diakses 11 Februari 2012
TurboSquid. 2012. Medieval tech megapack,
(Online),
(http://www.turbosquid.com/FullPreview/Index. cfm/ID/520057, diakses 11 Februari 2012)