Rabu, 25 April 2012

Game Engine

Kali ini saya akan menuliskan artikel mengenai Game Engine yang menjelaskan latar belakang dari Game Engine beseta tujuannya 

Game Engine 

Game Engine adalah software system yang dirancang untuk menciptakan dan pengembangan video game. Beberapa mesin permainan hanya menyediakan waktu-nyata (real-time), bukan kemampuan render 3D dari beragam fungsi yang diperlukan oleh permainan. Ada banyak mesin permainan yang dirancang untuk bekerja pada konsol permainan video dan sistem operasi desktop seperti Microsoft Windows, Linux, dan Mac OS X. Mesin ini mengandalkan permainan pengembang untuk melaksanakan seluruh fungsi ini atau merakit dari komponen middleware permainan lainnya. Mesin jenis ini umumnya disebut sebagai “mesin grafis,” “mesin rendering,” atau “mesin 3D” bukannya yang lebih mencakup istilah “mesin permainan.” Namun, terminologi ini tidak konsisten digunakan sebagai banyak fitur lengkap mesin game 3D disebut hanya sebagai “mesin 3D.” Beberapa contoh dari mesin grafis adalah: RealmForge, Truevision3D, ogre, Crystal Space, Genesis3D, Irrlicht dan JMonkey Engine.

 Permainan modern atau mesin grafis umumnya memberikan adegan grafik, yang merupakan berorientasi objek representasi dari dunia permainan 3D yang sering menyederhanakan desain permainan dan dapat digunakan untuk rendering lebih efisien dari dunia maya yang luas.. Fungsionalitas inti biasanya disediakan oleh mesin permainan mencakup mesin render ( “renderer”) untuk 2D atau 3D grafis, mesin fisika atau tabrakan (dan tanggapan tabrakan), suara, script, animasi, kecerdasan buatan, jaringan, streaming, manajemen memori, threading, dukungan lokalisasi, dan adegan grafik. Engine bukanlah executable program, artinya engine tidak bisa dijalankan sebagai program yang berdiri sendiri. Diperlukan sebuah program utama sebagai entry point atau titik awal jalannya program. Pada C++, entry point-nya adalah fungsi ‘main(). 

Latar Belakang Game Engine 
Game engine pertama kali muncul pada pertengahan tahun 1990, yang berkaitan dengan game 3D misalnya First Person Shooter ( FPS ). Setelah game– game 3D Quake dan Doom ( id software ) dipasarkan, para developer cenderung memberikan lisensi game engine dan memfokuskan ke pembuatan grafik, suara, gameplay, dan design game. Pemikiran ini berdasarkan perbandingan jika harus memula membuat game dari nol lagi. Game generasi berikutnya seperti misalnya Quake 3 dan Unreal Tournament, sejak awal didesain, game ini memisahkan antara code game dengan asset game ( gambar, suara, model 3 dimensi ) dengan tujuan agar developer – developer game lainnya dapat membuat game sebanyak mungkin dengan hanya mengganti – ganti asset tanpa harus mengubah struktur dasar engine tersebut sehingga produktivitas akan lebih meningkat, mengurangi biaya untuk operasional dan sangat membantu untuk mendukung kemajuan industri game. 

Tujuan Game Engine 
Sekarang hampir semua perusahaan game memiliki game engine mereka sendiri, menggunakannya untuk membuat game mereka, dan menyimpannya untuk diri sendiri. Semakin lama kebutuhan untuk game engine yang makin modern semakin bertambah. Kebutuhan akan game engine tersebut mendasari tujuan dari game engine. Berikut ini adalah tujuan penggunaan game engine beserta alasannya :  

Mempermudah pembuatan bagian-bagian tertentu dalam game  
Pada setiap game, biasanya ada fungsi-fungsi yang mirip antara satu dengan yang lainnya. Contohnya fungsi collision detection, fungsi rendering, fungsi artifical intelligence. Karena dasar dari fungsi-fungsi tersebut sama, maka untuk mempermudah programmer, dasar-dasar semua fungsi tersebut langsung dibuat dalam game engine, dan programmer hanya tinggal menggunakan saja. Jika perlu memodifikasi lebih lanjut, setidaknya fungsi dasar sudah diterapkan dan akan mengurangi waktu yang digunakan untuk pengembangan secara keseluruhan.    

Membagi-bagi pengembangan game menjadi modul-modul tertentu 
Karena pengembangan game harus dilakukan oleh pihak-pihak yang mungkin berbeda pekerjaannya, maka tugas game engine adalah membagi-bagikan tugas kepada pihak-pihak yang terlibat sesuai dengan modul-modul dasar yang umum ada pada pengembangan game. Dan modul-modul dasar ini biasanya dibuat agar mudah untuk diperluas atau ditambahkan (extensible), agar bisa mengakomodasi semua pihak yang terlibat di dalamnya.    

Memudahkan kolaborasi antar pihak 
Banyaknya pihak yang terlibat di dalam pengembangan game, membuat komunikasi antar pihak menjadi sesuatu hal yang penting untuk menjaga kualitas dan laju pengembangan game tersebut. Game engine yang bagus biasanya memiliki fungsi agar komunikasi antar pihak yang terlibat juga diakomodasi di dalamnya. Banyak orang yang mengira bahwa game engine yang harganya mahal. Tetapi kenyataannya tidak harus demikian. Memang banyak game yang sukses menggunakan game engine yang commercial dengan harga yang mahal seperti Assasin’s Creed dengan game engine-nya Anvil. Tetapi, saat ini juga banyak game engine yang bersifat open source dan bisa digunakan untuk membuat game dengan kualitas yang tinggi. 

Demikian yang dapat saya jelaskan mengenai Game Engine. Terimakasih :) 


Sumber Referensi :
http://thesis.binus.ac.id/Doc/Bab2/2006-2-01291-MTIF-Bab%202.pdf 
http://ekobudiarso33.wordpress.com/2011/03/24/game-engine-bag-1/

Selasa, 17 April 2012

Proses Membuat Game

Game merupakan permainan yang menggunakan media elektronik yang dibuat sebagai sarana hiburan berbentuk multimedia yang dengan bentuk yang semenarik mungkin agar pemain bisa mendapatkan suatu kepuasaan. Bermain game juga merupakan salah satu sarana pembelajaran (bersifat edukatif). Hampir seluruh kalangan menyukai game, mulai dari anak-anak hingga dewasa. Genre dari suatu game pun saat ini sudah banyak, mulai dari yang bersifat edukasi untuk anak-anak hingga berevolusi menjadi permainan yang dapat pula dimainkan oleh orang dewasa.



Teknologi Yang Dipergunakan Dalam Sebuah Game

Umumnya saat ini, konsep dasar game mungkin tidak terlalu banyak mengalami perubahan. Walaupun demikian, selalu ada inovasi dalam suatu game yang menyertai game rilis terbaru, misalnya layout game, tokoh dan karakter, strategi dan tantangan yang beragam, serta masih banyak lagi. Game dapat dibuat dengan bahasa pemrograman seperti Visual Basic, C++, Java, Delphi, Phyton, Actionscript 3, PHP, HTML, Javascript, dan lain sebagainya. Umumnya para developer game menggunakan tools atau paket library, seperti OpenGL Utility Toolkit atau modul lainnya.

Beberapa hal yang diperhatikan dalam membuat game
a. Tentukan dahulu Konsep Game yang ingin dibuat, seperti memnentukan genre dari game. Apakah ingin membuat game untuk anak-anak, game yang berisi strategi, game peperangan / action, game petualangan, dan masih banyak lagi.

b. Tentukan Jalan Cerita, Grafik yang ingin digunakan, serta alur atau susunan cerita game yang akan dibuat, mulai dari pengenalan game sampai dengan bagaimana mencapai akhir game. Pada bagian jalan cerita sangat penting bagi game artist dalam pembuat sebuah game, karena semenarik apapun tampilan sebuah game tanpa jalan cerita yang menarik, pasti akan mengurangi nilai dari game tersebut. karena sebuah cerita sangat menentukan sebuah game

c. Dalam membuat sebuah game, diperlukan sebuah kerjasama tim yang baik antara game artist dengan programmer agar tercipta sebuah game yang bagus.

Tahap - Tahap Dalam Pembuatan Game
- Tentukan Genre Game
Pertama pikirkan jenis game yang ingin Anda bikin. Disarankan sebagai pemula pilihlah jenis game yang sesuai dengan kemampuan yang Anda miliki ,mudah dan cepat dalam pembuatannya.

- Tentukan Tool yang ingin digunakan
Dengan apakah Anda ingin membuat game tersebut, biasanya game dibuat dengan bahasa pemograman atau dengan menggunakan software yang khusus dibuat untuk membuat game dengan genre tertentu, ada software yang menggunakan bahasa pemograman dalam pembuatan game atau sama sekali tidak membutuhkan pemograman dalam pembuatannya, sehingga Anda hanya perlu menggunakan mouse untuk mengatur jalannya game, tokoh dan karakter , serta beberapa komponen game lainnya

- Tentukan gameplay game
Gameplay adalah sistem jalannya game tersebut, mulai dari menu, area permainan, save, load, game over, story line, misiion sukses, mission failed, cara bermain dan sistem lainnya harus Anda tentukan. Semua sistem yang digunakan dalam game disebut dengan gameplay. Sebisa mungkin buatlah gameplay game yang tidak menyulitkan pemain sehingga pemain akan nyaman ketika memainkan game Anda

- Tentukan grafis yang ingin digunakan
Jenis grafis secara sederhana dapat dibagi menjadi tiga jenis yaitu jenis kartun, semi realis, atau realis. Pilih jenis grafis yang sesuai dengan kebutuhan game Anda dan sesuai dengan kemampuan Anda, kemudian pilih software apa yang ingin Anda gunakan dalam membuat gambarnya, pilihlah yang Anda anggap paling mudah digunakan

- Tentukan suara yang ingin digunakan
Tentukan suara yang ingin digunakan dalam permainan. Pilihan suara bisa Anda bagi-bagi menjadi beberapa bagian seperti bagian main menu, save menu, load menu, shoot, dead, mission sukses, mission failed, loading dan bagian-bagian lainnya. Pemilihan suara yang digunakan harus seirama dengan bagiannya. Kemudian pilih software yang ingin Anda gunakan untuk membuat atau mengedit suara yang akan digunakan dalam game

- Lakukan perencanaan waktu
Perencanaan waktu pembuatan sangat baik untuk dilakukan . Dengan perencanaan waktu akan membuat Anda bisa melakukan hal lainnya karena perasaan Anda tidak lagi terganggu dengan game yang belum selesai dibuat, kemudian ketika waktu pembuatan game sudah tiba Anda akan membuat game sesuai dengan urutan waktu yang sudah Anda tentukan

- Proses pembuatan
Ketika semua komponen yang diperlukan sudah dipersiapkan, lakukan proses pembuatan berdasarkan waktu yang sudah ditentukan, tidak ada salahnya meminta pertolongan orang lain sehingga akan mempercepat proses pembuatan game.

- Publishing
Ketika sudah selesai membuat sebuah game, publish game menjadi setup jika game Anda harus diinstal terlebih dahulu sebelum dimainkan atau publish menjadi exe jika game Anda bisa langsung dimainkan tanpa harus menginstalnya terlebih dahulu, metode mempublish tergantung dengan tool yang Anda gunakan untuk membuat game


Terimakasih sudah membaca. Selamat mencoba


Sumber Referensi :
http://catatansioplek.blogspot.com/2012/03/teknik-membuat-game-secara-umum.html
http://dudhynaruya.blogspot.com/2010/02/teknologi-game.html

Jumat, 13 April 2012

Game Developer


Art dan animasi mengacu kepada bagaimana tampilan fisik sebuah game, meliputi kemasan cd agar menarik, tekstur pada masing-masing karakter, tampilan antarmuka, bagaimana pergerakan dari tangan dan kaki ketika karakter bergerak, dan lain-lain. Artist menciptakan unsur-unsur didalam game baik secara 2D atau 3D. Artist membutuhkan berbagai tools untuk bisa membuat tampilan game. Beberapa tools yang digunakan yaitu: Photoshop, 3ds Max, Maya, Softimage XSI, Blender, Houdini, Modo, dan Zbrush. Seorang game artist setidaknya harus mempelajari dasar dari fine art: art theory, art history, composition, color, form, space, dan light. Fine art akan mempertajam “sense of art”, sehingga akan mempercepat pengerjaan dari game Artist dan tentu saja akan memperhalus seninya.
ketika membuat sebuah game sederhana dan kecil, maka hanya dibutuhkan 1-3 orang game artist untuk menyelesaikannya. berikut ini adalah lingkup kerja Game Artist yang sering dibutuhkan:

• 2D Artist
Secara garis besar 2D Artist berarti harus mengasah kemampuan dalam membuat gambar tradisional terlebih dahulu.

• 3D Artist
3D Artist harus membayangkan bagaimana karakter atau object senyata mungkin dengan kenyataan. Keahlian 3D Artist juga harus kuat dalam penguasaan tool 3D Maker.

• Animation Artist
Pekerjaan ini lebih fokus kepada bagaimana efek ketika mengeluarkan jurus, animasi opening atau ending, dan lain-lain.

• Level designer / Environment Artist
Tugasnya mendesain level dan environment, contohnya pada setiap level dfalam sebuah game diberi tantangan dan layout yang berbeda


Beberapa klasifikasi game artist yang berperan dalam pembuatan game:

• Programmer
Programmer melakukan pemrograman dan optimalisasi sandi untuk menciptakan port permainan dalam skala besar. Umumnya, programmer di industri game terdiri dari dua, yaitu Java programmer untuk game 2D dan C++ programmer untuk game 3D. Untuk Java programmer, sebaiknya memiliki pengetahuan tentang J2ME, BREW, Symbian, iPhone OS. Sedangkan untuk C++ programmer sebaiknya memiliki pengetahuan tentang Android, Symbian, WindowsPhone7.

• Game Designer
“Game designer mendesain bagaimana game berjalan, karakternya seperti apa, dan bagaimana alur permainannya, Game designer juga menentukan kontrol permainan. Karena itu, terdapat beberapa syarat yang sebaiknya dimiliki seorang game designer. Yakni, menguasai desain orisinil dari semua tipe game baik 2D dan 3D pada semua platform, seperti Playstation, XBOX, Nintendo, PC, dan lain sebagainya. Game designer juga sebaiknya menguasai Photoshop dan memiliki pemahaman tentang video games dan bagaimana kemasan komersialnya di masyarakat luas.

• Game tester

Hal pertama yang harus dimiliki game tester adalah ketertarikannya terhadap game. Game tester harus berpengalaman memainkan berbagai jenis game, seperti Role Playing Games, simulation, ataupun adventure. Selain itu, seorang game tester akan bekerja dengan kedetailan. Untuk itu dibutuhkan seseorang yang berpikir detail, teliti serta out of the box. Artinya, dia harus mampu berpikir di luar gamer pada umumnya. Bagaimana pun juga ketika seseorang bermain dan menikmati sebuah game, game tester justru sedang melakukan pengamatan mendetail terhadap game tersebut.


Kemudian untuk membuat game yang berkualitas, dapat melalui beberapa tahapan antara lain :

• Menentukan jenis (Genre) game apa yang akan dikerjakan.
• Membuat jalan cerita (Story Line Making) game yang akan dibuat.
• Menciptakan karakter / tokoh (Character Design) dalam sebuah game.
• Membuat bagan alur game (Follow Charting).
• Membuat program game, baik gambar maupun suara (Programing).
• Mencari kesalahan / error game yang sudah selesai dibuat (Debugging).
• Melakukan uji coba / trial game dalam bentuk Beta Version (Playtesting), untuk menyempurnakan dan menentukan masih adakah error / kesalahan dan kelemahan game agar tidak gagal dipasaran atau game hasilnya jelek (kurang sempurna).
• Membuat judul (Title) game yang telah selesai dibuat.
• Penyelesaian game dalam bentuk Full Version dan siap dijual (Release).
• Pemasaran dan distribusi yang baik dan merata dipasaran




Sumber Referensi :
http://agatestudio.com/blog/?p=524
http://ecc.ft.ugm.ac.id/index.php?r=mobile/detailberita&id=1234
http://www.kotakgame.com/forums/archive/index.php/t-2353.html