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.