Pemrograman Game 2 Dimensi
Awal mula perkembangan game adalah game 2 dimensi. Representasi
internal dari perkembangan game saat itu adalah dengan acuan 2 sumbu, biasanya
atas-bawah atau kiri-kanan. Topik utama dari pemrograman game 2 Dimensi ini
adalah :
-
Hardware lama
Pada game 2D, computer yang digunakan pada
waktu itu spesifikasinya kecil dan meorinya juga kecil. Sinclair Spectrum
contohnya, menggunakan Zilog 8-bit processor dengan kecepatan 4.77 MHz dengan
chip 6502. Ini terdengar seperti banyak programmer, tapi tidak dengan apa yang
kita pikirkan. Computer IBM mengkodekan cara ini sampai Windows 95. Pada daftar
berikut kita dapat melihat memori tradisional dari mesin PC kompatibel dengan vector
interupsi (IV), menghentikan layanan rutinitas(ISRs), dan frame buffer pada
alamat A0000H.
1
Mb = 0x10000:0000
1 Mb-1 = 0xFFFF:000F End System
BIOS area
896 Kb 0xE000:0000 Start System
BIOS area
896 Kb-1 = 0xDFFF:000F End
Expansion card BIOS area
768 Kb 0xC000:0000 Start
Expansion card BIOS area
768 Kb-1 = 0xBFFF:000F End
Video RAM
640 Kb 0xA000:0000 Start Video
RAM
640 Kb-1 = 0x9FFF:000F End DOS
RAM
0 Kb 0x0000:0000 Start DOS RAM
-
Struktur data pada game 2D
Kita telah mengerti bahwa hardware
merupakan factor utama dalam perkembangan game. Pada struktur datanya, di bawah
terdapat definisi struktur untuk tiga elemen kunci :
o
Mengkodekan grafis karakter
o
Mengkodekan gambar latar belakang
o
Menyimpan peta permainan
-
Pemetaan matriks
Banyak game 2D mempresentasikan hal besar,
memvariasikan permainan dunia dengan mesin yang terbatas seperti memori. Pada pemetaan
matriks ini tujuannya adalah teknik kompresi agar data yang digunakan dapat
disimpan dalam chip memori yang berukuran kecil. Pemetaan adalah teknik
kompresi yang memungkinkan unutk membuat dunia game yang baik di sebagian jejak
memori.
-
Algoritma game 2D
Pada bahasan ini terdapat beberapa sub,
yakni :
Permainan berbasis layar
Permainan
yang paling sederhana adalah berbasis layar yang dipetakan atau bisa disebut
permainan atau game berbasis layar, dimana pemain menghadapi serangkaian layar,
tidak ada kintinuitas. Kodenya akan terlihat seperti di bawah ini :
#define tile_wide 32
#define tile_high 32
#define screen_wide 320
#define screen_high 240
int xtiles=screen_wide/tile_wide;
int ytiles=screen_high/tile_high;
for (yi=0;yi<ytiles;yi++)
{
for (xi=0;xi<xtiles;xi++)
{
int screex=xi*tile_wide;
int screey=yi*tile_high;
int tileid=mapping_matrix [yi][xi];
blit(tile_table[tileid],screenx,screeny);
}
}
Two and four-way scrollers
Game berbasis
layar membagi permainan game menjadi poorongan-potongan yang ditangani secara
individual. Untuk menciptakan gameworld lebih besar dari layar yang kita dapat
terus mengeksplorasi dari kamera geser seperti Super Mario Bros dan Zelda. Kodenya seperti di bawah ini :
#define tile_wide 32
#define tile_high 32
#define screen_wide 320
#define screen_high 240
int xtiles=(screen_wide/tile_wide)+1;
int
ytiles=(screen_high/tile_high)+1;
tileplayerx= Playerx/tile_wide
tileplayery= Playery/tile_high
X: ( tileplayerx - xtiles/2 .... tileplayerx +
xtiles/2)
Y: ( tileplayery - ytiles/2
.... tileplayery + ytiles/2)
Posting Komentar