BAB III PERANCANGAN GAME III.1 Metodologi Perancangan Ada tujuh unsur yang harus dipenuhi sebuah game, yaitu: [4] 1. Konsep Awal 2. Desain Inti 3. Gameplay 4. Detail 5. Game Balance 6. Tampilan 7. Wrapping Up / Penyatuan Gambar 3. 1 Tujuh Unsur Pembuatan Game. Untuk memenuhi ketujuh unsur tersebut, maka perancangan dan implementasi software game pada handset berplatform BREW mengikuti flowchart di bawah ini: 20
Gambar 3. 2 Metodologi Perancangan dan Implementasi. 21
Inti dari aplikasi ini ada pada bagian Detail. Engine game terdiri dari tiga bagian: User Interface Engine, Core Engine dan Networking Engine. Masing-masing engine tersebut terdiri dari fungsi-fungsi berbeda lalu disatukan untuk membentuk engine yang saling bergantung satu sama lain. Pembahasan mendetail tentang ketiga engine tersebut akan diberikan pada sub bab III.6. Bagian terakhir adalah analisis dari performance grafik dan jaringan aplikasi. Analisis performance grafik dilakukan untuk mencari berapa delay rata-rata dari setiap skenario penggunaan resource grafik yang dibuat. Tujuannya adalah untuk mencari skenario terbaik untuk menggunakan interface grafik BREW. Skenario yang digunakan adalah: 1. penggambaran di seluruh bagian layar dengan file jpg; 2. penggambaran tile-per-tile di seluruh bagian layar; 3. penggambaran file jpg ditambah tile-per-tile; 4. penggambaran satu tile tiap kesempatan; 5. penggambaran empat tile sekaligus dalam satu kesempatan. Analisis performance jaringan dilakukan untuk mencari tahu berapa milisekon timercallback minimum yang dapat ditangani game BREW agar tidak mengalami error dalam pengiriman. Metoda dilakukan dengan cara mencoba beberapa nilai timercallback (1000, 800, 600, 500, 400, 300, 200, 100, 80, 60 dan 40 ms). Hasil yang dicari adalah berapa nilai delay (pengiriman sampai penerimaan) untuk setiap timercallback. 22
Algoritma pengambilan delay menggunakan fungsi bawaan dari BREW seperti di bawah ini: Gambar 3. 3 Get Delay Algorithm. 23
III.2 Analisis Kebutuhan Game yang hendak dibuat harus memenuhi beberapa persyaratan: menggunakan interface grafik; berbasis platform Qualcomm BREW pada handset CDMA; dapat dimainkan pada handset murah; resource yang dibutuhkan kecil. III.3 Konsep Awal Konsep awal game yang akan dibuat adalah: game sederhana yang dapat diimplementasikan pada handset; tidak membutuhkan resource yang besar; genre Puzzle-Strategy; tipe Tile-Games, secara khusus pada game Bomberman dengan beberapa penyesuaian; dapat dimainkan sendiri maupun berdua melalui jaringan. Berikut adalah spesifikasi program yang akan dibuat: Jenis Program : Tile-Game Platform : Qualcomm BREW Tipe Handset Simulasi : Standard Clamshell Ukuran Layar : 128 x 160 piksel Jumlah Tile : 128 horisontal dan 160 vertikal Ukuran Tile : 11 x 11 piksel Layar Gameplay : 121 x 121 piksel Piksel Non-Gameplay : Horisontal 3+4 piksel, vertikal 7+32 piksel Tombol Gameplay : dan select Development Tool : Microsoft Visual Studio 6.0 24
III.4 Desain Inti Core dari permainan ini adalah bahwa player harus mengalahkan musuh sebanyak mungkin agar dapat meraih poin yang besar. Untuk dapat mengalahkan musuh, pemain terlebih dahulu harus menghancurkan rintangan yang ada. Untuk permainan multiplayer, Player1 harus bersaing dengan Player2 untuk menghancurkan musuh sebanyak mungkin dalam waktu yang telah disediakan. Ketika waktu habis, pemain dengan nilai tertinggi yang akan keluar menjadi pemenangnya. Gambar 3. 4 Hubungan Player1, Player2, Enemies dan Obstacles. Desain Konsep Networking Dua client terhubung secara nirkabel melalui sebuah server. Tugas server adalah sebagai penghubung kedua client tersebut, sehingga setiap client merasa bahwa dia langsung menghadapi client yang lain. Gambar 3. 5 Konsep Dasar Networking. 25
Networking didasarkan atas konsep rooming. Server dapat menangani beberapa room sekaligus di mana masing-masing room terdiri dari dua user. Jadi secara virtual user hanya terhubung dengan user dalam room yang sama. Gambar 3. 6 Konsep Rooming. Desain Level Pemain bergerak dalam matriks kotak (tiles) yang berukuran 11x11. Pergerakan pemain dibatasi oleh Wall (samping kiri-kanan dan atas-bawah level), Blocks (kotak berwarna hitam) dan Fragiles (kotak tambahan yang dapat dihancurkan dengan bomb). Pemetaan level dengan Fragiles adalah sebagai berikut (Fragiles diwarnai dengan kuning): 26
Gambar 3. 7 Desain Level. Gambar 3. 8 Desain Level dan Fragile Wall. 27
III.5 Gameplay GAMEPLAY = ENVIRONMENT + RULES [4] Environment: Gambar 3. 9 Desain Level Lengkap. Putih : FREE Kuning: FRAGILE Merah : ENEMY Hitam : BLOCK : jalanan, dapat dilewati dengan bebas : tidak dapat dilewati sebelum dihancurkan : musuh yang harus dibom; dapat dilewati dengan bebas : tidak dapat dilewati Biru : PLAYER1 : posisi awal Player1 Hijau : PLAYER2 : posisi awal Player2 28
Rules: Rules/Peraturan dalam permainan ini adalah sebagia berikut: Player1 dan Player2 hanya dapat bergerak satu kotak ke atas, bawah, kiri atau kanan dalam setiap penekanan tombol; Enemies hanya dapat bergerak satu kotak ke atas, bawah, kiri atau kanan secara random dalam setiap time-range (ditentukan dalam program); semua sprite tidak dapat bergerak melewati Wall maupun Blocks; Player1 dan Player2 diberikan jatah 2 buah bomb sebagai senjata; Player1 mengacu pada sprite pemain sendiri, sedangkan Player2 mengacu pada pemain lawan; dalam mode networking, pemain yang membuat room menjadi Master, sedangkan yang join menjadi Slave; maksimal bomb yang ada di level adalah dua. Pemain hanya dapat menggunakan bomb lagi jika salah satu atau kedua bomb yang tertanam telah meledak; Bomb hanya dapat menghancurkan Fragiles dan Enemies; ledakan bomb tidak dapat menembus Block; poin didapatkan jika bomb menghancurkan musuh; permainan berakhir jika waktu telah habis. Skenario User: Skenario 1: user memainkan single player game Skenario 2: user meminta highscore dari jaringan Skenario 3: user menjadi master dalam network, menolak pemain lain Skenario 4: user menjadi master dalam network, menerima pemain lain Skenario 5: user menjadi slave dalam network, ditolak pemain lain Skenario 6: user menjadi slave dalam network, diterima pemain lain 29
III.6 Detail Game Gambar 3. 10 Detail Game. Game ini secara virtual terdiri dari tiga bagian utama: User Interface Engine adalah bagian yang dilihat dan dirasakan oleh Player. Core Engine adalah bagian di mana perhitungan dilakukan. Networking Engine adalah bagian yang mengatur hubungan dengan jaringan. Detail 1: User Interface Engine Screen Flow Screen Flow adalah aliran perubahan tampilan layar. Tujuan pembuatan screen flow adalah untuk memberi gambaran seperti apa layar yang akan dihadapi user dan alirannya. 30
Gambar 3. 11 Screen Flow. 31