BAB I PENDAHULUAN

advertisement
BAB I
PENDAHULUAN
1.1 Latar Belakang
Dari sejak kemunculan game elektronik pertama kali sampai saat ini, perkembangan
dunia game sudah sangat pesat. Sekarang pembuatan game sudah menjadi relatif lebih
mudah, karena tidak seperti dulu, tools dan bahasa pemrograman yang dapat dipilih
untuk membuat game sudah sangatlah beragam, misalnya Java, C++, Adobe Flash, dan
sebagainya.
Namun, bidang game development atau pembuatan game masih merupakan salah satu
bidang teknologi informasi yang cukup sulit, karena melibatkan hampir semua bidang
teknologi informasi yang lain, seperti pemrograman, grafika komputer, intelegensia
buatan, jaringan komputer, dan sebagainya. Inilah yang membuat para pembuat game
mengalami kesulitan dalam pembuatan game, karena mereka harus menangani begitu
banyak hal sekaligus dalam pembuatan game. Selain itu, salah satu hal yang membuat
bidang game development sulit adalah performansi program yang harus sangat
dipertahankan, karena untuk menghasilkan kualitas grafis yang baik, dibutuhkan
efisiensi algoritma dan penggunaan resource komputer yang baik.
Sebenarnya ada banyak cara untuk membangun sebuah game, yaitu dengan membangun
game langsung di atas graphic engine, seperti Microsoft DirectX atau OpenGL yang
hanya menyediakan fungsi-fungsi primitif terkait grafika komputer, atau dengan
menggunakan tools atau framework yang dibangun di atas graphic engine tersebut,
seperti Microsoft XNA, yang telah membungkus fungsi-fungsi primitif grafika menjadi
fungsi grafika yang tugasnya sudah lebih spesifik dan lebih mudah untuk digunakan.
Pembuatan game ataupun game engine langsung di atas graphic engine tentu saja lebih
sulit dibandingkan dengan di atas tools atau framework tertentu, karena selain perlu
mempertimbangkan rancangan game engine terkait dengan game yang baik, juga perlu
mempertimbangkan rancangan game engine terkait dengan grafika yang disediakan oleh
graphic engine. Oleh karena itu, game engine akan dibuat di atas sebuah tools atau
framework untuk pembuatan game.
I-1
I-2
Framework yang akan menjadi fokus mulai dari bagian ini sampai bagian-bagian
berikutnya adalah XNA framework. XNA framework adalah suatu framework Microsoft
untuk membuat game pada komputer, Xbox 360, dan Zune. Untuk membuat game pada
XNA, dibutuhkan pengetahuan mendalam mengenai arsitektur framework tersebut dan
penggunaannya untuk game dengan jenis tertentu. Karena untuk membuat game jenis
A, desain komponen yang digunakan akan berbeda dengan pembuatan game jenis B.
Oleh karena itu, keberadaan suatu game engine XNA yang dapat memudahkan
pembuatan game berkualitas baik sangatlah dibutuhkan. Adapun sampai saat ini, belum
ada game engine yang benar-benar lengkap dan dapat memfasilitasi semua kebutuhan
game 2 dimensi (2D). Biasanya game engine XNA mencakup baik 2D maupun 3D,
sehingga kebutuhan-kebutuhan 2D kurang diperhatikan, padahal cukup banyak
kebutuhan game 2D yang harus difasilitasi. Adapun beberapa game engine 2D, masih
memiliki beberapa kekurangan, seperti tidak adanya fitur collision detection, tidak
adanya fitur untuk membuat efek physics, dan beberapa game engine masih merupakan
game engine yang berbayar.
Untuk itu, pada Tugas Akhir ini, akan dikembangkan sebuah game engine 2D XNA
yang diharapkan dapat memfasilitasi kebutuhan game 2D.
1.2 Rumusan Masalah
Rumusan masalah yang akan dikaji dalam Tugas Akhir ini adalah bagaimana membuat
sebuah game engine 2D yang dapat memfasilitasi kebutuhan untuk membuat game 2D.
1.3 Tujuan
Tujuan yang ingin dicapai dalam pelaksanaan Tugas Akhir ini adalah membangun suatu
game engine 2D yang memenuhi kriteria sebagai berikut:
1. Dapat digunakan untuk membuat game 2D dengan genre apapun pada PC
(Personal Computer)
2. Dapat memfasilitasi kebutuhan-kebutuhan untuk membuat game 2D sebagai
berikut:
a. Input Handler
b. Animasi
I-3
c. Graphical User Interface
d. Collision detection
e. Physics
f. Particle System
g. Tiling Engine
h. Audio
1.4 Batasan Masalah
Batasan masalah dalam pelaksanaan Tugas Akhir ini adalah sebagai berikut:
1. Game engine akan dikembangkan pada XNA Framework 3.0, sehingga jika ada
perubahan pada framework versi lainnya, maka game engine yang akan
dikembangkan mungkin akan tidak berfungsi dengan baik
2. Fitur game engine yang dikembangkan hanya fitur-fitur inti saja, yaitu fitur yang
“wajib” diperlukan untuk membuat game 2D pada umumnya, dengan kata lain
fitur yang merupakan pengembangan dari fitur inti, seperti level editor dan
scripting tidak akan diimplementasikan
1.5 Metodologi
Metodologi yang akan digunakan selama pelaksanaan Tugas Akhir adalah sebagai
berikut:
1. Studi literatur mengenai game, game engine, grafika 2D, dan XNA framework
2. Pengembangan game engine 2D pada XNA framework akan meliputi tahaptahap berikut ini:
a. Analisis, yakni memahami dan merepresentasikan permasalahan yang
akan diselesaikan ke dalam model standar.
b. Perancangan, yakni merancang arsitektur game engine berdasarkan
analisis permasalahan yang telah dilakukan.
c. Pembangunan, yakni membangun game engine sesuai dengan arsitektur
yang telah dirancang.
d. Pengujian, yakni memastikan game engine dapat berjalan sesuai dengan
yang telah diharapkan.
Download