Jumat, 25 Januari 2013

Pengenalan dan Pemasangan Pustaka Pemrograman Permainan (Game Programming) 2D Allegro 5

Walaupun berbagai jenis permainan tiga dimensi (3D) sudah merambah dengan berbagai jenis perangkat keras canggih untuk mendukung segala kemampuannya, namun bukan berarti permainan dua dimensi (2D) sudah layak untuk ditinggalkan. Buktinya, permainan 2D masih diminati oleh banyak kalangan karena sifatnya yang sederhana, ringan dan mudah untuk dibuat.

Allegro merupakan salah satu jenis pustaka (library) pembuatan permainan komputer dua dimensi (2D) untuk bahasa pemograman C/C++ yang populer untuk mengembangkan permainan dua dimensi. Selain karena sifatnya yang multiplatform, Allegro juga sangat sederhana dan mudah digunakan sehingga pengembang yang ingin mengembangkan suatu permainan 2D dengan Allegro bisa lebih fokus untuk mengembangkan seperti apa permainannya dan tidak perlu memikirkan bagaimana permainan berjalan dari level sistem.

Allegro pada awalnya dikembangkan untuk permainan 2D pada sistem operasi DOS (Disk Operating System) menggunakan kompilator Borland C++ dan DJGP. Namun pada perkembangannya, Allegro juga merambah ke berbagai jenis sistem operasi seperti Microsoft Windows, Linux dan Macintosh.

Versi terbaru dari Allegro adalah versi 5.0 yang merupakan hasil desain ulang dari Allegro versi sebelumnya dengan dukungan akselerasi grafis berbasis OpenGL atau DirectX, berbagai format media modern dan API yang lebih konsisten. Selain itu, Allegro versi terbaru ini juga mendukung platform Android yang saat ini menjadi sistem operasi ponsel pintar yang paling sukses dan banyak digunakan di seluruh dunia.
Yang tidak kalah penting dari Allegro adalah lisensinya yang bebas dan terbuka. Sehingga setiap pengembang tidak perlu membayar royalti kepada pengembang Allegro untuk mengembangkan permainan barunya. Semua bisa digunakan secara bebas, sesuai dengan semangat FOSS (Free and Open Source Software).

Fitur Allegro
Pada dasarnya, Allegro menyediakan beberapa fungsi berikut untuk membantu pengembangan permaianan dua dimensi :
  • Penggambaran bentuk vektor seperti titik, garis, segitiga, segiempat, lingkaran, poligon, dll.
  • Penggunaan sprites baik transparan, dan terkompresi.
  • Dukungan palet warna RGB.
  • Dukungan penggambaran teks dengan kodifikasi UTF-8.
  • Dll.
Selain kemampuan dasar yang ada di atas, Allegro juga memiliki berbagai kemampuan tambahan yang bisa didapatkan dengan bantuan berbagai jenis plug-ins yang tersedia.

Memulai pengembangan permainan
Untuk memulai pengembangan permainan 2D berbasis Allegro, Anda diharuskan memiliki kemampuan pemograman dasar berbasis C dan C++ terlebih dahulu. 

Untuk memasang pustaka Allegro 5 pada sistem operasi GNU/Linux, Anda harus memasang berbagai kebutuhan paket berikut sebelum melakukan kompilasi dan instalasi paket pengembangan dan pustaka Allegro pada sistem Linux Anda :
  • Paket pengembangan dasar: GCC, GNU Make, Binutils, dll. (Pada Debian GNU/Linux dan turunannya adalah paket build-essential).
  • Paket grafis X.org.
  • Pustaka MesaLIB dan GLU untuk akselerasi OpenGL.
  • CMake untuk membangun konfigurasi kompilasi.
  • Manajemen Kode Perangkat Lunak GIT.
Setelah paket tersebut dipasang (caranya berbeda-beda tergantung distribusi yang digunakan), lakukan proses klonisasi kode sumber Allegro 5 dari server untuk proses kompilasi melalui perintah berikut :

$ git clone git://git.code.sf.net/p/alleg/allegro

Setelah proses klonisasi selesai, masuk ke direktori “allegro”

$ cd allegro

Secara bawaan, kode sumber yang ada di direktori lokal adalah Allegro versi pengembangan (WIP). Untuk menggunakan Allegro versi stabil (5.0), gunakan perintah berikut untuk berpindah cabang pengembangan ke Allegro versi 5.0

$ git checkout 5.0

Terakhir, lakukan pembangunan dan kompilasi paket melalui perintah berikut (Perhatikan untuk perintah paling terakhir, harus dijalankan sebagai pengguna root) :

$ mkdir build; cd build
$ cmake -DCMAKE_INSTALL_PREFIX=/usr ..
$ make
# make install


Kode Pertama Allegro Anda

Untuk memulai mencoba-coba sedikit mengenai penggunaan Allegro 5, silahkan ketik atau salin beberapa kode berikut.

#include <allegro5/allegro.h>

int main(int argc, char **argv){

ALLEGRO_DISPLAY *display = NULL;

if(!al_init()) {
fprintf(stderr, "failed to initialize allegro!\n");
return -1;
}

display = al_create_display(640, 480);
if(!display) {
fprintf(stderr, "failed to create display!\n");
return -1;
}

al_clear_to_color(al_map_rgb(0,0,0));

al_flip_display();

al_rest(10.0);

al_destroy_display(display);

return 0;
}

Penjelasan :
  • ALLEGRO_DISPLAY merupakan sebuah tipe bentukan yang digunakan untuk mendirikan sebuah tampilan permainan. Tipe ini dibuat dalam bentuk penunjuk yang nantinya direferensikan oleh fungsi al_create_display.
  • Fungsi al_init() digunakan untuk melakukan inisiasi awal terhadap fungsi-fungsi Allegro 5 yang akan dijalankan selanjutnya. Fungsi ini wajib dipanggil sejak awal.
  • Fungsi al_create_display(int w, int h) dipannggil dengan argumen w = panjang jendela dan h = lebar jendela. Setelah fungsi tersebut dipanggil, maka jendela akan langsung ditampilkan dan direferensikan melalui penunjuk display.
  • al_create_to_color merupakan fungsi untuk memberikan warna pada back buffer secara menyeluruh. Warna pada Allegro 5 didefinisikan dalam tipe bentukan ALLEGRO_COLOR. Fungsi al_map_rgb(int r, int g, int b) digunakan untuk mengkonversi nilai warna RGB yang ditentukan ke dalam bentuk ALLEGRO_COLOR.
  • al_flip_display() digunakan untuk menampilkan isi back buffer ke jendela layar.
  • al_rest(float time) digunakan seperti layaknya fungsi sleep() pada C untuk menahan fungsi yang akan dijalankan dibawahnya selama waktu tertentu. Waktu ditulis dalam nilai floating point.
  • al_destroy_display() digunakan untuk menutup tampilan jendela.
Program pertama Allegro 5 Anda
Untuk melakukan kompilasi terhadap kode ini, pastikan pengaturan linker dari kompilator diatur agar menautkan pustaka Allegro 5 pada hasil kompilasi (untuk GCC biasanya ditambahkan opsi -lallegro).

Tidak ada komentar:

Posting Komentar