23
II-1 BAB II DASAR TEORI 2.1 Game Video game merupakan salah satu media hiburan yang paling populer untuk semua kalangan umur. Sejak pertama kali ditemukan, teknologi game telah mengalami kemajuan yang sangat pesat. Ini ditandai dengan jenis, produk, alat, dan jenis interaksinya dengan pengguna yang semakin beraneka ragam bentuknya. 2.1.1 Pengertian Game Game adalah sebuah bentuk seni di mana penggunanya, disebut sebagai pemain, diharuskan membuat keputusan-keputusan dengan tujuan untuk mengelola sumber daya yang diperoleh dari kesempatan bermain (token) miliknya, untuk mencapai suatu tujuan tertentu [CRA03]. Video game adalah bentuk game yang interaksi utamanya melibatkan media video (dan biasanya melibatkan audio). Berdasarkan representasi visualnya, game dapat dibedakan menjadi 2 jenis, yaitu game 2 dimensi (2D) dan 3 dimensi (3D). Game 2D adalah game, yang secara matematis, hanya melibatkan 2 elemen kordinat kartesius, yaitu x dan y, sehingga konsep kamera pada game 2D hanya menentukan “gambar” mana pada game yang dapat dilihat oleh pemain. Sedangkan game 3D adalah game yang selain melibatkan elemen x dan y, juga melibatkan elemen z pada perhitungannya, sehingga konsep kamera pada game 3D benar-benar menyerupai konsep kamera pada kehidupan nyata, yaitu selain digeser (seperti pada game 2D), juga dapat diputar dengan poros tertentu. Untuk lebih memperjelas perbedaan tampilan game 2D dan 3D, contoh tampilan game 2D dan 3D dapat dilihat pada Gambar II-1 dan Gambar II-2.

BAB II DASAR TEORI - · PDF filediharuskan membuat keputusan-keputusan dengan tujuan untuk mengelola sumber daya yang diperoleh dari kesempatan bermain ... Gambar II-2 Contoh Game

Embed Size (px)

Citation preview

Page 1: BAB II DASAR TEORI - · PDF filediharuskan membuat keputusan-keputusan dengan tujuan untuk mengelola sumber daya yang diperoleh dari kesempatan bermain ... Gambar II-2 Contoh Game

II-1

BAB II

DASAR TEORI

2.1 Game

Video game merupakan salah satu media hiburan yang paling populer untuk semua

kalangan umur. Sejak pertama kali ditemukan, teknologi game telah mengalami

kemajuan yang sangat pesat. Ini ditandai dengan jenis, produk, alat, dan jenis

interaksinya dengan pengguna yang semakin beraneka ragam bentuknya.

2.1.1 Pengertian Game

Game adalah sebuah bentuk seni di mana penggunanya, disebut sebagai pemain,

diharuskan membuat keputusan-keputusan dengan tujuan untuk mengelola sumber daya

yang diperoleh dari kesempatan bermain (token) miliknya, untuk mencapai suatu tujuan

tertentu [CRA03]. Video game adalah bentuk game yang interaksi utamanya melibatkan

media video (dan biasanya melibatkan audio).

Berdasarkan representasi visualnya, game dapat dibedakan menjadi 2 jenis, yaitu game

2 dimensi (2D) dan 3 dimensi (3D). Game 2D adalah game, yang secara matematis,

hanya melibatkan 2 elemen kordinat kartesius, yaitu x dan y, sehingga konsep kamera

pada game 2D hanya menentukan “gambar” mana pada game yang dapat dilihat oleh

pemain. Sedangkan game 3D adalah game yang selain melibatkan elemen x dan y, juga

melibatkan elemen z pada perhitungannya, sehingga konsep kamera pada game 3D

benar-benar menyerupai konsep kamera pada kehidupan nyata, yaitu selain digeser

(seperti pada game 2D), juga dapat diputar dengan poros tertentu. Untuk lebih

memperjelas perbedaan tampilan game 2D dan 3D, contoh tampilan game 2D dan 3D

dapat dilihat pada Gambar II-1 dan Gambar II-2.

Page 2: BAB II DASAR TEORI - · PDF filediharuskan membuat keputusan-keputusan dengan tujuan untuk mengelola sumber daya yang diperoleh dari kesempatan bermain ... Gambar II-2 Contoh Game

II-2

Gambar II-1 Contoh Game 2D

Gambar II-2 Contoh Game 3D

2.1.2 Sejarah Singkat Game

Sejak pertama kali ditemukan sampai saat ini, game telah melewati beberapa fase

evolusi penting yang berperan besar terhadap perkembangan game yang sudah sangat

pesat sekarang ini [ADA03].

Page 3: BAB II DASAR TEORI - · PDF filediharuskan membuat keputusan-keputusan dengan tujuan untuk mengelola sumber daya yang diperoleh dari kesempatan bermain ... Gambar II-2 Contoh Game

II-3

Pada jaman komputer digital modern pertama dikembangkan, yaitu pada masa Perang

Dunia II dan pada akhirnya baru tersedia secara komersil pada tahun 1950-an, komputer

berjalan dalam “batch mode”. Istilah ini untuk menggambarkan bagaimana komputer

digital tersebut bekerja, pengguna menulis programnya pada punch card lalu komputer

menjalankannya dan menampilkan hasilnya pada suatu alat pencetak. Pada masa ini,

untuk bermain game pada komputer digital ini, setiap pemain mengetikkan sesuatu pada

suatu kartu data lalu memasukkannya pada komputer dan para pemain melihat siapa

pemenangnya pada alat pencetak tersebut. Pada masa setelahnya, tahun 1960-an, saat

sistem operasi yang mendukung timesharing telah diciptakan, pengguna komputer

sudah dapat menggunakan komputer secara interaktif pada terminal. Namun karena

komputer masih merupakan barang mahal bernilai jutaan dollar, saat itu belum ada

pasar game, sehingga para game programmer membuat game hanya demi kepuasan

pribadi saja. Adapun game pada jaman tersebut ditulis menggunakan bahasa

pemrograman FORTRAN dan BASIC.

Pada tahun 1971, saat Intel telah menciptakan microprocessor, muncullah game Pong,

sebuah game arcade yang dioperasikan dengan memasukkan koin ke dalam mesinnya.

Ada pula versi console Pong, yang bernama Magnavox Odyssey. Sejak saat itu, game

mencetak sukses pertamanya dengan menemukan pasarnya sendiri. Mesin game console

yang paling populer saat itu, Atari’s 2600 dan Mattel’s Intellivision, memungkinkan

siapapun bisa membuat ROM cartridge yang berisi game tertentu pada mesin ini. Game

pada jaman itu harus dapat dimainkan dengan menggunakan memori 4K, sehingga

pemrograman yang dilakukan tidaklah semudah pemrograman berorientasi objek seperti

yang kita kenal sekarang ini. Biasanya untuk sebuah game, sumber daya manusia yang

dibutuhkan adalah hanya programmer saja. Namun akibat proses produksi yang

semakin cepat dan semakin tidak menghiraukan kualitas, game menjadi banyak

mengandung bug, terlalu mirip satu sama lainnya, dan tidak begitu menarik lagi. Pada

tahun 1983, pasar sudah mulai kehilangan minatnya terhadap game dan perusahaan

game mulai bangkrut. Setelah masa awal perkembangan game ini, dunia game telah

melalui beberapa fase, yaitu fase game PC (Personal Computer), fase terlahirnya

kembali game console, dan fase game online. Sekarang ketiga fase game tersebut sudah

semakin banyak variannya dan masing-masing memiliki kelompok penggemarnya

tersendiri.

Page 4: BAB II DASAR TEORI - · PDF filediharuskan membuat keputusan-keputusan dengan tujuan untuk mengelola sumber daya yang diperoleh dari kesempatan bermain ... Gambar II-2 Contoh Game

II-4

2.1.3 Jenis Game

Berikut ini akan dijabarkan beberapa jenis game berdasarkan cara pembuatannya, cara

pemasarannya, mesin yang menjalankannya, harganya, dan siapa pembelinya [ADA03].

1. Game PC

Game PC memiliki beberapa kelebihan dibandingkan dengan game jenis

lainnya, yaitu dapat memiliki banyak antarmuka baik untuk input maupun

output, dapat melibatkan penggunaan modem, output visual kualitas tinggi

karena layar komputer biasanya memiliki resolusi yang jauh lebih tinggi

dibandingkan layar televisi biasa, dan kualitas game yang lebih baik karena

spesifikasi prosesor dan RAM komputer yang umumnya lebih tinggi

dibandingkan dengan mesin game console. Sedangkan kekurangannya adalah

spesifikasi komputer yang sangat bervariasi antara satu komputer dan komputer

lainnya, baik yang menyangkut perangkat keras maupun perangkat lunak,

menyebabkan suatu game komputer dapat berjalan dengan sangat baik pada satu

komputer tetapi tidak bisa berjalan sama sekali pada komputer yang lain. Ini

biasanya disebabkan adanya inkompatibilitas perangkat keras atau perangkat

lunak antara komputer yang satu dengan yang lainnya.

2. Game Console

Game console adalah game yang dijalankan pada suatu mesin game spesifik

yang biasanya tersedia di rumah pribadi, seperti Microsoft Xbox 360, Nintendo

Wii, dan sebagainya. Output audio dan visual mesin game console biasanya

menggunakan televisi, sehingga untuk memainkan game console, mesin tersebut

harus disambungkan dengan televisi terlebih dahulu. Pengembangan game

console biasanya tetap dilakukan pada komputer biasa, karena mesin game

console bukanlah komputer multifungsi yang bisa digunakan untuk menulis

kode program. Namun komputer yang digunakan untuk menulis kode program

tersebut harus dilengkapi dengan kemampuan untuk berkomunikasi dengan

mesin game console, sehingga ketika game telah ditulis di komputer, mesin

mengunduh file game tersebut dan kemudian menjalankannya.

Page 5: BAB II DASAR TEORI - · PDF filediharuskan membuat keputusan-keputusan dengan tujuan untuk mengelola sumber daya yang diperoleh dari kesempatan bermain ... Gambar II-2 Contoh Game

II-5

3. Game Arcade

Game arcade adalah game yang dijalankan pada mesin dengan input dan output

audio visual yang telah terintegrasi dan tersedia di tempat-tempat umum, seperti

mal, bandara, dan sebagainya.

4. Game Online

Game online adalah game yang hanya dapat dimainkan secara online melalui

LAN atau internet. Pemain game online dapat berkomunikasi, bertarung, atau

bekerja sama dengan pemain lainnya di tempat lain. Fitur inilah yang

menyebabkan game online sangat digemari, karena banyak orang lebih senang

bermain bersama pemain “nyata” daripada dengan pemain “maya” yang

dikendalikan oleh intelegensia buatan.

5. Game Handheld Devices

Game handheld devices adalah game yang dijalankan pada mesin komputer mini

yang dapat dibawa ke manapun dengan mudah dan praktis, seperti Game Boy,

PDA, Nintendo DS, dan sebagainya.

2.1.4 Genre Game

Berikut ini akan dijabarkan beberapa genre game berdasarkan cara atau aturan

permainannya [ADA03].

1. Game Action

Genre game ini biasanya membutuhkan kemampuan refleks yang baik dan

koordinasi tangan dan mata yang baik pula. Genre game ini dapat dibedakan

menjadi beberapa sub-kategori:

e. First-person shooters (FPSs): game tembak-menembak yang menggunakan

alat output visual sebagai “kamera” sudut pandang si pemain, contoh:

Quake, Half-Life, dan Unreal Tournament

f. Third-person games: game action di mana pemain dapat melihat avatar

pemain di layar, biasanya dilihat dari belakang, contoh: Tomb Raider, Mario

Sunshine, dan Banjo-Kazooie

g. Fighting games: pada game ini pemain mengendalikan karakter game yang

sedang berkelahi

h. Dance simulations: game ini mensimulasikan tarian dan menuntut pemain

untuk mempunyai kemampuan mengikuti ritme yang baik

Page 6: BAB II DASAR TEORI - · PDF filediharuskan membuat keputusan-keputusan dengan tujuan untuk mengelola sumber daya yang diperoleh dari kesempatan bermain ... Gambar II-2 Contoh Game

II-6

i. Action-adventures: game ini membutuhkan banyak aksi dan memberikan

tantangan bagi pemain untuk menyelesaikan petualangan yang ditawarkan

j. Platform games: game ini merupakan game petualangan klasik di mana

pemain mengendalikan karakter game dilihat dari samping, contoh: Super

Mario, Sonic the Hedgehog, dan sebagainya

2. Game Strategi dan Perang

Pada genre ini, pemain mengendalikan karakter game yang sedang berperang

dengan misi tertentu. Pada awalnya, genre ini kurang populer karena pemain

harus menunggu gilirannya untuk dapat melakukan suatu aksi (turn-based).

Namun dengan ditemukannya tipe real-time strategy (RTS), seperti Warcraft

dan Command & Conquer, genre ini menjadi sangat digemari oleh banyak

orang. Karena kompleksitas antarmukanya, game dengan genre ini biasanya

dimainkan di komputer.

3. Game Olahraga

Game ini mensimulasikan olahraga di kehidupan nyata. Game ini mencetak

sukses yang luar biasa pada kategori game console. Beban kerja perancang game

olahraga biasanya relatif kecil, karena aturan permainannya sudah sedemikian

rupa sehingga tidak perlu membutuhkan usaha yang besar untuk membuatnya

menarik. Namun, beban kerja programmer dan artist game olahraga relatif lebih

berat dibandingkan dengan genre game lainnya, karena game ini harus semirip

mungkin dengan yang terjadi di kehidupan nyata agar dapat menjadi game yang

disukai.

4. Game Simulasi Kendaraan

Game ini mensimulasikan kendaraan, baik darat, air, maupun udara. Game ini

membutuhkan fitur efek fisika yang baik, karena karakter yang dikendalikan

berupa kendaraan, yaitu benda mekanik, yang memiliki bermacam-macam sifat

fisika. Oleh karena itu, game harus dapat mensimulasikannya dengan baik, agar

game menjadi menarik.

Page 7: BAB II DASAR TEORI - · PDF filediharuskan membuat keputusan-keputusan dengan tujuan untuk mengelola sumber daya yang diperoleh dari kesempatan bermain ... Gambar II-2 Contoh Game

II-7

5. Game Simulasi Konstruksi dan Manajemen

Pada genre game ini, pemain diminta untuk membangun sebuah dunia dan

membuatnya sedemikian rupa sehingga dunia tersebut dapat berjalan dengan

baik. Contoh game yang termasuk ke dalam genre ini adalah Sim City, The Sims,

School Tycoon, dan sebagainya.

6. Game Petualangan

Pada game dengan genre ini, pemain diminta untuk menyelesaikan misi utama

dan misi sampingan untuk berkelana di dunia game tersebut.

7. Game RPG Fantasi

RPG (Role-playing Games) Fantasi adalah game yang mengharuskan pemainnya

mengendalikan karakter game untuk mengeksplorasi dunia game tersebut sambil

mengumpulkan pengalaman sehingga karakter game tersebut bisa menjadi lebih

kuat. Game genre ini biasanya menekankan pada alur cerita yang menarik

sehingga membuat pemain tidak bosan untuk memainkannya terus-menerus.

Contoh game dengan genre RPG fantasi adalah Final Fantasy, Chrono Cross,

dan sebagainya.

8. Game RPG Online

Genre ini mirip dengan RPG fantasi, namun dimainkan secara online. Karena

online, game dengan genre ini pasti dimainkan oleh banyak pemain dari

berbagai tempat. Genre ini biasa disebut juga Massively-multiplayer online

role-playing games (MMORPG).

9. Game Puzzle

Game dengan genre ini menyediakan suatu teka-teki yang harus dipecahkan

dengan berbagai keterbatasan pemain, seperti keterbatasan waktu. Teka-teki ini

bisa berupa jigsaw puzzle yang harus disusun dengan benar, menyusun balok

agar tidak melebihi garis tertentu (Tetris), dan sebagainya.

2.2 Teori Grafika 2D

Untuk mengembangkan game engine 2D, diperlukan pengetahuan mengenai grafika 2D.

Oleh karena itu, pada subbab ini akan dijabarkan secara singkat beberapa hal berkaitan

dengan teori dasar grafika 2D.

Page 8: BAB II DASAR TEORI - · PDF filediharuskan membuat keputusan-keputusan dengan tujuan untuk mengelola sumber daya yang diperoleh dari kesempatan bermain ... Gambar II-2 Contoh Game

II-8

2.2.1 Representasi Gambar

Ada dua jenis format grafik sebagai representasi gambar, yaitu raster dan vector.

Format gambar raster adalah format yang menyimpan informasi nilai warna pada setiap

kordinat piksel pada gambar, contoh: GIF (Graphics Interchange Format) dan PNG

(Portable Network Graphics). Sedangkan format gambar vector adalah format gambar

yang menggunakan geometri primitif seperti titik, garis, kurva, dan poligon sebagai

representasi gambar pada grafika komputer, contoh: SVG (Scalable Vector Graphics)

[BAK08].

Secara umum, pada sebuah gambar dengan format PNG, setiap piksel terdiri dari 4 nilai

warna, yaitu komponen merah/red (R), hijau/green (G), biru/blue (B), dan alpha(A)

[W3C03]. Nilai R, G, dan B masing-masing menyatakan intensitas warna merah, hijau,

dan biru yang terkandung pada suatu piksel tertentu. Sedangkan nilai A menyatakan

tingkat transparansi suatu piksel. Jangkauan nilai R, G, B, dan A adalah 0-255, dengan 0

berarti intensitas paling rendah dan 255 berarti intensitas paling tinggi. Dengan

demikian jika nilai A pada suatu piksel sama dengan 0, maka piksel tersebut benar-

benar transparan. Sedangkan jika nilai A pada suatu piksel sama dengan 255, maka

piksel tersebut sama sekali tidak transparan. Format BMP hampir sama dengan PNG,

namun berbeda dalam hal kompresi. Hampir semua format BMP tidak dikompresi,

walaupun sebenarnya ada BMP yang mendukung kompresi, sehingga ukuran gambar

yang sama dalam format BMP lebih besar daripada format PNG. Format JPEG juga

hampir sama dengan PNG, namun berbeda dalam hal algoritma kompresi dan tidak

tersedianya fitur transparansi pada JPEG. Format JPEG dapat mendukung sampai 16.7

juta warna, sehingga biasa digunakan untuk menyimpan foto [PNG06].

2.2.2 Sprite

Dalam dunia pengembangan game dan grafika komputer, terdapat istilah sprite. Sprite

adalah gambar atau image [CAR08]. Beberapa properti sprite yang penting untuk

diketahui adalah:

1. Data Warna

Properti ini merupakan informasi mengenai data warna per piksel yang

membentuk sprite. Data warna ini didapatkan dari file gambar atau data warna

yang dibangkitkan secara programatik.

Page 9: BAB II DASAR TEORI - · PDF filediharuskan membuat keputusan-keputusan dengan tujuan untuk mengelola sumber daya yang diperoleh dari kesempatan bermain ... Gambar II-2 Contoh Game

II-9

2. Titik Origin

Properti ini menyatakan titik pusat sprite. Umumnya letak titik ini pada kiri atas

sprite (0, 0).

3. Posisi

Properti ini menyatakan letak penggambaran sprite pada media penggambaran,

misalnya layar monitor atau sprite lainnya. Umumnya dinyatakan dalam bentuk

titik dan relatif terhadap titik origin sprite.

4. Rotasi

Properti ini menyatakan besarnya perputaran sprite relatif terhadap gambar

asalnya. Titik poros rotasi adalah titik origin sprite.

5. Skala

Properti ini menyatakan pengecilan atau perbesaran ukuran sprite relatif

terhadap gambar asalnya.

6. Pencerminan

Properti ini menyatakan pencerminan sprite. Sumbu pencerminan dapat berupa

garis horizontal maupun vertikal dan letaknya dipengaruhi oleh titik origin

sprite.

7. Kedalaman

Properti ini menyatakan kedalaman sprite pada media penggambaran pada arah

sumbu Z pada kordinat kartesius.

8. Blending Mode

Properti ini menyatakan mode pencampuran/penggabungan elemen data warna

sprite dengan elemen data warna pada media penggambaran. Ada 3 blending

mode yang paling umum digunakan:

a. Alpha Blend: nilai alpha sprite digabungkan dengan nilai alpha media

penggambaran

b. Additive: nilai R, G, B, dan A sprite digabungkan dengan nilai R, G, B, dan

A media penggambaran

c. None: tidak ada nilai warna yang digabungkan

Page 10: BAB II DASAR TEORI - · PDF filediharuskan membuat keputusan-keputusan dengan tujuan untuk mengelola sumber daya yang diperoleh dari kesempatan bermain ... Gambar II-2 Contoh Game

II-10

2.3 Game Engine

Game engine adalah suatu sistem perangkat lunak yang menyediakan abstraksi dari

kegiatan yang sering dilakukan dalam pengembangan game, seperti rendering, efek

fisika, input, dan sebagainya [WAR08]. Berdasarkan jenis objek yang digambar di

media output visual, game engine dibedakan menjadi 2 macam: game engine 2D dan

3D. Game engine 2D adalah yang digunakan untuk membuat game 2 dimensi, yaitu

game yang objek-objeknya hanya mempunyai 2 elemen untuk menyatakan posisi

penggambarannya di media output visual dengan titik kordinat kartesius, yaitu x dan y.

Sedangkan game engine 3D adalah yang digunakan untuk membuat game 3 dimensi,

yaitu game yang objek-objeknya mempunyai 3 elemen untuk menyatakan posisi

penggambarannya di media output visual dengan titik kordinat kartesius, yaitu x, y, dan

z. Ada beberapa game engine yang meliputi baik grafis 2D maupun 3D.

Berikut adalah beberapa contoh game engine yang populer saat ini:

1. Cry Engine

Game engine berbayar produksi Crytek ini adalah game engine yang menangani

baik grafis 2D maupun 3D. Engine ini ditulis dalam bahasa C/C++ dan dibangun

di atas Microsoft DirectX9 dan Microsoft DirectX10.

2. TorqueX 2D

Game engine berbayar produksi Garage Games ini adalah game engine yang

menangani grafis 2D. Engine ini ditulis dalam bahasa C# dan dibangun di atas

framework XNA.

3. Playground SDK

Game engine gratis produksi Playfirst ini adalah game engine yang menangani

grafis 2D. Engine ini ditulis dalam bahasa C++. Engine ini merupakan engine

yang multiplatform, karena dapat digunakan baik pada OpenGL maupun pada

Microsoft DirectX.

Pada bagian-bagian berikutnya akan dijabarkan fitur-fitur yang mungkin terdapat pada

game engine 2D, yaitu input handler, animasi, graphical user interface, collision

detection, physics, particle system, tiling engine, scripting, isometric scene manager,

particle editor, level editor, dan audio.

Page 11: BAB II DASAR TEORI - · PDF filediharuskan membuat keputusan-keputusan dengan tujuan untuk mengelola sumber daya yang diperoleh dari kesempatan bermain ... Gambar II-2 Contoh Game

2.3.1 Input Handler

Input handler adalah elemen pada game

dari input device, seperti keyboard

input handler pada game

sedang dalam keadaan ditekan atau tidak [WIH06].

bagian penting dalam suatu game

dari pengguna, adalah aspek utama dari sebuah game.

2.3.2 Animasi

Animasi adalah metode grafika yang menciptakan ilusi pergerakan benda dengan cara

penggambaran sejumlah gambar yang berbeda yang dilakukan secara berurutan

selang waktu yang relatif pendek

yang dimaksud di atas adalah urutan kejadian yang membentuk gerakan benda tersebut.

Pada game engine, terdapat fitur

beranimasi memiliki sejumlah gambar berbeda

tersebut merupakan bagian dari gerakan yang dimaksud. Misalnya, animasi karakter

yang sedang terbang menggunakan kain (

Gambar

elemen pada game engine yang bertugas untuk menerima input

keyboard, mouse, game pad, dan lain-lain.

pada game engine, programmer dapat mengecek apakah suatu tombol

sedang dalam keadaan ditekan atau tidak [WIH06]. Input handler adalah salah satu

bagian penting dalam suatu game engine, karena aspek interaktif, yaitu melibatkan input

dari pengguna, adalah aspek utama dari sebuah game.

Animasi adalah metode grafika yang menciptakan ilusi pergerakan benda dengan cara

penggambaran sejumlah gambar yang berbeda yang dilakukan secara berurutan

selang waktu yang relatif pendek [ROG95]. Perlu diketahui bahwa sejumlah gambar

dimaksud di atas adalah urutan kejadian yang membentuk gerakan benda tersebut.

terdapat fitur untuk membuat benda beranimasi pada game.

beranimasi memiliki sejumlah gambar berbeda-beda di mana masing-masing gambar

n bagian dari gerakan yang dimaksud. Misalnya, animasi karakter

yang sedang terbang menggunakan kain (Gambar II-3).

Gambar II-3 Contoh Gambar Objek Beranimasi

II-11

yang bertugas untuk menerima input

Dengan adanya

dapat mengecek apakah suatu tombol

adalah salah satu

, karena aspek interaktif, yaitu melibatkan input

Animasi adalah metode grafika yang menciptakan ilusi pergerakan benda dengan cara

penggambaran sejumlah gambar yang berbeda yang dilakukan secara berurutan dengan

Perlu diketahui bahwa sejumlah gambar

dimaksud di atas adalah urutan kejadian yang membentuk gerakan benda tersebut.

beranimasi pada game. Benda

masing gambar

n bagian dari gerakan yang dimaksud. Misalnya, animasi karakter

Page 12: BAB II DASAR TEORI - · PDF filediharuskan membuat keputusan-keputusan dengan tujuan untuk mengelola sumber daya yang diperoleh dari kesempatan bermain ... Gambar II-2 Contoh Game

II-12

2.3.3 Graphical User Interface

Definisi formal Graphical User Interface (GUI) atau antarmuka adalah sistem kontrol

komputer yang memungkinkan pengguna untuk menggunakan suatu alat input untuk

mengarahkan cursor ke pilihan yang ditampilkan pada layar monitor dan memilihnya,

sehingga komputer dapat melakukan suatu aksi tergantung pilihan tersebut [ROG95].

Demikian pula antarmuka pada game, ia menampung input dan memacu sistem untuk

melakukan suatu aksi. Selain itu, antarmuka pada game (juga pada sistem lainnya)

biasanya juga berfungsi untuk mempermudah navigasi dan menyampaikan informasi

kepada pengguna.

Pada game engine, terdapat fitur untuk membuat komponen-komponen antarmuka

game, seperti: button, textbox, slider, dan sebagainya (Gambar II-4). Fitur ini juga dapat

melakukan penanganan event yang terjadi pada komponen antarmuka akibat dari

adanya interaksi komponen antarmuka tersebut dengan pengguna.

Gambar II-4 Contoh Antarmuka pada Game

2.3.4 Collision Detection

Pada game, suatu hal yang biasa jika diperlukan suatu mekanisme untuk mengetahui

apakah suatu benda bersentuhan / bertabrakan dengan benda lainnya. Mekanisme ini

biasa disebut dengan collision detection.

Pada game engine, terdapat fitur untuk menciptakan benda yang dinyatakan dapat

bersentuhan dengan benda lain, sehingga diperlukan mekanisme collision detection ini.

Page 13: BAB II DASAR TEORI - · PDF filediharuskan membuat keputusan-keputusan dengan tujuan untuk mengelola sumber daya yang diperoleh dari kesempatan bermain ... Gambar II-2 Contoh Game

II-13

Berikut akan dijelaskan beberapa tipe collision detection:

1. Rectangle Collision Detection

Pada tipe collision detection ini, objek dianggap sebagai sebuah bujur sangkar

dan perhitungan collision detection dilakukan dengan menggunakan rumus

pencarian perpotongan dua bujur sangkar (Gambar II-5).

Gambar II-5 Rectangle Collision Detection

2. Circle Collision Detection

Pada tipe collision detection ini, objek dianggap sebagai sebuah lingkaran dan

perhitungan collision detection dilakukan dengan menggunakan rumus

pencarian perpotongan dua lingkaran (Gambar II-6).

Gambar II-6 Circle Collision Detection

Page 14: BAB II DASAR TEORI - · PDF filediharuskan membuat keputusan-keputusan dengan tujuan untuk mengelola sumber daya yang diperoleh dari kesempatan bermain ... Gambar II-2 Contoh Game

II-14

3. Polygon Collision Detection

Pada tipe collision detection ini, objek dianggap sebagai sebuah poligon yang

paling menyerupai bentuk objek tersebut (Gambar II-7). Oleh karena itu,

dibandingkan dengan 2 tipe collision detection yang telah dijelaskan

sebelumnya, polygon collision detection adalah yang paling akurat.

Gambar II-7 Polygon Collision Detection

4. Per Pixel Collision Detection

Pada tipe collision detection ini, perhitungan collision detection melibatkan

piksel-piksel tertentu pada objek, sehingga jika piksel pada objek berhimpitan

dengan piksel pada objek lainnya, maka kedua objek tersebut dianggap

bersentuhan satu sama lain (Gambar II-8).

Gambar II-8 Per Pixel Collision Detection

2.3.5 Physics

Pada game dengan genre tertentu, terdapat kebutuhan untuk menciptakan benda yang

sifat fisikanya menyerupai benda di kehidupan nyata, misalnya: bola basket dapat

dipantulkan ke lantai, pohon bisa jatuh ketika ditebang, dan sebagainya.

Page 15: BAB II DASAR TEORI - · PDF filediharuskan membuat keputusan-keputusan dengan tujuan untuk mengelola sumber daya yang diperoleh dari kesempatan bermain ... Gambar II-2 Contoh Game

II-15

Pada game engine, untuk memfasilitasi kebutuhan ini diperlukan suatu perhitungan

fisika yang relatif sederhana dan mudah diterapkan namun cukup untuk memodelkan

kejadian fisika di dunia nyata. Hukum fisika Newton cocok untuk diterapkan karena

merupakan hukum fisika dasar yang menyatakan pergerakan benda.

Ada 3 hukum fisika Newton, yaitu:

1. Hukum kelembaman

Dasar dari hukum pertama Newton ini adalah eksperimen bola yang berputar

dan bergerak pada bidang yang datar dan miring yang dilakukan oleh Galileo.

Berdasarkan eksperimen ini, Galileo menyimpulkan bahwa untuk mengubah

kecepatan gerak suatu benda, diperlukan gaya dari luar. Dengan demikian, jika

tidak ada gaya dari luar, kecepatan gerak suatu benda adalah konstan. Newton

memformulasikan hasil eksperimen Galileo ini ke dalam hukum pergerakan

bendanya yang pertama, yaitu: semua benda akan tetap berada pada keadaan

yang sama, yaitu akan tetap diam atau bergerak dengan kecepatan yang sama,

kecuali jika ada gaya dari luar yang dikenakan padanya.

Kemampuan sebuah benda untuk mempertahankan keadaan pergerakannya ini

yang dinamakan kelembaman suatu benda, atau inertia. Newton menyatakan

bahwa kelembaman suatu benda sebanding dengan massa-nya.

2. Hukum gaya, massa, dan percepatan benda

Hukum kedua inilah yang merupakan hukum Newton yang paling terkenal, yaitu

hukum yang menghubungkan gaya yang dikenakan suatu benda menghasilkan

percepatan pada benda. Percepatan adalah perubahan kecepatan dari suatu

benda. Dengan demikian, gaya mengubah kecepatan suatu benda. Hukum

Newton dapat dituliskan secara matematis sebagai berikut:

F = ma

Semua pergerakan benda dapat dimodelkan dengan hukum Newton yang kedua

ini.

3. Hukum gaya aksi dan reaksi

Dalam hukum ini, Newton menyatakan bahwa untuk setiap gaya aksi, akan ada

gaya reaksi yang sepadan namun berlawanan arahnya.

Page 16: BAB II DASAR TEORI - · PDF filediharuskan membuat keputusan-keputusan dengan tujuan untuk mengelola sumber daya yang diperoleh dari kesempatan bermain ... Gambar II-2 Contoh Game

II-16

2.3.6 Particle System

Particle system atau sistem partikel adalah teknik grafika komputer, yang diusulkan

oleh W. Reeves, untuk merepresentasikan benda-benda yang tidak beraturan, seperti:

asap, ledakan, awan, air, dan sebagainya [ROG95]. Contoh sistem partikel dapat dilihat

pada Gambar II-9.

Gambar II-9 Efek Partikel Ledakan

2.3.7 Tiling Engine

Tiling adalah teknik untuk membentuk gambar yang besar dengan cara mengulangi

penggambaran gambar tersebut sedemikian rupa sampai semua ruang kosong pada

gambar besar yang diinginkan telah terisi [ROG95]. Teknik ini digunakan untuk

menghemat penggunaan RAM (Random Access Memory) dan meningkatkan performa

penggambaran pada game. Pada game engine, biasanya fitur ini disediakan dalam

bentuk komponen tiling engine. Contoh penggunaan tiling engine ada pada Gambar

II-10.

Page 17: BAB II DASAR TEORI - · PDF filediharuskan membuat keputusan-keputusan dengan tujuan untuk mengelola sumber daya yang diperoleh dari kesempatan bermain ... Gambar II-2 Contoh Game

II-17

Gambar II-10 Contoh Penggunaan Tiling Engine

2.3.8 Scripting

Fitur ini berguna untuk memodelkan perilaku objek dalam game dalam bahasa scripting

tertentu. Dengan adanya fitur ini, perilaku objek dalam game tidak perlu dimodelkan

secara hardcoded pada kode program, yang akan menurunkan fleksibilitas program

karena dengan hardcode, setiap pengubahan perilaku suatu objek, program harus

dikompilasi ulang [ECH05]. Ada beberapa bahasa scripting yang cukup populer

digunakan dalam pengembangan game, yaitu Lua dan C#.

2.3.9 Isometric Scene Manager

Fitur ini berguna untuk mengelola scene pada game yang menggunakan metode grafika

isometrik. Isometrik adalah metode matematis untuk membangun objek 3 dimensi tanpa

menggunakan konsep perspektif. Dengan demikian benda-benda digambarkan dengan

menggunakan panjang benda yang sebenarnya. Pada game isometrik, bagian objek yang

digambarkan adalah kedua sisi dan bagian atas atau bawah objek. Metode isometrik

adalah metode yang cukup mudah diimplementasikan untuk membuat scene “3

dimensi” dari gambar 2 dimensi [HUD09]. Contoh scene isometrik dapat dilihat pada

Gambar II-11.

Page 18: BAB II DASAR TEORI - · PDF filediharuskan membuat keputusan-keputusan dengan tujuan untuk mengelola sumber daya yang diperoleh dari kesempatan bermain ... Gambar II-2 Contoh Game

II-18

Gambar II-11 Contoh Scene Isometrik

2.3.10 Particle Editor

Particle editor adalah tools untuk membentuk suatu sistem partikel, misalnya partikel

asap. Pada suatu particle editor, terdapat form untuk memasukkan input nilai variabel

yang berhubungan dengan sifat dan pola pergerakan partikel tersebut, misalnya

kecepatan masing-masing partikel yang membentuk sistem partikel tersebut, lalu

hasilnya dapat langsung dilihat melalui suatu panel yang menggambarkan sistem

partikel yang didapatkan dari nilai input tersebut. Hasil input nilai ini dapat di-ekspor

menjadi file script yang kemudian dapat di-load secara dinamik pada program game

yang akan menampilkan sistem partikel tersebut.

Dengan adanya particle editor ini, game programmer tidak perlu mengkompilasi ulang

dan menjalankan program game-nya hanya untuk melakukan perubahan nilai atribut

sistem partikel dan melihat hasilnya. Contoh particle editor dapat dilihat pada Gambar

II-12, particle editor ini merupakan bagian dari Playground SDK, game engine 2D yang

telah dijelaskan pada bagian sebelumnya.

Page 19: BAB II DASAR TEORI - · PDF filediharuskan membuat keputusan-keputusan dengan tujuan untuk mengelola sumber daya yang diperoleh dari kesempatan bermain ... Gambar II-2 Contoh Game

II-19

Gambar II-12 Contoh Particle Editor

2.3.11 Level Editor

Level editor adalah tools untuk merancang, membuat, dan mengedit game dengan

karakteristik WYSIWYG (What You See Is What You Get). Dengan ini, semua orang

bisa membuat game tanpa harus menulis kode program sedikitpun, melainkan cukup

dengan memilih objek-objek yang diinginkan, meletakkannya ke dalam scene editor,

dan mengatur perilaku objek-objek tersebut. Level editor sudah otomatis tergabung

dengan runtime library 2d engine dan mendukung kebutuhan sebagai berikut:

1. Peletakan dan manipulasi objek

2. Pengeditan properti objek

3. Import aset

4. Performance profiling, yang digunakan untuk melihat performansi game

5. Tidak membutuhkan waktu kompilasi

6. Membuat efek partikel

7. Membuat tile

8. Manajemen aset

Contoh level editor dapat dilihat pada Gambar II-13.

Page 20: BAB II DASAR TEORI - · PDF filediharuskan membuat keputusan-keputusan dengan tujuan untuk mengelola sumber daya yang diperoleh dari kesempatan bermain ... Gambar II-2 Contoh Game

II-20

Gambar II-13 Contoh Level Editor

2.3.12 Audio

Fitur ini berguna untuk membuat game yang memiliki output secara audio (selain secara

visual). Sebenarnya fitur ini bukanlah fitur yang spesifik game engine 2D, melainkan

fitur pada game engine secara umum.

2.4 XNA Framework

Microsoft XNA adalah sebuah framework game yang dibangun di atas Microsoft

DirectX. XNA adalah singkatan dari XNA’s Not Acronymed, yang artinya XNA bukan

suatu singkatan [CAR08]. XNA dapat digunakan untuk membuat game pada komputer,

Xbox360, dan Zune.

2.4.1 XNA Content Pipeline

Content pipeline pada XNA adalah tools yang digunakan untuk melakukan konversi

content yang formatnya tidak kompatibel dengan game agar menjadi kompatibel dan

langsung dapat digunakan pada game [CAR08]. Sebagai contoh, file tekstur biasanya

disimpan dalam format .png atau .jpg dan untuk menggunakannya di game, file tersebut

harus dikonversi terlebih dahulu. Dengan adanya content pipeline, berbagai macam

format file dapat dikonversi menjadi tipe file yang dapat digunakan pada game dan

Page 21: BAB II DASAR TEORI - · PDF filediharuskan membuat keputusan-keputusan dengan tujuan untuk mengelola sumber daya yang diperoleh dari kesempatan bermain ... Gambar II-2 Contoh Game

II-21

kemudian dapat dikompilasi ke format yang dengan mudah dapat di-load ketika game

dijalankan. XNA content pipeline terdiri dari beberapa komponen sebagai berikut:

1. Content Importer

Content importer berguna untuk membaca data yang dimasukkan ke dalam

proyek game dan memetakannya ke komponen content pipeline yang lain, yaitu

content Document Object Model (DOM). Jika content importer tidak dapat

memetakan data pada file, maka data tersebut tidak akan dihiraukan.

2. Content DOM

Content pipeline berguna untuk menyimpan data yang telah dikemas sedemikian

rupa oleh content importer sebagai data yang akan di-load pada game.

3. Content Processor

Content processor berguna untuk meneruskan data dari content DOM ke

komponen selanjutnya, content compiler.

4. Content Compiler

Content compiler membuat file yang dibaca pada saat runtime game. Umumnya

semua file dikonversi menjadi file .xnb, kecuali file audio yang dikonversi

menjadi file .xgs, .xwb, atau .xsb, tergantung jenis file audio itu sendiri.

2.4.2 2D pada XNA

Semua gambar yang muncul pada layar game 2D disebut sprite. XNA

merepresentasikan sprite dengan objek dari kelas Texture2D. Posisi penggambaran

sprite pada layar dinyatakan dengan menggunakan sistem kordinat x dan y (x, y). Nilai

x bertambah besar secara horizontal dari ujung kiri atas (x = 0) sampai ke ujung kanan

atas layar, sedangkan nilai y bertambah besar secara vertikal dari ujung kiri atas (y = 0)

sampai ujung kiri bawah layar (Gambar II-14).

Page 22: BAB II DASAR TEORI - · PDF filediharuskan membuat keputusan-keputusan dengan tujuan untuk mengelola sumber daya yang diperoleh dari kesempatan bermain ... Gambar II-2 Contoh Game

II-22

Ketika kita akan menggambar banyak sprite pada layar, beban kerja mesin akan

menjadi berat karena kita harus mengirimkan instruksi terpisah ke kartu grafik setiap

kali akan menggambar sesuatu pada layar. Oleh karena itu, penggambaran sprite pada

XNA melibatkan objek dari kelas SpriteBatch. Seperti namanya, kelas ini

merepresentasikan kumpulan sprite yang akan digambar pada layar. Dengan kelas ini,

kita dapat melakukan penggambaran banyak sprite dengan menggunakan pengaturan

yang sama dan mengirimkan satu instruksi saja ke kartu grafik.

2.4.3 Siklus Game pada XNA

Game yang dibangun pada XNA, memiliki siklus yang terdiri dari fase inisialisasi dan

fase proses yang terjadi pada setiap frame (game loop). Diagram alir dari siklus ini

dapat dilihat pada Gambar II-15.

(0, 0) (1024, 0)

(0, 768) (1024, 768)

y+

x+

Gambar II-14 Sistem Kordinat 2D XNA pada Layar dengan

Resolusi 1024x768

Page 23: BAB II DASAR TEORI - · PDF filediharuskan membuat keputusan-keputusan dengan tujuan untuk mengelola sumber daya yang diperoleh dari kesempatan bermain ... Gambar II-2 Contoh Game

II-23

Gambar II-15 Diagram Alir Siklus Game pada XNA

Sebenarnya, sebuah game adalah sequence of frames atau sekumpulan frame gambar

yang digambarkan pada layar dalam jangka waktu yang berdekatan, sehingga bagi mata

manusia seolah-olah terjadi pergerakan objek yang digambar tersebut. Ini berarti,

pengembangan game adalah manipulasi dan penggambaran objek-objek secara

berulang-ulang, yang dilakukan pada setiap frame. Dengan konsep frame ini, muncul

istilah yang disebut dengan game loop. Hampir semua game memiliki

kelas/fungsi/struktur yang bertugas untuk membentuk game loop ini, apapun platform

yang digunakan untuk membuat game tersebut. Game loop inilah yang membedakan

pengembangan game dengan pengembangan aplikasi biasa. Secara umum, game loop

terdiri dari sekumpulan fungsi yang dipanggil terus-menerus pada setiap frame sampai

game berhenti dijalankan. Game loop pada XNA terdiri dari 2 method: Update dan

Draw. Semua hal yang berkaitan dengan proses update atau manipulasi objek setiap

frame-nya, dilakukan pada method Update. Sedangkan penggambaran semua objek

dilakukan pada method Draw [REE09]. Karena game engine 2D akan dikembangkan

pada XNA framework, diagram alir siklus game yang dibangun menggunakan game

engine 2D ini pun akan sama dengan diagram di atas.