Top Banner
1 Proposal Tesis ALGORITMA GAME ENGINE BERBASIS FROZEN SPOTS DAN HOT SPOTS UNTUK MEMPERCEPAT PROSES PENGEMBANGAN GAME Oleh: Irvan Abraham Salihi P31.2008.00533 Proposal diajukan sebagai salah satu syarat Untuk memperoleh gelar Magister Komputer PROGRAM PASCASARJANA MAGISTER TEKNIK INFORMATIKA UNIVERSITAS DIAN NUSWANTORO SEMARANG 2009
50

Proposal Tesis ALGORITMA GAME ENGINE BERBASIS FROZEN SPOTS DAN HOT SPOTS UNTUK MEMPERCEPAT PROSES PENGEMBANGAN GAME Oleh

Jan 20, 2023

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Proposal Tesis ALGORITMA GAME ENGINE BERBASIS FROZEN SPOTS DAN HOT SPOTS UNTUK MEMPERCEPAT PROSES PENGEMBANGAN GAME Oleh

1

Proposal Tesis

ALGORITMA GAME ENGINE BERBASIS FROZEN SPOTSDAN HOT SPOTS UNTUK MEMPERCEPAT PROSES

PENGEMBANGAN GAME

Oleh:

Irvan Abraham Salihi

P31.2008.00533

Proposal diajukan sebagai salah satu syarat

Untuk memperoleh gelar

Magister Komputer

PROGRAM PASCASARJANA

MAGISTER TEKNIK INFORMATIKA

UNIVERSITAS DIAN NUSWANTORO

SEMARANG

2009

Page 2: Proposal Tesis ALGORITMA GAME ENGINE BERBASIS FROZEN SPOTS DAN HOT SPOTS UNTUK MEMPERCEPAT PROSES PENGEMBANGAN GAME Oleh

2

UNIVERSITAS DIAN NUSWANTORO

PERSETUJUAN PROPOSAL TESIS

JUDUL TESIS : ALGORITMA GAME ENGINE BERBASIS FROZEN

SPOTS DAN HOT SPOTS UNTUK MEMPERCEPAT

PROSES PENGEMBANGAN GAME

PENYUSUN : IRVAN ABRAHAM SALIHI

NPM : P31.2008.00533

Berdasarkan deskripsi yang kami baca dan penjelasan dari mahasiswa yang

bersangkutan, topik tersebut dari segi kualitas dan kuantitas menurut pandangan

kami dapat digunakan sebagai mat eri penyusunan tesis Program Pasca Sarjana

Magister Komputer Teknik Informatika Universitas Dian Nuswantoro

Semarang, Januari 2010

Dr. Ir. Edi Noersasongko, M. Kom Romi Satria Wahono, M. Eng

Pembimbing Utama Pembimbing Pembantu

Page 3: Proposal Tesis ALGORITMA GAME ENGINE BERBASIS FROZEN SPOTS DAN HOT SPOTS UNTUK MEMPERCEPAT PROSES PENGEMBANGAN GAME Oleh

3

UNIVERSITAS DIAN NUSWANTORO

PERSETUJUAN PROPOSAL TESIS

JUDUL TESIS : ALGORITMA GAME ENGINE BERBASIS FROZEN

SPOTS DAN HOT SPOTS UNTUK MEMPERCEPAT

PROSES PENGEMBANGAN GAME

PENYUSUN : IRVAN ABRAHAM SALIHI

NPM : P31.2008.00533

Proposal ini telah disetujui untuk diseminarkan dihadapan komite seminar

Semarang, Januari 2010

Dr. Ir. Edi Noersasongko, M. Kom Romi Satria Wahono, M. Eng

Pembimbing Utama Pembimbing Pembantu

Page 4: Proposal Tesis ALGORITMA GAME ENGINE BERBASIS FROZEN SPOTS DAN HOT SPOTS UNTUK MEMPERCEPAT PROSES PENGEMBANGAN GAME Oleh

4

Abstraksi

Game adalah sebuah sistem formal tertutup yang merupakan sistem yang bersifat

subjektif dari sebuah kenyataan . Game dikatakan sebagai sebuah s istem formal

tertutup disebabkan tidak adanya aturan lain selain dari aturan yang telah dibuat pada

sebuah game tersebut dan aturan itu sendiri dibuat dari sebuah algoritma yang

disusun secara sistematis . Proses pembuatan algoritma game membutuhkan waktu

yang lama dan hal ini sangat berpengaruh pada percepatan proses pengembangan

game, oleh karena itu setiap pengembang sangat membutuhkan game engine dalam

pengembangan game. Game engine terdiri dari beberapa komponen yang saling

berhubungan satu dengan yang lainnya di antaranya: Graphic, Audio, Event, physics,

Artificial Intelligence (AI), events, memory/process, Networking, Scripting dan

Streaming. Dalam penelitian ini akan dibahas salah satu komponen dari game engine

tersebut yaitu scripting, di mana scripting itu sendiri di bentuk dari beberapa bentuk

algoritma dasar yang sangat penting dalam pembuatan game. Algoritma nantinya

akan dibuat menggunakan bahasa pemrograman java dan diatur ke dalam library

yang berisi class-class membentuk sebuah Application Programming Interfaces

(API) yang dinamakan algoritma game engine. Ini berfungsi sebagai framework

software dengan menggunakan konsep frozen spots dan hot spots.

Algoritma Game Engine diharapkan dapat membantu pengembang game dari segi

waktu pembuatan game sehingga proses pengembangan game tidak membutuhkan

waktu yang lama.

Kata kunci : Algoritma game engine, framework, frozen spots, hot spots

Page 5: Proposal Tesis ALGORITMA GAME ENGINE BERBASIS FROZEN SPOTS DAN HOT SPOTS UNTUK MEMPERCEPAT PROSES PENGEMBANGAN GAME Oleh

5

Kata Pengantar

Alhamdulillah Puji Syukur kehadirat Allah SWT , Proposal dengan judul

“ALGORITMA GAME ENGINE BERBASIS FROZEN SPOTS DAN HOT SPOTS

UNTUK MEMPERCEPAT PROSES PENGEMBANGAN GAME ” ini dapat

penulis selesaikan karena dukungan dari berbagai pihak yang tidak ternilai besarnya.

Oleh karena itu penulis menyampaikan terima kasih kepada:

1. Bapak Dr. Ir. Edi Noersasongko, M.Kom selaku Rektor Universitas Dian

Nuswantoro dan Pembimbing Utama Tesis penulis, yang telah memberikan

bimbingan dan arahan penelitian.

2. Bapak Dr. Abdul Syukur, M. Kom selaku Direktur Pasca Sarjana Universitas

Dian Nuswantoro, yang juga memberikan pengarahan dan arahan selama

penyusunan proposal

3. Bapak Romi Satria Wahono, M .Eng . selaku Pembimbing Tesis dan dosen, yang

telah memberikan pengetahuan dan membagi pengalaman di jalan legendanya

kepada penulis.

4. Bapak-bapak Dosen Pasca Sarjana Universitas Dian Nuswantoro yang telah

memberikan pengarahan selama penyusunan proposal

5. Seluruh keluarga yang memberikan dukungan kepada penulis se tiap saat.

6. Seluruh rekan kuliah Angkatan XIII atas dukungan dan sharing ilmunya hingga

terselesainya proposal tesis ini

7. Semua Pihak yang telah membantu penulis yang tidak dapat disebutkan satu

persatu

Kesempurnaan hanya milik Allah SWT, tentunya masih banyak kekurangan dalam

penyusunan proposal ini. Oleh sebab itu, kritik, saran, dan masukan yang

membangun sangat membantu penulis dalam penyusunan tesis nantinya.

Semoga proposal ini bermanfaat buat perkembangan ilmu khu susnya dalam bidang

teknologi game

Semarang, Januari 2010

Penulis

Page 6: Proposal Tesis ALGORITMA GAME ENGINE BERBASIS FROZEN SPOTS DAN HOT SPOTS UNTUK MEMPERCEPAT PROSES PENGEMBANGAN GAME Oleh

6

Daftar Isi

Halaman Judul ...........................................................................Error! Bookmark not defined.

PERSETUJUAN PROPOSAL TESIS ..................................................................................... 2

Abstraksi .................................................................................................................................. 4

Kata Pengantar ......................................................................................................................... 5

Daftar Isi .................................................................................................................................. 6

Daftar Gambar ......................................................................................................................... 7

Daftar Algoritma ...................................................................................................................... 8

1. Latar Belakang ................................................................................................................. 9

2. Perumusan Masalah ....................................................................................................... 12

3. Tujuan Penelitian ........................................................................................................... 12

4. Manfaat Penelitian ......................................................................................................... 12

5. Landasan Teori .............................................................................................................. 13

5.1. Game ...................................................................................................................... 13

5.2. Algoritma Game .................................................................................................... 15

5.2.1 Bilangan Acak (Random Number) ................................................................. 15

5.2.2 Pertandingan (Tournament) ........................................................................... 21

5.2.3 Permainan Turunan (Game Tree) .................................................................. 25

5.2.4 Pencarian Jalan (Path finding) ....................................................................... 28

5.2.5 Pengambilan Keputusan (Decision making) .................................................. 34

5.2.6 Model ketidakpastian (Modeling uncertainty) ............................................... 40

5.3. Framework ............................................................................................................. 41

5.4. Frozen Spots dan Hot Spots ................................................................................... 43

6. Metode Penelitian .......................................................................................................... 44

7. Kerangka Pemikiran ...................................................................................................... 48

Daftar Pustaka........................................................................................................................ 49

Page 7: Proposal Tesis ALGORITMA GAME ENGINE BERBASIS FROZEN SPOTS DAN HOT SPOTS UNTUK MEMPERCEPAT PROSES PENGEMBANGAN GAME Oleh

7

Daftar Gambar

Gambar 1 Game engine ......................................................................................................... 11

Gambar 2 Metode Monte Carlo ............................................................................................ 19

Gambar 3 Metode Las Vegas ................................................................................................. 20

Gambar 4 Pertandingan Angka (Scoring Tournament) ......................................................... 21

Gambar 5 Pertandingan Penyisihan ( Elimination Tournament) ............................................ 22

Gambar 6 Pertandingan peringkat ( Rank adjustment Tournament )....................................... 23

Gambar 7 Game Tree pergerakan tanda nol dan tanda silang .............................................. 26

Gambar 8 Vektor dan sambungan dari awal menuju tujuan akhir perjalanan ...................... 28

Gambar 9 Geometri game berbentuk kotak ........................................................................... 29

Gambar 10 Geometri game berbentuk navigasi ................................................................... 29

Gambar 11 Triangles grid, squares grid dan hexagonal grid................................................ 30

Gambar 12 Geometri berbentuk kotak (a) emp at konektivitas (b) delapan konektivitas ....... 31

Gambar 13 Pencarian Jalur terpendek dengan Algoritma A* ................................................ 32

Gambar 14 Jalur pengambilan keputusan ............................................................................. 34

Gambar 15 Aturan perilaku .................................................................................................. 36

Gambar 16 Development Process of Framework .................................................................. 42

Gambar 17 Framework .......................................................................................................... 44

Gambar 18 Kerangka Berpikir ............................................................................................... 48

Page 8: Proposal Tesis ALGORITMA GAME ENGINE BERBASIS FROZEN SPOTS DAN HOT SPOTS UNTUK MEMPERCEPAT PROSES PENGEMBANGAN GAME Oleh

8

Daftar Algoritma

Algoritma 1 Linier Congruential Method .............................................................................. 20

Algoritma 2 Rank Adjustment Tournament .......................................................................... 24

Algoritma 3 Minimax ............................................................................................................ 27

Algoritma 4 A* ..................................................................................................................... 33

Algoritma 5 Flocking ............................................................................................................. 36

Algoritma 6 Steering behavior rules ...................................................................................... 38

Page 9: Proposal Tesis ALGORITMA GAME ENGINE BERBASIS FROZEN SPOTS DAN HOT SPOTS UNTUK MEMPERCEPAT PROSES PENGEMBANGAN GAME Oleh

9

1. Latar Belakang

Perkembangan teknologi informasi dan komunik asi tidak hanya menyentuh

aspek-aspek yang berkaitan dengan dunia formal dan edukasi saja, namun juga

menyentuh dunia hiburan. Hal tersebut sangatlah berpengaruh terhadap dunia

hiburan yakni game, di mana perubahannya akhir -akhir ini makin berkembang

pesat dan hal tersebut sangatlah kita rasakan dampaknya. Perkembangan game

oleh industri pengembang game saat ini memasuki era baru, di mana teknologi

dan kreativitas bersama-sama memproduksi beberapa hiburan dari abad 21.

Gershenfeld menyatakan bahwa “Industri game telah memiliki pendapatan

tahunan sebanyak milyaran dollar pada tahun 2003” (Fabio Petrillo, 2009).

Pendapatan ini melebihi dari apa yang didapat oleh industri film. Industri game

adalah satu dari beberapa industri yang sangat kuat, memiliki kelebihan, dan

pengaruh yang kuat terhadap ilmu pendidikan . T. Weber menyatakan

“Pengembangan game diterapkan ke dalam kurikulum pendidikan merupakan

upaya untuk mengungkapkan pengetahuan kepada siswa -siswa tentang industri

game sekarang ini” (Ritzhaupt, 2009).

Dalam game itu sendiri memiliki beberapa komponen -komponen sebagaimana

yang dinyatakan oleh Jouni Smed dan Harri Hakonen yaitu “Pemain, aturan

game, tujuan game, kekuatan yang mempengaruhi tujuan, dan game itu sendiri,

yang merupakan perwakilan dari dunia nyata ” (Jouni Smed, 2006). Seorang

pemain membutuhkan perjuangan untuk mendapatkan tujuan karena akan

melawan kekuatan-kekuatan yang dibuat untuk mempengaruhi pemain agar tidak

dapat mencapai tujuan tersebut, dan pemain tersebut wajib mengikuti aturan

yang telah ditetapkan oleh se buah game. Menurut Jouni Smed dan Harri

Hakonen “Game adalah sebuah sistem formal tertutup yang merupakan sistem

yang bersifat subjektif dari sebuah kenyataan ” (Jouni Smed, 2006). Sistem

tertutup di mana tidak adanya aturan lain selain dari aturan yang telah dibuat

pada sebuah game tersebut, di mana aturan dibuat pada bahasa program tertentu

hasil dari algoritma yang tersusun secara sistematis .

Page 10: Proposal Tesis ALGORITMA GAME ENGINE BERBASIS FROZEN SPOTS DAN HOT SPOTS UNTUK MEMPERCEPAT PROSES PENGEMBANGAN GAME Oleh

10

Jonathan Blow sebagai pengembang game menyatakan “Banyaknya pilihan

algoritma tingkat tinggi (high-level algorithmic) memerlukan pengalaman dalam

memahami dan menerapkan algoritma agar nantinya bermanfaat” (Blow, 2004)

Ada tiga tingkatan dalam pemrograman game yakni script code, gameplay code

dan engine code. Script code dan gameplay code digunakan untuk

mengendalikan keseluruhan isi, aturan dan perilaku pada game. Sedangkan

untuk engine code jauh lebih sukar dibanding dengan gameplay code dan script

code karena memerlukan pengetahuan dan genggaman yang baik dalam

membuat rancang-bangun (engineering) sebuah game. Dan hal tersebut bisa

diatasi dua kategori yaitu pengetahuan matematika ( mathematical knowledge)

dan pengetahuan algoritma (algorithmic knowledge). Dalam game banyak hal

yang berhubungan dengan perhitungan (computational), untuk memecahkan

suatu masalah perhitungan memerlukan algoritma. Menurut Jeff Edmonds bahwa

“Untuk menyelesaikan masalah perhitungan perlu waktu yang panjang dan sulit”

(Edmonds, 2008). Dalam hal ini pula Jonathan Blow sebagai konsultan

pengembang game menyatakan bahwa “Pembuatan algoritma biasanya sangat

mendalam dan memakan cukup waktu yang lama ” (Blow, 2004). Permasalahan

yang muncul kemudian, adanya keterlambatan dalam proses pembuatan game,

sehingga pengembang game membutuhkan waktu yang lama dalam

pengembangan game khususnya dalam pekerjaan membuat algoritma game.

Setiap pengembang sangat membutuhkan game engine dalam pengembangan

game. Game engine menurut Stefan Mark merupakan “Perangkat lunak yang

sangat kompleks dalam pengembangan game ”(Stefan Marks, 2007). Game

engine biasanya sudah menyediakan berbagai hal seperti halnya Graphic, Audio,

physics, Artificial Intellegence (AI), events , pengaturan memory/process,

Networking, Scripting (Algorithm) dan Streaming sebagaimana yang dijelaskan

pada gambar 1 di bawah ini:

Page 11: Proposal Tesis ALGORITMA GAME ENGINE BERBASIS FROZEN SPOTS DAN HOT SPOTS UNTUK MEMPERCEPAT PROSES PENGEMBANGAN GAME Oleh

11

Gambar 1 Game engine

Pada penelitian ini akan dibahas tentang pembuatan framework software untuk

algoritma game engine berbasis frozen spots dan host spots. Menurut H. Conrad

Cunningham, Yi Liu dan Pallavi Tadepalli menyatakan “ Frozen spots sifatnya

umum serta dapat digunakan oleh semua hots spots dengan menyesuaikan

spesifikasi yang dibutuhkan oleh setiap hots spots” (H. Conrad Cunningham,

2006). Langkah-langkah dalam membuat framework terdiri dari:

1) Membuat model aplikasi tetap

2) Analisa dan spesifikasi hot spots

3) Desain hot spots

4) Transformasi generalisasi

Dalam pendekatan schmid, model aplikasi tetap merupakan desain object

oriented dalam aplikasi tertentu. Saat model yang komplet telah ada, designer

framework menganalisa model dan domain untuk menemukan dan

menspesifikasikan hot spots. Fitur-fitur dari hot spots diakses melalui common

interface pada kelas abstrak. Bagaimanapun juga, desain hot spots subsystem

menyediakan kumpulan concrete sub kelas pada base class (kelas dasar) yang

digunakan untuk menyediakan variant behavior.

Page 12: Proposal Tesis ALGORITMA GAME ENGINE BERBASIS FROZEN SPOTS DAN HOT SPOTS UNTUK MEMPERCEPAT PROSES PENGEMBANGAN GAME Oleh

12

Desain yang akan dibuat dinamakan algoritma game engine sebagai framework

software dengan menggunakan konsep frozen spots dan hot spots. Algoritma

Game Engine diharapkan dapat membantu pengembang game dari segi waktu

pembuatan game sehingga proses pengembangan game tidak membutuhkan

waktu yang lama.

2. Perumusan Masalah

Dari latar belakang di atas maka rumusan masalah dalam mempercepat

perkembangan game adalah “ Pengembang game memerlukan waktu lama pada

proses pembuatan algoritma game” sehingga perlu membangun sebuah

framework software yang dinamakan algoritma game engine berbentuk

Application Programming Interface (API) yang berisi tentang algoritma-

algoritma yang dipakai dalam pembuatan game.

3. Tujuan Penelitian

Penelitian ini dibuat dengan tujuan membangun sebuah framework software

yaitu algoritma game engine berbasis konsep frozen spots dan hot spots agar

dapat mempercepat proses pengembangan game

4. Manfaat Penelitian

Adapun penelitian ini dapat memberikan manfaat antara lain sebagai berikut:

1. Manfaat praktisi dari hasil penelitian ini diharapkan agar pen gembang game

tidak lagi memerlukan waktu yang lama dalam proses pembuatan algoritma

game. Karena semua algoritma yang dibutuhkan sudah disediakan pada

algoritma game engine yang memiliki peran sebagai library.

2. Manfaat teoritis dari hasil penelitian ini diharapkan dapat memberikan

masukan terhadap pengembang teori algoritma game engine.

3. Manfaat kebijakan dari hasil penelitian ini dapat digunakan untuk

pengembangan game. Pengembang game yang ingin mengembangkan game

bisa menggunakan algoritma game engine sebagai alat bantu dalam proses

pembuatan game.

Page 13: Proposal Tesis ALGORITMA GAME ENGINE BERBASIS FROZEN SPOTS DAN HOT SPOTS UNTUK MEMPERCEPAT PROSES PENGEMBANGAN GAME Oleh

13

4. Sebagai acuan bagi peneliti se lanjutnya, khususnya yang memiliki keterkaitan

dengan pengembangan game dalam hal algoritma agar nant inya menambah

bentuk algoritma yang belum dibahas pada penelitian ini.

5. Landasan Teori

5.1. Game

Menurut Goknur Kaplan Akilli mendefinisikan game adalah “Sebuah aktivitas

kompetitif yang kreatif dan menyenangkan pada dasarnya, yang dibatasi oleh

aturan tertentu dan memerlukan keahlian tertentu ” (Akilli, 2007). Game terdiri

dari peraturan yang menjelaskan tentang pergerakan yang diijinkan, batasan, hak

dan hukuman untuk tindakan yang ilegal.

Miguel De Aguilera dan Alfonso Mendiz menjelaskan bahwa g ame juga dapat

menekankan pemain untuk melakukan segala bentuk kegiatan (Aguilera &

Mendiz, 2003):

1. Reading: Game juga dapat digunakan untuk mempromosikan membaca buku

sesuai dengan game yang sedang dimainkan, misalnya lord of the rings.

2. Logical Thinking: Game membantu dalam berfikir bagaimana mem cahkan

masalah dengan mengusulkan strategi, mengorganisir elemen dalam

mengantisipasi tujuan.

3. Observation: Pemain menggunakan kemampuan observasi dalam bermain

dengan mengamati perbedaan visual dan ruang serta jumlah elemen dalam

layar.

4. Spatially, Geography: Mengembangkan kemampuan pemain dalam

membaca peta dan mengenali bentuk ruang

Menurut wolf, game komputer dikelompokkan dalam berbagai genre atau jenis

permainannya (Wolf, 2000), antara lain :

1. Side Scrolling Game : Dalam game ini, pemain dapat menggerakkan

karakter kekanan, kiri, atas maupun bawah. Contoh game ini adalah Mario

bros.

Page 14: Proposal Tesis ALGORITMA GAME ENGINE BERBASIS FROZEN SPOTS DAN HOT SPOTS UNTUK MEMPERCEPAT PROSES PENGEMBANGAN GAME Oleh

14

2. Shooting Game : Pemain harus mencari dan menembak musuh untuk

mencapai tujuan tertentu. Game jenis ini dapat dibedakan menjadi 2

kategori, yaitu First Person Shooting , dan Third Person Shooting . Contoh

game yang masuk ke dalam jenis game ini diantaranya adalah counter

strike.

3. Role Playing Game (RPG) : Pada game ini pemain diminta untuk

memerankan suatu karakter dan mengemban misi khusus. Game ini

terhitung memiliki kompleksitas frame yang cukup tinggi. Sebagai contoh,

ketika bertemu dengan karakter lain, maka pemain akan dibawa ke tampilan

frame baru, dan pada saat itu kita akan mendapatkan sesuatu atau malah

melakukan pertarungan. Contoh game yang tergolong RPG diantaranya

adalah: Final Fantasy, Ragnarok, dan lain sebagainya.

4. Real Time Strategy (RTS) : Sebagian besar game yang masuk kategori ini

merupakan game peperangan. Pada game ini pemain dibebani misi tertentu

dan dibekali dengan pasukan seadanya (sebagai modal). Selanjutnya pemain

dapat menggerakkan, memperbanyak, dan melengkapi persenjataan

pasukan pasukan tersebut sambil merancang strategi untuk

mempertahankan dan menguasai.

5. Simulation : Merupakan game yang mensimulasikan suatu keadaa n

riil.Contohnya simulasi pengendalian pesawat terbang pada game Microsoft

Flight Simulator, kemudian simulasi kehidupan sehari -hari pada game The

SIMS, dan simulasi seorang manajer tim sepakbola pada game

Champhionship Manager.

6. Racing : Game racing merupakan suatu permainan balap otomotif. Contoh

game racing yang paling terkenal adalah: Need for Speed, Grand Tourismo,

Nascar Rumble, Top Gear, dan lain sebagainya.

7. Fighting : Yang masuk kategori game jenis ini adalah game-game fighting

atau tarung. Contoh yang sangat terkenal dari game fighting ini diantaranya

adalah: Street Fighter, Mortal Combat, Teken, dan lain sebagainya.

8. Educational Game : Merupakan suatu permainan yang secara khusus

didesain untuk mengajarkan tentang subjek -subjek tertentu, pendalaman

terhadap suatu konsep, pengenalan terhadap kejadian -kejadian bersejarah,

Page 15: Proposal Tesis ALGORITMA GAME ENGINE BERBASIS FROZEN SPOTS DAN HOT SPOTS UNTUK MEMPERCEPAT PROSES PENGEMBANGAN GAME Oleh

15

atau membantu mereka dalam mempelajari suatu keterampilan yang mereka

miliki.

5.2. Algoritma Game

Dalam penulisan program komputer, tujuan kita menerapkan algoritma

menjadi sebuah metode tidak lain untuk memecahkan masalah. Metode yang

digunakan sering bergantung kepada komputer tertentu yang akan digunakan,

kemungkinan sama-sama cocok untuk banyak komputer dan banyak ke

bahasa komputer. Algoritma jika kita dikaitkan dengan ilmu komputer

menurut robert sedgewick “menjelaskan sebuah metode pemecahan masalah

yang cocok untuk pelaksanaan program komputer” (Sedgewick, 2002).

Algoritma selalu melibatkan pengorganisasian data yang terlibat dalam

perhitungan, hal ini disebut juga dengan struktur data. Berbicara tentang

algoritma maka terkait juga dengan struktur data yang merupakan hasil dari

sebuah algoritma. Kerumitan struktur data bergantung pada algoritma yang

dibuat. Penggunaan komputer dalam memecahkan sebuah permasalahan

kemungkinan melahirkan berbagai bentuk hasil dengan pendekatan yang

beraneka ragam. Dan hal ini menjadi motivasi untuk merancang sebuah

metode agar dapat menyelesaikan sebuah permasalahan dalam waktu dan

ruang yang seefisien mungkin. Robert sedgewick menyatakan “Algoritma

yang efektif adalah yang mampu memecahkan masalah yang besar

bagaimanapun kondisinya” (Sedgewick, 2002).

5.2.1 Bilangan Acak (Random Number)

Algoritma random number merupakan sala satu permasalahan yang paling

sulit dalam ilmu komputer. Kesulitan di antaranya memahami kata ‘acak’

karena tidak ada satu angka atau bilangan yang bisa menjadi acak tanpa

melalui proses aritmatika. Dengan demikian, Park dan Miller menyatakan

bahwa “Algoritma random number yaitu proses mensimulasikan nilai yang

serampangan dengan nilai tak terbatas yang di distribusikan pada suatu

interval” (Jouni Smed, 2006). Perkembangan teori tentang algoritma acak

Page 16: Proposal Tesis ALGORITMA GAME ENGINE BERBASIS FROZEN SPOTS DAN HOT SPOTS UNTUK MEMPERCEPAT PROSES PENGEMBANGAN GAME Oleh

16

sekarang ini sudah berkembang luas secara sederhana dan cepat. Ciri khas

dari algoritma ini adanya variasi nilai output yang di dasarkan atas nilai input

dengan proses pengulangan sebuah alg oritma. Robert Sedgewick menyatakan

“Setiap nilai yang dihasilkan memiliki kemungkinan untuk ditampilkan tetapi

setelah didefinisikan dengan konsep matematika ”(Robert Sedgewick, 1983).

Untuk membuktikan hal tersebut maka kita memerlukan batasan atau interval

nilai yang akan kita tampilkan. Misalnya sebuah data memiliki interval nilai

antara 1 sampai dengan 100 kemudian akan ditampilkan nilai dari interval

tersebut yang dipanggil secara acak maka besar kemungkinan peluang

munculnya nilai lebih dari satu kali akan terjadi , begitupun sebaliknya nilai

tertentu tidak akan muncul dalam beberapa kali . Jouni smed menyatakan

“Metode Algoritma random number telah banyak digunakan dalam berbagai

simulasi melibatkan beberapa program dari aspek yang di ambil dari dunia

nyata” (Jouni Smed, 2006). Metode ini di terapkan pada aplikasi yang luas

dan sangat besar dalam jumlah data, seperti halnya jejak pendapat politik

secara nasional akan tetapi tidak semua data pada masalah tersebut di ambil,

tetapi di ambil berdasarkan sampel acak. Dalam hal ini Robert sedgewick

juga mengatakan “Algoritma random number termasuk metode yang efisien

untuk digunakan dalam sebuah algoritma untuk membantu dalam

pengambilan keputusan”(Robert Sedgewick, 1983). Beberapa metode yang

digunakan dalam bilangan acak menurut jouni smed (Jouni Smed, 2006)

yaitu:

1) Linier congruential method for generating random numbers

2) Las vegas method for generating random numbers from an interval

3) Generating random number using weight

4) Generating all permutations

5) Random shuffle

6) Method for generating stars and planets

7) Generating simple random terrain

8) Generating limited random terrain

9) Generating particle deposition terrain

Page 17: Proposal Tesis ALGORITMA GAME ENGINE BERBASIS FROZEN SPOTS DAN HOT SPOTS UNTUK MEMPERCEPAT PROSES PENGEMBANGAN GAME Oleh

17

10) Generating fault line terrain

11) Generating circle hill terrain

12) Generating midpoint displacement terrain

Linier Congruential Method

Pada tahun 1950, D.H. Lehmer mengusulkan penggunaan algoritma untuk

membangkitkan bilangan acak yang dikenal dengan metode linier

congruential (Jouni Smed, 2006). Algoritma ini sederhana sehingga dalam

pelaksanaannya hanya menggunak an 4 (empat) parameter integer tertentu

yaitu modulus, multiplier, increment dan starting value, di mana :: :: :1) Modulus (m)

Penggunaan nomor acak terbatas oleh karena itu dilakukan proses

perulangan. Nilai modulus (m) adalah yang paling utama

direkomendasikan dan harus memiliki nilai terbesar . Pengurangan nilai

modulus dilakukan dengan cara 2 ∏ 2 12) Multiplier (a)

Periode maksimum nilai 1: 1 . Dari ketentuan

tersebut dihasilkan angka acak 0, 1, 2, 3, ... , m - 1, 0, 1, 2. Dalam

multiplier jika nilai m adalah nilai utama, maka untuk menghasilkan

seluruh periode digunakan a=1, tapi jika nilai m di bagi, maka ada

kebebasan untuk menentukan nilai a. Jadi untuk nilai a di atur dengan

ketentuan 0.01 0.993) Increment (c)

Dalam menentukan nilai c maka tidak ada unsur keadaan yang

berpengaruh terhadap nilai m. kita bisa menentukan nilai c=1 dan c=a.

Page 18: Proposal Tesis ALGORITMA GAME ENGINE BERBASIS FROZEN SPOTS DAN HOT SPOTS UNTUK MEMPERCEPAT PROSES PENGEMBANGAN GAME Oleh

18

Jika nilai c =0 kita bisa menambahkan operasi penjumlahan untuk dapat

menghapus percepatan proses dan pengurangan panjang periode.

4) Starting value

Menentukan dari mana nilai akan di ambil untuk menampilkan

bilangan acak dengan melakukan inisialisasi dari beberapa sumber seperti

halnya nilai tetap dari waktu komputer dan nilai akhir dari hasil ketika di

jalankan. Selain itu menggunakan beberapa nilai yang sama untuk

perulangan secara bertahap.

Beberapa bentuk parameter di atas, kita dapat mengurutkan proses pengerjaan

dari Algoritma random number dengan linier congruential Method adalah

sebagai berikut: di manaMenurut Eric Weisstein bahwa “Metode persamaan linier ini untuk

menghasilkan acak (pseudorandom) di mana nilai a dan c harus

mengasumsikan nilai tetap tertentu, m merupakan nilai modulus, dan

adalah nomor awal yang dikenal dengan benih ” (Weisstein, 2009). Dalam hal

ini, bilangan acak ke n dari deretnyabilangan acak sebelumnyafaktor penggalic incrementm modulusa, c, dan m semuanya konstantaAlgoritma 1 menguraikan dua implementasi varian dari metode persamaan

linier. Cara pertama digunakan bila a(m - 1) tidak melebihi bilangan bulat

terbesar, contoh jika m adalah bilangan integer yang pertama, maka a(m -1)

harus mengevaluasi bilangan integer yang kedua. Bilangan yang kedua dapat

diterapkan bila ⁄ . Hal ini dapat mempercepat proses

modulus dalam bentuk untuk menjamin evaluasi dalam interval

Page 19: Proposal Tesis ALGORITMA GAME ENGINE BERBASIS FROZEN SPOTS DAN HOT SPOTS UNTUK MEMPERCEPAT PROSES PENGEMBANGAN GAME Oleh

19

, . Karena komputer memiliki keakuratan angka yang terbatas, nilai

m biasanya di batasi sesuai nilai maksimum dari komputer. Jika kita ingin

membangkitkan bilangan acak di mana nilai di distribusikan di antara nilai

0 dan 1, kita dapat menggunakan bagian yang sangat kecil ⁄sebagai pengganti dan pemanggil secara rutin unit random. Apa akibatnya

jika kita ingin bilangan integer acak dengan menentukan jarak panjang0 ? solusinya adalah kita menggunakan pendekatan

monte carlo dan memberikan nilai atau jalan lainnya

memberikan nilai . Akan tetapi, masalah dengan menggunakan

metode ini tidak menjamin keseragaman sebagaimana dijelaskan dalam

gambar 1 berikut ini:

Gambar 2 Metode Monte Carlo

Akan tetapi metode monte carlo mengurangi kurang lebih permasalahan pada

saat proses berjalan. Dalam masalah ini, kita dapat menambah jarak bilangan

asli secara acak, sebagai contoh membangkitkan beberapa bilangan acak dan

menggabungkannya, yang mana akan membuat pembagian secara seragam

tapi membutuhkan perhitungan. Pendekatan metode las vegas menjamin

ketepatan dan memberikan permasalahan sederhana, pembagian seragam,

menyelesaikan permasalahan. Pembagian jarak dalam metode ini sebagai

berikut:

0, 1 , , 1 1 , 1 ,

0 1 2 3 4 5 6 7 8 9

0 1 2 3

m=10

w=4

Page 20: Proposal Tesis ALGORITMA GAME ENGINE BERBASIS FROZEN SPOTS DAN HOT SPOTS UNTUK MEMPERCEPAT PROSES PENGEMBANGAN GAME Oleh

20

Nilai i diberikan nilai dengan jarak 0 1 . Pada jarak terakhir

terjadi kelebihan dan pertimbangan yang tidak berlaku sesuai dengan gambar

2 berikut ini:

Gambar 3 Metode Las Vegas

Algoritma 1 Linier Congruential Method

Out: random integer r (0 ≤ r ≤ m − 1)

Constant: modulus m; multiplier a; increment c; starting value (1 ≤ m ∧ 0≤ a, c, ≤ m − 1 ∧ a ≤ /(m − 1), where is the largest possibleinteger value)

Local: previously generated random number x (initially x = )

1: r ← (a · x) mod m

2: r ← Modulo-Sum(r, c, m)

3: x ← r

4: return r

Out: random integer r (0 ≤ r ≤ m − 1)

Constant: modulus m; multiplier a; increment c; starting value ) (1 ≤ m ∧0 ≤ a, c, ) ≤ m − 1 ∧ (m mod a) ≤ ⁄ )

Local: previously generated random number x (initially x = )

1: q ← m div a

2: p ← m mod a

3: r ← a · (x mod q) − p · (x div q)

4: if r < 0 then

0 1 2 3 4 5 6 7 8 9

0 1 2 3

m=10

w=4

Excess

Page 21: Proposal Tesis ALGORITMA GAME ENGINE BERBASIS FROZEN SPOTS DAN HOT SPOTS UNTUK MEMPERCEPAT PROSES PENGEMBANGAN GAME Oleh

21

5: r ← r + m

6: end if

7: r ← Modulo-Sum(r, c, m)

8: x ← r

9: return r

Modulo-Sum(x,y,m)

In: addends x and y; modulo m (0 ≤ x, y ≤ m − 1)

Out: value (x + y) mod m without intermediate overflows in [0, m − 1]

1: if x ≤ m − 1 − y then

2: return x + y

3: else

4: return x − (m − y)

5: end if

5.2.2 Pertandingan (Tournament)

Algoritma Tournament menurut jouni smed, harri hakonen ditemukan oleh

tujuh bersaudara dari Jukola dengan “Sebuah metode permainan terbaik dari

Kyykka. Mereka menemukan beberapa bentuk/seri algoritma tournament

yang masing-masing mempunyai peraturan sendiri-sendiri “( lihat gambar 3,

4 , 5) (Jouni Smed, 2006).

Gambar 4 Pertandingan Angka (Scoring Tournament)

M6 M11 M15 M18 M20

M1 M7 M12 M16 M19

M2 M8 M13 M17

M3 M9 M14

M4 M10

M5

Juhani

Thomas

Thomas

Aapo

Aapo

Simeoni

Simeoni

Timo

Timo

Lauri

Lauri

Eero

M0

Page 22: Proposal Tesis ALGORITMA GAME ENGINE BERBASIS FROZEN SPOTS DAN HOT SPOTS UNTUK MEMPERCEPAT PROSES PENGEMBANGAN GAME Oleh

22

Dalam aturan pertandingan in i di jelaskan sebagai berikut:

a. Untuk pertandingan angka (Scoring Tournament) setiap orang memiliki

kesempatan untuk bertemu kembali dengan siapa saja, total pertemuan

dalam pertandingan tersebut jika kita hitung sebanyak 21 kali

pertandingan.

b. Dalam menentukan peringkat dalam pertandingan angka aturannya

relative, di mana setiap yang menang dalam pertandingan di beri nilai 2

poin , yang kalah 0 poin dan jika seri masing-masing mendapatkan 1

poin. Dan diakhir pertandingan siapa yang mengumpulkan angka lebih

banyak, maka dia pemenangnya.

Gambar 5 Pertandingan Penyisihan (Elimination Tournament)

Untuk pertandingan penyisihan ( elimination tournament) dibagi dalam

beberapa kelompok , masing-masing dalam kelompok bertanding, yang

menang akan bertemu dengan pemenang pada kelompok lainnya untuk babak

penyisihan berikutnya. Pemain yang kalah dalam pertandingan kelompok

tidak bisa melanjutkan pertandingan berikutnya, yang menjadi pemenang

adalah dia yang memenangkan setiap babak penyisihan

Juhani

Thomas

Aapo

Simeoni

Timo

Lauri

Eero

M0

M1

M2

M4

M3

M5

Page 23: Proposal Tesis ALGORITMA GAME ENGINE BERBASIS FROZEN SPOTS DAN HOT SPOTS UNTUK MEMPERCEPAT PROSES PENGEMBANGAN GAME Oleh

23

Gambar 6 Pertandingan peringkat (Rank adjustment Tournament )

Pertandingan memanjat (hill-climbing tournament) atau dikenal dengan

pertandingan penyesuaian peringkat maka di bagi dalam beberapa seri,

pemenang setiap seri akan berusaha memenangkan setiap seri untuk menjadi

pemenang di akhir seri sebanyak 6 kali pertandingan. Jika pemenang pada

seri sebelumnya kalah maka yang melanjutkan adalah pemenang baru untuk

seri selanjutnya.

Dalam merencanakan dan mengorganisir sebuah pertandingan dalam dunia

nyata meliputi ketidakleluasaan perhatian terhadap kerugian, buku tempat

peristiwa, tempat pertandingan, manajemen resiko, dan sumber daya yang

terbatas lainnya. Untuk itu dalam pengaturan pertandingan kita akan fokus

dalam pengaturan jadwal atau waktu untuk mempertemukan dua pemain ,

menurut jouni smed dalam pertandingan (tournament) kita membagi dalam 3

(tiga) kategori yaitu rank adjustment tournament , elimination tournament dan

scoring tournament (Jouni Smed, 2006). Beberapa bentuk algoritma yang

digunakan pada tournament sebagai berikut:

1) Constucting initial ranking in rank adjustment tournament

2) Match in ladder tournament

3) Hill-climbing tournament

4) Match in a pyramid tournament

5) King of the hill tournament

6) Random selection tournament

M0

M1

M2

M3

M4

M5

Juhani

Thomas

Aapo

Simeoni

Timo

Lauri

Eero

Page 24: Proposal Tesis ALGORITMA GAME ENGINE BERBASIS FROZEN SPOTS DAN HOT SPOTS UNTUK MEMPERCEPAT PROSES PENGEMBANGAN GAME Oleh

24

7) Random pairing tournament

8) Standard seeding for an elimination bracket

9) Ordered standard seeding for an elimination bracket

10) Equitable seeding for an elimination bracket

11) Single elimination tournament

12) Straightforward pairings for a round robin tournament

13) Normalized pairings for a round robin tournament

14) Round robin tournament inc luding a scoring for the match result

15) Maximum value in parallel

Pertandingan Penyesuaian Peringkat (Rank adjustment tournament )

Dalam pertandingan penyesuaian peringkat kita memiliki 0,1,….. 2⁄pemain dalam waktu yang sama. Hal yang tidak mungkin untuk memasukan

dan menghapus pemain dalam pertandingan tanpa berdasarkan peringkat.

untuk itu pertama kali memberikan inisialisasi peringkat pemain dengan

simbol P dengan menggunakan struktur S sesuai dengan algoritma 2.

Peringkat dalam struktur S memiliki ukur an di mana | |, maka kita akan

menemukan perbedaan peringkat yang terdiri dari 0, 1, .. m-1. Nilai

menunjukkan berapa banyak pemain memiliki peringkat yang sama dalam

pertandingan. Dengan kata lain, yang pantas mendapat peringkat yaitu hasil| |.Algoritma 2 Rank Adjustment Tournament

In: set P of n unranked players in the tournament; sequence S of m non -

negative integers in which Si de fines the number of players that have the

same rank i ∑Out: set R of ranked players having the ranking structure S

Local: match sequences M and M’of players

1: R ← copy P

Page 25: Proposal Tesis ALGORITMA GAME ENGINE BERBASIS FROZEN SPOTS DAN HOT SPOTS UNTUK MEMPERCEPAT PROSES PENGEMBANGAN GAME Oleh

25

2: M ← enumeration(R)

3: for i ← 0 ... ( − 1) do

4: rank( ) ← 0

5: end for

6: c ←

7: for r ← 1 ... (m − 1) do

8: W ← rankeds(R, r − 1)

9: M ← enumeration(W)

10: for i ← 0 ... ( − 1) do

11: rank( + i ) ← r

12: j ← i mod | |13: if rank then

14: R ← Ladder-Match(R, , +i )

15: end if

16: end for

17: c ← c +

18: end for

19: return R

5.2.3 Permainan Turunan (Game Tree)

Permainan jenis ini menurut jouni smed merupakan “Permainan yang

memungkinkan para pemain dapat melihat segala bentuk kemungkinan,

dengan kata lain tidak ada informasi yang tersembunyi ” (Jouni Smed, 2006).

Pemain dapat merancang strategi untuk menentukan gerakan selanjutnya,

contoh permainan yang menggunakan algoritma game tree adalah catur.

Algoritma game tree berisi dua tipe tanda yakni tanda MAX dan tanda MIN,

di mana pemain pertama di sebut dengan MAX dan pemain kedua disebut

MIN. Pemain pertama dan kedua saling mengandalkan satu sama lain untuk

memberikan perubahan situasi dalam permainan. Pada gambar 7 kita bisa

melihat upaya pemain untuk menjadikan simbol X dan 0 menjadi simetris

Page 26: Proposal Tesis ALGORITMA GAME ENGINE BERBASIS FROZEN SPOTS DAN HOT SPOTS UNTUK MEMPERCEPAT PROSES PENGEMBANGAN GAME Oleh

26

agar bisa menjadi pemenang. Setiap lapisan pada gambar tersebut

menunjukkan langkah ataupun tindakan yang diambil setiap pemain.

Gambar 7 Game Tree pergerakan tanda nol dan tanda silang

Jouni smed menyatakan “Tanda max dan min digambarkan dengan

simbol dan ∆ . Dalam operator logika, maka max dan min di gambarkan

dengan simbol dan ” (Jouni Smed, 2006). Permainan ini mengandung

unsur nilai acak untuk menentukan berbagai bentuk siasat yang akan

digunakan. Pada awalnya kita mendefinikan simbol pada permainan ini,

kemudian menemukan strategi kemenangan untuk MAX atau MIN dari simbol

. Algoritma game tree menggunakan sala satu metode yang disebut dengan

metode minimax sebagaimana diuraikan pada algoritma 3. Metode ini

menggunakan simbol yang menggambarkan awal permainan, peluang max

dan peluang min dalam sebuah permainan. Permainan ini memberikan nilai

dari sebuah peluang kemenangan setiap pergerakan untuk MAX +1 dan untuk

MIN -1, di mana MAX berusaha memaksimalkan peluang untuk

memenangkan sebuah permainan dan sementara MIN berusaha sebaliknya

meminimalkan kemungkinan MAX menuju kemenangan (memaksimalkan

peluang MIN untuk meraih kemenangan) . Nilai minimax untuk simbol

didefinisikan sebagai berikut:

minmax

0 X

XX X

X X X X X0 00 0

0X X

00

X X X X0 0

0 0

Page 27: Proposal Tesis ALGORITMA GAME ENGINE BERBASIS FROZEN SPOTS DAN HOT SPOTS UNTUK MEMPERCEPAT PROSES PENGEMBANGAN GAME Oleh

27

Pada definisi tersebut dijelaskan di mana .

Jouni smed membagi game tree dalam beberapa bentuk algoritma yang

uraikan sebagai berikut:

1) Minimax

2) Negamax

3) Aplha-beta pruning using minimax

4) Alpha-beta pruning using negamax

5) Principal variation search using negamax

6) Expectiminimax using alpha-beta pruning and fail-soft enhancement

Algoritma 3 Minimax

in: node v

out: utility value of node v

1: if children(v)= ∅ then

2: return value(v)

3: else if label(v)= min then

4: e ←+∞

5: for all u ∈ children(v) do

6: e ← min{e, Minimax(u)}

7: end for

8: return e

9: else

10: e ←−∞

11: for all u ∈ children(v) do

12: e ← max{e, Minimax(u)}

13: end for

Page 28: Proposal Tesis ALGORITMA GAME ENGINE BERBASIS FROZEN SPOTS DAN HOT SPOTS UNTUK MEMPERCEPAT PROSES PENGEMBANGAN GAME Oleh

28

14: return e

15: end if

5.2.4 Pencarian Jalan (Path finding)

Algoritma Path finding menurut jouni smed merupakan “Metode yang

digunakan dalam mencari jalan menuju tujuan yang diinginkan dari titik awal

di mulainya perjalanan dengan mempertimbangan jalur yang terpendek yang

baik untuk dilalui” (Jouni Smed, 2006). Untuk mencapai tujuan berbagai

macam masalah yang ditemukan seperti jalan yang diblokir atau ada

hambatan sebuah objek dan sebagainya, sehingga terjadi umpan balik kepada

pemain untuk mencari jalan lain untuk mencapai tujuan tanpa mengabaikan

aturan awal yaitu mencari jalur terpendek. Metode ini diuraikan pada gambar

8, di mana perjalanan di mulai dari titik s hingga berakhir pada tujuan akhir r

dengan ketergantungan dari sebuah perjalanan terletak pada jarak, lokasi dan

cara yang digunakan.

Gambar 8 Vektor dan sambungan dari awal menuju tujuan akhir perjalanan

Jouni smed mengutarakan dalam dunia game memberikan indikasi tentang

“Proses discretization yang seharusnya terus dilakukan pada jenis game yang

menggunakan algoritma path finding” (Jouni Smed, 2006). Pemilihan jalur

berhubungan bentuk geometri pada game tersebut dan dikaitkan dengan jarak

atau bentuk pola lingkungan. Penentuan arah meskipun dapat dilakukan

secara manual pada tingkat desain, tapi dalam prosesnya dilakukan secara

Page 29: Proposal Tesis ALGORITMA GAME ENGINE BERBASIS FROZEN SPOTS DAN HOT SPOTS UNTUK MEMPERCEPAT PROSES PENGEMBANGAN GAME Oleh

29

otomatis. Pendekatan pada teknik penentukan arah di bagi menjadi dua yakni

menggunakan kotak atau menggunakan navigasi yang disesuaikan dengan

geometri yang ada sebagaimana yang dijelaskan pada gambar 9 , 10.

Gambar 9 Geometri game berbentuk kotak

Gambar 10 Geometri game berbentuk navigasi

Dalam memilih bentuk jaringan dalam sebuah game memerlukan

pertimbangan, karena hal tersebut yang menentukan bentuk sambungan

lokasi satu dengan lainnya atau arah jalur yang akan ditempuh untuk

mencapai tujuan. “Penggunaan jaringan yang digunakan untuk jalur

pencarian harus bisa di akses secara konstan dan penyimpanan jaringan pada

sebuah game” menurut van de sterren memerlukan memori (Jouni Smed,

2006). Bentuk-bentuk jaringan di bagi menjadi 3 (tiga) yai tu segitiga sama

sisi (triangles grid), bujur sangkar(squares grid) dan segi enam(hexagonal

grid).

Page 30: Proposal Tesis ALGORITMA GAME ENGINE BERBASIS FROZEN SPOTS DAN HOT SPOTS UNTUK MEMPERCEPAT PROSES PENGEMBANGAN GAME Oleh

30

Gambar 11 Triangles grid, squares grid dan hexagonal grid

Jouni smed menyatakan bahwa proses pencarian jalur pada geometri

berbentuk kotak harus terlebih dahulu memutuskan apakah kita hanya

mempertimbangkan ubin berdekatan dengan tepian kotak atau kotak yang

berbagi dengan titik sudut kotak (Jouni Smed, 2006). Gambar 12

mengilustrasikan situasi di kotak persegi: dalam kasus yang pertama kami

memiliki empat konektivitas, dan berikutnya memiliki delapan konektivitas

yang bergerak diagonal lebih panjang daripad a yang vertikal atau horizontal.

Untuk jaringan heksagonal memungkinkan hanya enam konektivitas dan

semuanya jaringan menempatkan pusat kotak sebagai titik arah jalur. Akan

tetapi untuk geometri berbentuk navigasi jouni smed menyampaikan “Sebuah

navigasi mesh adalah partisi cembung dunia game, di mana semua poligon

berdekatan berbagi hanya dua poin dan satu sisi, dan tidak ada tumpang

tindih poligon satu dengan poligon lain ” (Jouni Smed, 2006). Kecembungan

menjamin bahwa kita dapat bergerak dalam garis lurus di dalam polygon

(misalnya dari posisi saat ini ke titik a rah pertama, dan dari akhir ke titik arah

tujuan) dan dari satu poligon ke polygon yang lain

Page 31: Proposal Tesis ALGORITMA GAME ENGINE BERBASIS FROZEN SPOTS DAN HOT SPOTS UNTUK MEMPERCEPAT PROSES PENGEMBANGAN GAME Oleh

31

Gambar 12 Geometri berbentuk kotak (a) empat konektivitas (b) delapankonektivitas

Pencarian dengan menggunakan jalur terpendek dalam grafik ditentukan

dengan banyaknya jumlah simpul yang ada. Di mana | | dinyatakan sebagai

simpul awal dan | | jumlah simpul tepi. Untuk rinciannya diuraikan oleh

Cormen et al pada tahun 2001 (Jouni Smed, 2006) sebagai berikut:

1. Breadth-first search merupakan teknik pencarian yang di mulai dari titik

simpul k kemudian melanjutkan pencarian ke simpul lainnya dengan

ketentuan jarak k+1. Waktu pencarian didefinisikan dengan nilai O

(| | | | , di mana V adalah puncak s impul dan E adalah simpul

pinggiran.

2. Depth-first search merupakan teknik pencarian dengan cara memperluas

proses pencarian ke simpul yang belum ditemukan, sampai tujuan simpul

ditemukan. Waktu pencarian didefinisikan dengan Θ | | | | .

3. Dijkstra’s algorithm adalah pencarian jalur terpendek dari simpul awal ke

semua simpul dengan beban non -negatif. Implementasinya menghasilkan

waktu dengan | | , di mana | | log| | | | .

Dalam pathfinding terdapat beberapa bentuk algoritma di antaranya:

1) Hertel-Mehlhorn method for convex partition

2) Algorithm A*

Page 32: Proposal Tesis ALGORITMA GAME ENGINE BERBASIS FROZEN SPOTS DAN HOT SPOTS UNTUK MEMPERCEPAT PROSES PENGEMBANGAN GAME Oleh

32

Algoritma A*

Algoritma 4 menggambarkan sebuah implementasi pencarian jalur terpendek

dari sebuah Algoritma A *. Untuk lebih jelasnya di uraikan pada g ambar 13

di mana algoritma A* bekerja, dalam gambar tersebut di jalaskan titik awal

dimulai dari titip simpul s di akhiri pada simpul r sebagai tujuan akhir. Dari

titik s tersebut pencarian dilanjutkan pada titik a dan b, penentuan jarak

ditentukan dari nilai vertical dan horizontal ke arah simpul yang menjadi

tujuan selanjutnya. Terdapat 4 jalur terakhir menuju ke simpul r di antaranya

jalur 1 (a, c, f, r=14), jalur 2(b, c, f, r=14) , jalur 3(b, d, g, r=12) dan jalur 4(b,

e, d, g, r=14), maka di dapat jalur terpendek menuju simpul r adalah jalur 3

(b, d, g, r=12).

Gambar 13 Pencarian Jalur terpendek dengan Algoritma A*

Page 33: Proposal Tesis ALGORITMA GAME ENGINE BERBASIS FROZEN SPOTS DAN HOT SPOTS UNTUK MEMPERCEPAT PROSES PENGEMBANGAN GAME Oleh

33

Algoritma 4 A*

in: graph G = (V,E); start vertex s; goal vertex r

out: mapping π : V → V

local: open list S; cost function g(u v); heuristic lower bound estimate h(uv)

1: for all v ∈ V doInitialization.

2: g(s v) ←∞

3: π(v) ← nil

4: end for

5: g(s s) ← 0

6: S ←{s}

7: precalculate h(s r)

8:while S= ∅ doSearch.

9: v ← vertex , ∈ S that minimizes g(s v) + h(v r)

10: if v = r thenIs the goal reached?

11: return π

12: end if

13: S ← S \{v}

14: for all u ∈ successors(v) do

15: if π(u) = nil or else (u ∈ S and g(s v) + weight(v,u) <g(s u)) thenOpen u.

16: S ← S ∪ {u}

17: g(s u) ← g(s v) + weight(v,u)

18: π(u) ← v

19: precalculate h(u r)

20: end if

21: end for

Page 34: Proposal Tesis ALGORITMA GAME ENGINE BERBASIS FROZEN SPOTS DAN HOT SPOTS UNTUK MEMPERCEPAT PROSES PENGEMBANGAN GAME Oleh

34

22: end while

23: error no path from s to r exists

5.2.5 Pengambilan Keputusan (Decision making)

Adanya aksi dan interaksi dalam game antar setiap pemain membuat

pengambilan keputusan sangat penting dilakukan. Dalam hal ini Jouni smed

menyatakan “Hampir semua metode algoritma dapat digunakan dalam

pengambilan keputusan, tetapi karena adanya perbedaan setiap metode

tersebut membuat kita memahami yang mana metode yang terbaik dalam

kondisi tersebut” (Jouni Smed, 2006).

Kaukoranta menyatakan bahwa Artificial Intellegence (AI) dalam sistem

permainan komputer terdiri dari dua bagian yaitu “Pola pengakuan dan

sistem pengambilan keputusan” (Jouni Smed, 2006).

Gambar 14 menggambarkan pola dunia nyata atau simulasi yang terdiri dari

peristiwa dan fenomena yang dijelaskan dalam pengenalan pola. Informasi

yang dihasilkan saat ini (dan mungkin sebelumnya) dalam fenomena ini

kemudian diteruskan ke sistem pengambilan keputusan. Segala bentuk

kejadian di dunia nyata memungkinkan serangkaian tindakan yang mungkin ,

dan sistem pengambilan keputusan yang memilih untuk melaksanakan.

Gambar 14 Jalur pengambilan keputusan

Page 35: Proposal Tesis ALGORITMA GAME ENGINE BERBASIS FROZEN SPOTS DAN HOT SPOTS UNTUK MEMPERCEPAT PROSES PENGEMBANGAN GAME Oleh

35

Pada algoritma decision making jouni smed membaginya dalam beberapa

bentuk algoritma di antaranya sebagai berikut:

1) Flocking

2) Steering behavior rules

3) Decision-making for a wumpus hunter using influence maps

Flocking

Flocking menurut jouni smed digambarkan dengan “Perilaku yang

berkelompok, bereaksi untuk melakukan suatu perubahan gerakan di daerah

sekitarnya seperti halnya sekolompok burung, ikan, hewan ternak seperti

domba” (Jouni Smed, 2006) . Algoritma flocking diperkenalkan oleh CW

Reynolds pada tahun 1987 yang merupakan hasil dari pengamatan segala

bentuk perilaku berkelompok dari hewan tersebut dan hal itu dibagi dalam 4

kategori perilaku sebagaimana yang dijelaskan pada gambar 15.

1. Separation merupakan tindakan pemeliharaan jarak, untuk menghindari

benturan antar boid.

2. Aligment merupakan gerakan kearah yang sama di antara boid serta

mencocokkan kecepatan tiap boid.

3. Cohesian merupakan gerakan ke posisi rata -rata flockmates lokal, dan

setiap boid harus tetap dekat dengan flockmates terdekat.

4. Avoidance merupakan gerakan menghindar dari rintangan atau musuh dan

setiap boid harus menghindar dari bahaya yang terjadi.

Dalam hal ini jouni smed menyatakan “Setiap gerakan pemisahan didasarkan

atas flockmates yang mengabaikan kecepatan setiap boid sebaliknya

keterpaduan didasarkan atas flockmates yang mengabaikan posisi setiap boid

yang ada” (Jouni Smed, 2006)

Page 36: Proposal Tesis ALGORITMA GAME ENGINE BERBASIS FROZEN SPOTS DAN HOT SPOTS UNTUK MEMPERCEPAT PROSES PENGEMBANGAN GAME Oleh

36

Gambar 15 Aturan perilaku

Algoritma 5 menjelaskan tentang flocking dan ke empat aturan perilaku yang

dijelaskan di atas dijelaskan pada algoritma 6 dengan menggunakan fungsi

sebagai berikut:

1: 02: / | |Mengembalikan fungsi vektor ke arah , atau satuan vektor menunjuk arah

acak jika v adalah vektor nolAlgoritma 5 Flocking

1: F ← copy B

2: R ← ∅3: while F ∅ doUpdate each boid once.

4: f ← a boid from F

5: F ← F \ f

Page 37: Proposal Tesis ALGORITMA GAME ENGINE BERBASIS FROZEN SPOTS DAN HOT SPOTS UNTUK MEMPERCEPAT PROSES PENGEMBANGAN GAME Oleh

37

6: V ← visible(F ∪ R,f )

7: ← 08: if V = ∅ or leader(B) = f then

9: realize an individual movement

10: elseThere are visible flockmates.

11: ← + ws · Separation(V,f )

12: ← + wa· Alignment(V,f )

13: ← + wc· Cohesion(V,f )

14: end if

15: ← + wv· Avoidance(visible(A, f ), f )

16: b ← copy fThe boid is updated.

17: velocity(b) ← velocity(b)+

18: if |velocity(b)| > thenIs velocity too high?

19: velocity(b) ← · Unit-Vector(velocity(b))

20: end if

21: position(b) ← position(b)+ velocity(b)

22: R ← R ∪ {b}

23: end while

24: return R

Page 38: Proposal Tesis ALGORITMA GAME ENGINE BERBASIS FROZEN SPOTS DAN HOT SPOTS UNTUK MEMPERCEPAT PROSES PENGEMBANGAN GAME Oleh

38

Algoritma 6 Steering behavior rules

Separation(M,f )

in: set M of flockmates; boid f

out: normalized correction vector

constant: ideal flockmate separation distance ds

1: m ← the flockmate in M nearest to f

2: ← position(m) − position(f )

3: r ← 1 − 2 · ds /(| |+ ds )

lim| |→0 r =−1, lim| |→∞ r = 1,

and r = 0if | |= ds .

4: return r · Unit-Vector( )

Alignment(M,f )

in: set M of flockmates; boid f

out: unit vector of the heading of the nearest flockmate

1: m ← the flockmate in M nearest to f

2: return Unit-Vector(velocity(m))

Cohesion(M,f )

in: set M of flockmates; boid f

out: unit vector towards the centre, or zero vector if already there

1: ←0

Page 39: Proposal Tesis ALGORITMA GAME ENGINE BERBASIS FROZEN SPOTS DAN HOT SPOTS UNTUK MEMPERCEPAT PROSES PENGEMBANGAN GAME Oleh

39

2: for all m ∈ M do

Iterate over the flockmates.

3: ← + position(m)

4: end for

5: ← /|M|

6: ← position(v) − position(f )

7:if = 0 then return Unit-Vector( )

Not at the centre.

8: else return 0 end if

Avoidance(A, f )

in: set A of objects to be avoided; boid f

out: unit vector indicating avoidance, or zero vector if nothing to avoid

constant: avoidance distance da

1: a ← the object in A nearest to f

2: ← position(f ) − position(a)

3: if | | <da then return Unit-Vector( )

Is the object close enough?

4: else return 0 end if

Page 40: Proposal Tesis ALGORITMA GAME ENGINE BERBASIS FROZEN SPOTS DAN HOT SPOTS UNTUK MEMPERCEPAT PROSES PENGEMBANGAN GAME Oleh

40

5.2.6 Model Ketidakpastian (Modeling uncertainty)

Modeling uncertainty menurut jouni smed diklasifikasi menjadi dua

pengertian yaitu “Sesuatu yang akan datang tapi tidak pasti dan sesuatu yang

didapatkan menjadi tidak pasti” (Jouni Smed, 2006). Jouni smed membagi

modeling uncertainty dalam beberapa bentuk algoritma sebagai berikut:

1) Combining two mass functions

2) Ordered weighted aggregation

3) Fuzzy decision-making for Dog Eat Dog

“Penentuan keputusan dalam model ketidakpastian menurut jouni smed

berdasarkan pada data statistik” (Jouni Smed, 2006), ada beberapa teknik

pemodelan probabilistik yang digunakan di antaranya:

1. Baye’s Theorem

Baye’s Theorem diperkenalkan oleh T Bayes pada abad ke 18 dengan

metode perhitungan probabilitas kondisional dalam menentukan hipotesis

, bukti serta asumsi bukti | dijelaskan dengan rumus

sebagai berikut: |Dengan penulisan rumus lain| | .Secara umum, jika kita memiliki banyak hipotesis 0, 1, … … ,

maka disajikan sebagai berikut:| | .∑ .

Page 41: Proposal Tesis ALGORITMA GAME ENGINE BERBASIS FROZEN SPOTS DAN HOT SPOTS UNTUK MEMPERCEPAT PROSES PENGEMBANGAN GAME Oleh

41

2. Bayesian networks

Bayesian networks mencoba menyelesaikan masalah dengan melakukan 2

pendekatan di antaranya:

a. Mengamati perubahan yang menyebabkan probabilitas

b. Mengamati pengaruh perubahan dari probabilitas

Menurut Jouni Smed Bayesian networks merupakan “Perbedaan yang

jelas antara dua hal yang menggambarkan hubungan antara sebab dan

akibat” (Jouni Smed, 2006).

5.3. Framework

Perkembangan suatu framework berbeda dari pengembangan aplikasi standar.

Menurut Jan Bosch, Peter Molin, Michael Mattson dan PerOlof Bengtsson

bahwa “Sebuah framework harus meliputi semua relevan konsep dalam suatu

daerah, sedangkan untuk aplikasi hanya membutuhkan kaitan dengan kebutuhan

aplikasi itu sendiri” (Jan Bosch, 2000). Beberapa permasalahan yang akan

didapatkan pada perkembangan framework sebagai berikut:

1. Model bisnis (business model)

Sebuah framework suatu daerah tertentu dilihat dari sisi perspektif teknologi

yang digunakan, mungkin tidak menguntungkan dari segi bisnis. Akan tetapi

rasio laba dari biaya pengembangan sebuah framework bisa jadi terjadi

dengan penjualan framework itu sendiri kepada perus ahaan lain

2. Perilaku abstrak (verifying abstract behavior )

Digunakan pada berbagai perbedaan, pada jalan yang tidak dikenal, menaksir

kepandaian dan ketepatan merupakan kemampuan yang dilakukan oleh

framework secara umum.

3. Framework menyelesaikan masalah ( framework release problem)

Penyelesaian framework untuk perkembangan aplikasi memerlukan ukuran-

ukuran di antaranya: stability, reusability, exibility , dan documentation

Pemakaian framework pada umumnya menciptakan aplikasi -aplikasi kompleks

yang berdasar pada sebuah framework. Menurut Jan Bosch, Peter Molin, Michael

Page 42: Proposal Tesis ALGORITMA GAME ENGINE BERBASIS FROZEN SPOTS DAN HOT SPOTS UNTUK MEMPERCEPAT PROSES PENGEMBANGAN GAME Oleh

42

Mattson dan PerOlof Bengtsson pemakaian framework menemukan berbagai

bentuk permasalahan dalam penggunaannya contoh pada saat menggunakan

white box framework dan black-bos framework. Pemahaman framework adalah

sala satu syarat mutlak untuk mengevaluasi sebuah framework, Penyesuaian

sejumlah adaptasi yang diperlukan dan bagaimana adaptasi dapat dilaksanakan.

Dibawah ini beberapa permasalahan dalam pemakaian framework:

1. Penerapan framework (Applicability of the framework )

2. Perkiraan pengembangan aplikasi(Estimation of the application development )

3. Debugging the application

Gambar berikut menjelaskan tentang perbedaan aplikasi yang menggunakan

sebuah pengembangan framework ( Framework Development Process) dengan

yang tidak menggunakan proses framework ( Traditional object-oriented Design).

Gambar 16 Development Process of Framework

Framework itu sendiri tidak dijalankan (executable). Untuk menghasilkan file

executable, user haruslah menurunkan framework tersebut dengan

mengimplementasikan pada aplikasi tertentu untuk tiap aplication

42

Mattson dan PerOlof Bengtsson pemakaian framework menemukan berbagai

bentuk permasalahan dalam penggunaannya contoh pada saat menggunakan

white box framework dan black-bos framework. Pemahaman framework adalah

sala satu syarat mutlak untuk mengevaluasi sebuah framework, Penyesuaian

sejumlah adaptasi yang diperlukan dan bagaimana adaptasi dapat dilaksanakan.

Dibawah ini beberapa permasalahan dalam pemakaian framework:

1. Penerapan framework (Applicability of the framework )

2. Perkiraan pengembangan aplikasi( Estimation of the application development )

3. Debugging the application

Gambar berikut menjelaskan tentang perbedaan aplikasi yang menggunakan

sebuah pengembangan framework ( Framework Development Process) dengan

yang tidak menggunakan proses framework ( Traditional object-oriented Design).

Gambar 16 Development Process of Framework

Framework itu sendiri tidak dijalankan (executable). Untuk menghasilkan file

executable, user haruslah menurunkan framework tersebut dengan

mengimplementasikan pada aplikasi tertentu untuk tiap aplication

42

Mattson dan PerOlof Bengtsson pemakaian framework menemukan berbagai

bentuk permasalahan dalam penggunaannya contoh pada saat menggunakan

white box framework dan black-bos framework. Pemahaman framework adalah

sala satu syarat mutlak untuk mengevaluasi sebuah framework, Penyesuaian

sejumlah adaptasi yang diperlukan dan bagaimana adaptasi dapat dilaksanakan.

Dibawah ini beberapa permasalahan dalam pemakaian framework:

1. Penerapan framework (Applicability of the framework )

2. Perkiraan pengembangan aplikasi( Estimation of the application development )

3. Debugging the application

Gambar berikut menjelaskan tentang perbedaan aplikasi yang menggunakan

sebuah pengembangan framework ( Framework Development Process) dengan

yang tidak menggunakan proses framework ( Traditional object-oriented Design).

Gambar 16 Development Process of Framework

Framework itu sendiri tidak dijalankan (executable). Untuk menghasilkan file

executable, user haruslah menurunkan framework tersebut dengan

mengimplementasikan pada aplikasi tertentu untuk tiap aplication

Page 43: Proposal Tesis ALGORITMA GAME ENGINE BERBASIS FROZEN SPOTS DAN HOT SPOTS UNTUK MEMPERCEPAT PROSES PENGEMBANGAN GAME Oleh

43

5.4. Frozen Spots dan Hot Spots

H. Conrad Cunningham, et. al mendefinisikan A software framework adalah

“Aplikasi generik yang memungkinkan aplikasi berbeda menjadi sebuah keluarga

bersama” (H. Conrad Cunningham, 2006) . Menurut H. Conrad Cunningham

Frozen Spots adalah “The Property common to all family members ” sedangkan

Hot spots adalah “The Property that vary among family members” (H. Conrad

Cunningham, 2006).

Hal terpenting dari desain framework terdiri dari:

1. Menentukan point-point yang harus digolongkan sebagai frozen spots, frozen

spot bersifat umum untuk memenuhi kebu tuhan aplikasi

2. Menentukkan aplikasi-aplikasi yang digolongkan sebagai hot spots.

Menurut Marcus Eduardo Markiewicz dan Carlos J.P. Lucena bahwa “Titik

fleksibilitas dari sebuah framework adalah hot spots” (Marcus Eduardo

Markiewicz, 2001). Hot spots itu sendiri adalah kelas abstrak atau sebuah metode

yang harus dilaksanakan. Setelah hot spots mendefinisikan setiap class,

framework akan menggunakan class untuk membuat type class yang baru,

pendekatan framework ini dinamakan “ old code calls new code”. Frozen spots

tidak sama dengan hot spots, karena frozen spots merupakan potongan kode yang

ada pada framework yang nantinya akan dipanggil oleh satu atau banyak hot

spots.

Marcus Eduardo menjelaskan tentang frozen spots dan hot spots pada sebuah

framework adalah “Sebuah generator listrik (frozen spots) yang menggerakkan

banyak mesin motor (hot spots)” (Marcus Eduardo Markiewicz, 2001) . Generator

listrik berupa aplikasi kode yang spesifik yang memiliki kete rkaitan dengan

aplikasi yang dibuat pada setiap hot spots. Mesin motor tidak akan bisa

dijalankan sampai semua titik disambungkan ke generator. Penjelasan di atas

dikiaskan pada gambar dibawah ini.

Page 44: Proposal Tesis ALGORITMA GAME ENGINE BERBASIS FROZEN SPOTS DAN HOT SPOTS UNTUK MEMPERCEPAT PROSES PENGEMBANGAN GAME Oleh

44

Gambar 17 Framework

Marcus Eduardo dan Carlos J.P. Lucena menjelaskan bahwa “ Kapabilitas kode

dan desain dari object oriented frameworks memungkinkan produktivitas lebih

tinggi dan waktu yang singkat dalam hal pemasaran dari sebuah pengembangan

aplikasi, hal ini berbeda dengan penge mbangan software system traditional“

(Marcus Eduardo Markiewicz, 2001)

6. Metode Penelitian

Dalam penelitian ini akan dibagi menjadi beberapa tahapan kegiatan yaitu:

a. Pengembangan Algoritma Game Engine

1. Indentifikasi sistem

Dilakukan untuk mendapatkan karakteristik sistem yang ada saat ini, dan

identifikasi kebutuhan sistem yang terbagi sebagai berikut :

a. Tahapan identifikasi sistem

1) Mengidentifikasi masalah

a) Mengidentifikasi penyebab masalah

b) Mengidentifikasi titik keputusan

c) Mengidentifikasi personel kunci

Page 45: Proposal Tesis ALGORITMA GAME ENGINE BERBASIS FROZEN SPOTS DAN HOT SPOTS UNTUK MEMPERCEPAT PROSES PENGEMBANGAN GAME Oleh

45

2) Memahami kerja sistem yang ada

a) Menentukan jenis penelitian

b) Merencanakan jadwal penelitian

c) Membuat penugasan penelitian/survey

d) Membuat agenda wawancara

e) Mengumpulkan hasil penelitian

b. Jenis dan sumber data

1) Data primer

Data yang diperoleh dari sumbernya dengan melakukan

wawancara terhadap pengembang game yang ada di game

technology research Center Universitas Dian Nuswantoro

2) Data Skunder

Data yang diperoleh secara tidak langsung bersumber dari

dokumentasi, literatur, buku, jurnal, dan informasi lainnya yang

ada hubungannya dengan masalah yang diteliti.

c. Metode pengumpulan data

Untuk mendapatkan data yang benar – benar akurat, relevan, valid

dan dapat dipercaya maka pengumpulan data dilakukan sebagai

berikut:

1) Observasi

Pengumpulan data melalui pengamatan dan pencatatan terhadap

berbagai bentuk game yang menggunakan algoritma game

(random number, tournament, game tree, path finding, decision

making, dan modeling uncertainty). Pengamatan dilakukan di

game technology research center Universitas Dian Nuswantoro.

2) Interview

Pengumpulan data dengan cara tatap muka dan tanya jawab

langsung dengan sumber data, yaitu dosen game technology serta

mahasiswa game technology sebagai calon pengembang game

yang akan menggunakan algoritma game engine.

Page 46: Proposal Tesis ALGORITMA GAME ENGINE BERBASIS FROZEN SPOTS DAN HOT SPOTS UNTUK MEMPERCEPAT PROSES PENGEMBANGAN GAME Oleh

46

3) Survei

Pengumpulan data dengan melakukan survey ke lokasi game

technology research center Universitas Dian Nuswantoro.

4) Studi pustaka

Pengumpulan data dengan cara membaca serta m empelajari

dokumen – dokumen , literatur, buku, jurnal, video / gambar yang

berhubungan dengan obyek penelitian guna mendapatkan teori

ataupun konsep yang dapat digunakan sebagai landasan teori dan

kerangka pemikiran dalam penelitian dan untuk mencari

metodologi yang sesuai serta membandingkan teori yang ada

dengan fakta yang ada di lapangan.

2. Tahap analisis

a. Melakukan perincian analisis permasalahan dan kebutuhan dengan

cara mengamati pelaksanaan metode pembuatan algoritma game

engine

b. Memilih metode penyelesaian masalah berdasarkan pengolahan data

dan studi pustaka untuk mendapatkan teori -teori yang berhubungan

dengan metode pembuatan algoritma game engine

c. Menyusun kerangka penyelesaian masalah berdasar hasil pengolahan

data dan studi pustaka

3. Tahap perancangan

proses perancangan mulai dari pendefinisian algoritma, menerjemahkan

algoritma menggunakan bahasa pemrograman java dan membentuknya

menjadi sebuah framework software (algoritma game engine) dengan

menggunakan teori frozen spots dan hot spots.

4. Tahap pembangunan

Berdasarkan hasil rancangan yang telah dibuat pada tahap perencanaan,

maka dibangun sebuah framework software (algoritma game engine) yang

sesuai dengan kebutuhan yang diuraikan ke dalam modul – modul

program (menu utama) dan metode / alat yang digunakan untuk

pengetesan program.

Page 47: Proposal Tesis ALGORITMA GAME ENGINE BERBASIS FROZEN SPOTS DAN HOT SPOTS UNTUK MEMPERCEPAT PROSES PENGEMBANGAN GAME Oleh

47

5. Pengujian algoritma game engine

Melakukan pengetesan terhadap algoritma game engine yang telah

selesai dibuat sebelum diimplementasikan dengan menggunakan teknik

pengujian perangkat lunak yang telah ada, diantaranya:

1) Pengujian white box

2) Pengujian black box

b. Implementasi Algoritma Game Engine

Pada bagian ini, prototipe algoritma game engine yang dibuat setelah melalui

tahapan pembangunan sebelumnya, akan diujikan pada mahasiswa game

technology / calon pengembang game technology research center Universitas

Dian Nuswantoro. Tahapan ini berfungsi memberi masukan melalui

pengamatan tentang hal – hal apa yang perlu ditambahkan dalam algoritma

game engine ini, diharapkan dengan mengetahui keinginan pengguna,

algoritma game engine ini dapat lebih dikembangkan dan dapat lebih

disempurnakan

c. Pengukuran penelitian

Dalam proses ini, peneliti akan membandingkan hasil pretest yang

dilaksanakan sebelum pengguna menggunakan Algoritma game engine ini,

dengan hasil posttest yang dilakukan setelah pengguna menggunakan

Algoritma game engine ini sebagai alat bantu mempercepat proses

pengembangan game. Hasil tersebut nantinya akan diuji hipotesa

menggunakan metode t-test. Metode ini digunakan karena t-test dapat

digunakan untuk menguji kecocokan atas perbedaan pada suatu eksperimen

yang menggunakan satu kelompok sampel. Apabila sebelum melakukan

eksperimen, peneliti melakukan pengukuran awal ( pretest), maka peneliti

akan mempunyai dua kelompok nilai yang berasal d ari satu kelompok

sampel. Apabila eksperimen itu mempunyai dampak terhadap hasil (tujuan

eksperimen), maka kedua kelompok skor tersebut akan menunjukkan

perbedaan yang signifikan (Irianto, 2004)

Page 48: Proposal Tesis ALGORITMA GAME ENGINE BERBASIS FROZEN SPOTS DAN HOT SPOTS UNTUK MEMPERCEPAT PROSES PENGEMBANGAN GAME Oleh

48

7. Kerangka Pemikiran

Pemikiran peneliti berawal dari permasalahan bahwa pengembang game

memerlukan waktu yang lama pada proses pembuatan algoritma game. Oleh

karena itu peneliti menggunakan konsep Algorithm Game Engine untuk

mengatasi masalah tersebut. Dalam pengembangannya pe neliti menjelaskan

spesifikasi dan desain menggunakan UML, dalam pembuatan Algoritma Game

Engine menggunakan bahasa pemrograman Java Standard Edition. serta

menggunakan Whitebox dan Blackbox dalam pengujian sistem tersebut.

Penelitian ini akan diimplementa si pada Game Technology Researh Center

dengan melakukan Pretest (sebelum menggunakan Engine) dan Posttest (setelah

menggunakan Engine). Hasil dari penelitian akan di tunjukan dengan Grafik

perbedaan Pretest-Posttest. Untuk lebih jelasnya kerangka pikir dari penelitian

ini digambarkan sebagai berikut:

Gambar 18 Kerangka Berpikir

Page 49: Proposal Tesis ALGORITMA GAME ENGINE BERBASIS FROZEN SPOTS DAN HOT SPOTS UNTUK MEMPERCEPAT PROSES PENGEMBANGAN GAME Oleh

49

Daftar Pustaka

Aguilera, M. D., & Mendiz, A. (2003, October). Video Games and Education (Education inthe Face of parallel School). ACM Computers in Entertainment Vol 1 Article 01 .

Akilli, G. K. (2007). Games and Simulations : A New Approach in Education ? Pennsylvania:Information Science Publishing.

Blow, J. (2004). Game Development : Harder Than You Think. Queue, volume 1 Issue 10 , 36.

Champandard, A. J. (2004). AI Game Development. Indianapolis: New Riders Publishing.

Edmonds, J. (2008). How to Think About Algorithms. New York: Cambridge University Press.

Fabio Petrillo, M. P. (2009). What Went Wrong? A Survey of Problems ini GameDevelopment. ACM Computers in Entertainment, Vol. 7, No 1, Article 13 , 13.

H. Conrad Cunningham, Y. L. (2006). Framework Design Using Function Generalization:ABinary Tree Traversal Case Study. ACM SE’06 , 312.

Irianto, P. D. (2004). Statistik konsep dasar dan aplikasinya. Jakarta: Kencana.

Jan Bosch, P. M. (2000). Object -Oriented Framework-base Software Development:Problemsand Expreriences. ACM , 4.

Jouni Smed, H. H. (2006). Algorithm and Networking for computer game. England: JohnWiley & Sons, Ltd.

Marcus Eduardo Markiewicz, C. J. (2001). Object Oriented Framework Development. ACM ,1.

Ritzhaupt, A. D. (2009). Creating a Game Development Course with Limited Resources:AnEvaluation Study . ACM Transactions on Computing Education, Vol. 9, No. 1, Article 3 ,3:1,3:2.

Robert Sedgewick. (1983). Algorithms. Marly-le-Roi: Addison-Wesley.

Sedgewick, R. (2002). Algorithm in Java. Boston: Addison Wesley.

Stefan Marks, J. W. (2007). Evaluation of Game Engines for Simulated Surgical Training. TheAssociation for Computing Machinery, inc , 274.

Weisstein, E. (2009, Oct 04). Wolfram MathWorld Reseacrh . Retrieved Oct 2009, 06, fromLinierCongruenceMethod: http://mathworld.wolfram.com/LinearCongruenceMethod.html

Wolf, M. J. (2000). Genre and The Video Game. The Medium of The Video Game. Texas:University of Texas Press.

Page 50: Proposal Tesis ALGORITMA GAME ENGINE BERBASIS FROZEN SPOTS DAN HOT SPOTS UNTUK MEMPERCEPAT PROSES PENGEMBANGAN GAME Oleh

50