4.18.2012

ARSITEKTUR MESIN GAME


Pengertian Game Engine (Mesin Game)

Game Engine adalah system perangkat lunak yang dirancang untuk menciptakan dan pengembangan video game. Ada banyak mesin permainan yang dirancang untuk bekerja pada konsol permainan video dan sistem operasi desktop seperti Microsoft Windows, Linux, dan Mac OS X. 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. Proses pengembangan permainan sering dihemat oleh sebagian besar menggunakan kembali mesin permainan yang sama untuk menciptakan permainan yang berbeda.

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().’ Biasanya program utama ini relatif pendek. Game engine adalah program yang ‘memotori’ jalannya suatu program game. Kalau game diilustrasikan sebagai ‘musik’ yang keluar dari mp3 player, maka engine adalah ‘mp3 player’ dan program utama adalah ‘data mp3’ yang dimasukkan ke dalam mp3 player tersebut. Dengan adanya engine, waktu, tenaga dan biaya yang dibutuhkan untuk membuat game software menjadi berkurang secara signifikan. Beberapa game dengan jenis dan gameplay yang hampir sama bisa dibuat dengan sedikit usaha bila terlebih dulu dibuat engine-nya. Setelah engine diselesaikan, programmer hanya perlu menambahkan program utama, memakai resources (objek 3D, musik, efek suara) yang baru, dan, jika benar-benar dibutuhkan, sedikit memodifikasi engine sesuai kebutuhan spesifk dari game yang bersangkutan. Program game engine seluruhnya berorientasi objek. Dia lebih bersifat reaktif daripada prosedural. Sulit untuk menggambarkan engine secara keseluruhan dalam flow-chart, karena alur program bisa diatur sesuai dengan keinginan pemakai engine, yaitu game programmer.

Tujuan Penggunaan Game Engine
Game engine menyediakan seperangkat alat pengembangan visual di samping komponen software digunakan kembali. Alat-alat ini umumnya diberikan dalam suatu lingkungan pengembangan terpadu untuk mengaktifkan disederhanakan, perkembangan pesat dari permainan dengan cara data-driven. Mesin pengembang Game upaya untuk “pra-menciptakan roda” dengan mengembangkan suite perangkat lunak kuat yang mencakup banyak unsur pengembang game mungkin perlu untuk membangun sebuah permainan. Kebanyakan mesin permainan suite menyediakan fasilitas yang memudahkan pengembangan, seperti grafik, suara, fisika dan fungsi AI. Mesin permainan ini kadang-kadang disebut “middleware” karena, seperti dengan istilah naluri bisnis, mereka menyediakan sebuah platform perangkat lunak yang fleksibel dan dapat digunakan kembali yang menyediakan semua fungsionalitas inti yang dibutuhkan, langsung dari kotak, untuk mengembangkan sebuah aplikasi permainan sambil mengurangi biaya , kompleksitas, dan waktu-ke-pasar-semua faktor penting dalam industri video game yang sangat kompetitif. Gamebryo dan RenderWare adalah seperti program middleware banyak digunakan.

Seperti solusi middleware lainnya, mesin permainan biasanya menyediakan abstraksi platform, yang memungkinkan permainan yang sama untuk dijalankan pada berbagai platform termasuk game konsol dan komputer pribadi dengan sedikit, jika ada, perubahan yang dibuat ke kode sumber permainan. Seringkali, mesin permainan dirancang dengan arsitektur berbasis komponen yang memungkinkan sistem tertentu dalam mesin yang akan diganti atau diperpanjang dengan lebih khusus (dan sering kali lebih mahal) komponen middleware game seperti Havok untuk fisika, Miles Sound System untuk suara, atau Bink untuk Video. Beberapa mesin permainan seperti RenderWare bahkan dirancang sebagai rangkaian dihubungkan secara longgar komponen middleware permainan yang bisa selektif dikombinasikan untuk membuat mesin khusus, bukan pendekatan yang lebih umum dari memperluas atau menyesuaikan solusi terintegrasi yang fleksibel. Namun diperpanjang tercapai, hal itu tetap menjadi prioritas tinggi dalam mesin game karena berbagai kegunaan yang mereka diterapkan. Meskipun kekhususan nama, mesin permainan yang sering digunakan untuk jenis lain aplikasi interaktif dengan kebutuhan grafis real-time seperti demo pemasaran, visualisasi arsitektur, simulasi pelatihan, dan lingkungan pemodelan.

Beberapa mesin permainan hanya menyediakan 3D real-time rendering kemampuan bukan berbagai fungsi yang dibutuhkan oleh game. Mesin ini mengandalkan pengembang game untuk melaksanakan seluruh fungsi ini atau merakit dari komponen middleware permainan lainnya. Jenis mesin umumnya disebut sebagai “mesin grafis,” “mesin render,” atau “mesin 3D” bukan meliputi lebih istilah “mesin permainan.” Terminologi ini tidak konsisten banyak digunakan sebagai fitur lengkap mesin permainan 3D disebut hanya sebagai “mesin 3D.” Beberapa contoh mesin grafis adalah: Crystal Space, Genesis3D, Irrlicht, JMonkey Engine, OGRE, RealmForge, Truevision3D, dan Visi Engine. Modern permainan atau mesin grafis umumnya memberikan grafik adegan, yang merupakan representasi berorientasi objek dari dunia permainan 3D yang sering menyederhanakan desain game dan dapat digunakan untuk rendering yang lebih efisien dari dunia maya yang luas.

Tipe Game Engine
Game engine biasanya datang dengan berbagai macam jenis dan ditujukan untuk berbagai kemampuan pemrograman. Ada 3 tipe game engine yang ada saat ini, diantaranya :

1. Roll-your-own game engine
Banyak perusahaan game kecil seperti publisher indie biasanya menggunakan engine-nya sendiri. Mereka menggunakan API seperti XNA, DirectX atau OpenGL untuk membuat game engine mereka sendiri. Di sisi lain, mereka kadang menggunakan library komersil atau yang open source. Terkadang mereka juga membuat semuanya mulai dari nol. Biasanya game engine tipe ini lebih disukai karena selain kemungkinan besar diberikan secara gratis, juga memperbolehkan mereka (para developer) lebih fleksibel dalam mengintegrasikan komponen yang diinginkan untuk dibentuk sebagai game engine mereka sendiri. Kelemahannya banyak engine yang dibuat dengan cara semacam ini malah menyerang balik developernya. Tower Games Studio membutuhkan satu tahun penuh untuk menyempurnakan game engine-nya, hanya untuk ditulis ulang semuanya dalam beberapa hari sebelum penggunaannya karena adanya bug kecil yang sangat mengganggu.


2. Mostly-ready game engines
Engine ini biasanya sudah menyediakan semuanya begitu diberikan pada developer/programer. Semuanya termasuk contoh GUI, physiscs, libraries model, texture dan lain-lain. Banyak dari mereka yang sudah benar-benar matang, sehingga dapat langsung digunakan untuk scripting sejak hari pertama. Game engine semacam ini memiliki beberapa batasan, terutama jika dibandingkan dengan game engine sebelumnya yang benar-benar terbuka lebar. Hal ini ditujukan agar tidak terjadi banyak error yang mungkin terjadi setelah sebuah game yang menggunakan engine ini dirilis dan masih memungkinkan game engine-nya tersebut untuk mengoptimalkan kinerja game-nya. Contoh tipe game engine seperti ini adalah Unreal Engine, Source Engine, id Tech Engine dan sebagainya yang sudah sangat optimal dibandingkan jika harus membuat dari awal. Dengan hal ini dapat menyingkat menghemat waktu dan biaya dari para developer game.

3. Point-and-click engines
Engine ini merupakan engine yang sangat dibatasi, tapi dibuat dengan sangat user friendly. Anda bahkan bisa mulai membuat game sendiri menggunakan engine seperti GameMaker, Torque Game Builder dan Unity3D. Dengan sedikit memanfaatkan coding, kamu sudah bisa merilis game point-and-click yang kamu banget. Kekurangannya terletak pada terbatasnya jenis interaksi yang bisa dilakukan dan biasanya hal ini mencakup semuanya, mulai dari grafis hingga tata suara. Tapi bukan berarti game engine jenis ini tidak berguna, bagi developer cerdas dan memiliki kreativitas tinggi, game engine seperti ini bisa dirubah menjadi sebuah game menyenangkan, seperti Flow. Game engine ini memang ditujukan bagi developer yang ingin menyingkat waktu pemrogramman dan merilis game-game mereka secepatnya.

Beberapa Contoh Game Engine Open Source :
- 3Dgame Studio
- Delta 3D
- UnrealEngine
- Panda3D
- Torque
- Quake Engine


PERBANDINGAN TOOLS DAN SOFTWARE UNTUK PENGEMBANGAN GAME



Game Tools merupakan suatu software aplikasi spesial yang menangani dan memfasilitasi dalam membuat sebuah game baik PC ataupun konsol. Pada game tools terdapat fungsi yang menyertai konversi yang diperlukan dalam pembuatan game (seperti 3D models, texture, level editing, script compilation, dll).

Sebagian besar game tools biasanya hanya bisa mendeveloped satu jenis game saja, tetapi seiring perkembangan zaman sekarang banyak game tools dapat membuat lebih dari satu genre. Setiap game tool memiliki fitur yang berbeda, yang paling menonjol dari sisi grafis. Tidak semua game tools dapat menghasilkan kualitas gambar yang bagus dan tidak semua game tools menggunakan scripting / code base dalam proses pembuatannya.


Ø  Game maker
Game maker merupakan suatu program yang bisa dikatakan cukup simple dan mudah untuk digunakan. Dengan program ini anda dapat menciptakan game jenis apa saja yang anda inginkan seperti: racing, action, fighting, rpg, adventure, puzzle, tactic, simulation, dll.
Program ini lebih focus pada game berjenis 2D tetapi program ini juga menyediakan feature yang memungkinkan anda untuk membuat game jenis 3D ,namun anda tidak bisa membuat game sekelas ”Empire Earth”, “Need for Speed”, dengan program ini. Karena feature 3D yang diberikan hanya untuk membuat game 3D yang sederhana.
Script yang dipakai adalah GML (Game Maker Language) yang juga bisa dipadukan dengan programming language seperti Delphi,C,dan sebagainya,hal ini bisa dilakukan dalam kapasitas penggunaan DLL (Dynamic Link Library,berupa semacam plugin yang mengandung fungsi-fungsi yang tidak dimiliki oleh GameMaker)

Ø  R.P.G Maker VX
R.P.G Maker merupakan program yang difokuskan untuk membuat game bertipe R.P.G (Role Playing Game).
Program ini bisa dikatakan cukup mudah untuk dipahami, karena dilengkapi dengan tools-tools yang bisa dibilang tidak terlalu rumit.
Umumnya banyak orang-orang yang mulai membuat game karena kecintaanya dengan dunia R.P.G , Misalkan setelah bermain “Suikoden “ atau “Final Fantasy”,seseorang merasa ingin membuat game R.P.G. serupa. mungkin anda salah satu dari orang–orang itu, jadi anda bisa mulai mencari program ini.
Sebab dengan program ini anda dapat membuat game R.P.G sebebas-bebas mungkin. Script yang dipakai dalam R.P.G. Maker VX yang dipakai adalah pengembangan dari RGSS,yaitu RGSS2.

 Ø  Adobe Flash Player
Mungkin sudah banyak orang yang tahu tentang program yang satu ini.
Program ini sebetulnya digunakan untuk membuat presentasi atau mendisain web. Namun selain itu dengan sedikit kreatifitas anda dapat membuat game sederhana dengan program ini. Sebab program ini tidak ditujukan untuk membuat game yang berat.

 Ø  AGS(Adventure Game Studio)
AGS adalah program yang khusus untuk membuat game bertipe “point and click”. Mungkin sebagian dari anda ada yang tidak mengetahui apa yang dimaksud dengan “point and click”.
Point and click adalah jenis game yang umumnya bertipe adventure atau puzzle. Game bertipe ini dimainkan dengan menggunakan mouse sebagai penentu arah bagi karakter, game bertipe ini sendiri sempat meledak dan mengalahkan game console “Atari”, ketika awal kebangkitan game PC.
Contoh –contoh game bertipe point and click adalah:
Clock Tower ( playstation one), Broken Sword, Monkey Island ,Day of the Tentacle.Jadi bagi anda yang penasaran atau hobi membuat cerita petualangan atau fiksi ilmiah dan ingin membuat cerita tsb menjadi game , anda bisa menggunakan program ini.

 Ø  3D Game Studio
Program yang satu ini ditujukan untuk membuat game-game bertipe 3D ataupun 2D. Namun program ini lebih dikhususkan untuk membuat game bertipe 3D.
Tapi untuk tambahan , program ini bisa dikatakan cukup sulit digunakan bagi anda yang belum memiliki pemahaman dasar tentang 3D maupun tentang membuat game. Kelebihan dari program ini adalah , anda dapat membuat game sekelas dengan “Medal of Honor”, “Onimusha” , “ Prince of Persia”, “Ghost Recon”, ”Grand Theft Auto”, dll .
Jadi bila anda sudah mengerti tentang dasar dari membuat game, mungkin anda dapat mencoba program ini.

JENIS JENIS GAME + OPPORTUNITY UNTUK MENUNJANG CREATIVE INDUSTRY


JENIS JENIS GAME :

RPG (Role Playing Game)
RPG adalah salah satu game yg didalamnya mengandung unsur experience atau leveling dalam  ameplay nya. Biasanya dalam game ini kita memiliki kebebasan untuk menjelajah dunia game ersebut, dan kadang kala dalam beberapa game, kita dapat menentukan ending dari game tersebut 

RPG terbagi 2 : Action RPG & Turn Based RPG (Menunggu giliran kita untuk berjalan seperti Monopoly)

                                         RPG Action
                                         Mass Effect



FPS (First Person Shooting)
FPS adalah game yg tembak menembak yg memiliki ciri utamanya adalah penggunaan sudut pandang orang pertama yg membuat kita dibelakang senjata. 

                                         FPS
                                         Counter Strike


Third Person Shooter 
TPS adalah game yg mirip dengan FPS yaitu memiliki gameplay tembak menembak hanya saja sudut pandang yg digunakan dalam game ini  adalah orang ketiga. 

                                         TPS
                                         Lost Planet


STRATEGY
Strategy adalah genre game yg memiliki gameplay untuk mengatur suatu unit atau pasukan untuk menyerang markas musuh dalam rangka memenangkan permainan. biasanya di dalam game Strategy, kita dituntut untuk mencari gold untuk membiayai pasukan kita.

Games Strategy dibagi 2 : 
Real Time Strategy (RTS)
Pada game ini, kita dapat mengendalikan pasukan secara langsung, dari mencari sumber daya, hingga menghancurkan musuh. Semua pertempuran ini dapat kita saksikan secara langsung.

                                         Warcraft 3


Turn Based Strategy (TBS)
sistem nya seperti Turn Based RPG, tetapi disini selain mengendalikan character utama, kita mengendalikan pasukan dan kota kita untuk memenangkan pertarungan. biasanya kita memainkan game nya di atas peta.

                                        Civilization


Simulation
Adalah genre yang mementingkan realisme. Segala faktor pada game ini sangat diperhatikan agar semirip didunia nyata. Segala nilai, material, referensi, dan faktor lainnya adalah berdasarkan dunia nyata. Cara memainkannya juga berbeda, karena biasanya kontrol yang dimiliki cukup rumit. Genre simulasi meliputi game racing, flight, sampai militer 

Tycoon
Tycoon adalah game yg menjadikan kita sebagai seorang bussinesman yang akan mengembangkan sesuatu Property untuk dikembangkan hingga laku di pasaran 

Racing
Racing Game adalah game sejenis racing yg memungkinkan kita untuk mengendalikan sebuah kendaraan untuk memenangkan sebuah balapan. 

Action Adventure
Action Adventure adalah game berupa petualangan salah seorang karakter yg penuh dengan penuh aksi yg akan terus ada hingga game tersebut tamat. (Biasanya Action dimasukan kategori RPG)

Arcade
Arcade game adalah genre game yang tidak terfokus pada cerita, melainkan hanya dimainkan "just for fun" atau untuk kejar-mengejar point / highscore 

Fighting Game
Fighting adalah genre game bertarung. Seperti dalam arcade, pemain dapat mengeluarkan jurus-jurus ampuh dalam pertarungannya. Genre fighting biasanya one on one dalam sebuah arena yang sempit 

Sports
Adalah genre bertema permainan olahraga. Sistem permainan akan berbeda-beda tergantung jenis olahraga yang menjadi tema game tersebut



Peluang Untuk Menunjang Industri Kreatif

Dalam Industri Game

Pemanfaatan Game tidak bisa dihindarkan dalam era teknologi informasi, waktu luang banyak digunakan untuk bermain game, apakah itu game yang bersifat online ataupun offline. Kemampuan para programmer dapat digabungkan dalam satu wadah yang akan mampu menciptakan permainan-permainan dalam tingkat yang lebih tinggi, bahkan pada tingkat kemampuan menarik minat para gamers untuk lebih banyak menggunakan logika dan kecepatan. terutama mampu menciptakan permainan yang bersaing di tingkat internasional.

Dengan melihat peluang industri kreatif di atas, maka sudah selayaknyalah Teknologi informasi dikembangkan sebagai salah satu Wadah yang mampu mengembangkan sumber daya manusia yang aktif, kreatif dan memiliki potensi luar biasa.

Dengan memberdayakan industri kreatif dan mengambangkan sumberdaya manusia yang kreatif akan turut memajukan nama, martabat dan perekonomian bangsa. Kecintaan akan industri kreatifitas bangsa dan turut serta pemerintah dalam memajukan industri kreatifitas ini akan memberi peluang besar bagi  pengembangan kreatifitas anak bangsa, yang mampu menyerap tenaga kerja di berbagai bidang, dan menurunkan jumlah pengangguran.