Rabu, 18 April 2012

Arsitektur Game Engine

Arsitektur mesin game adalah system perangkat lunak yang dirancang untuk menciptakan dan pengembangan video game. Simplenya dari arsitektur mesin game itu adalah rancangan dari sistem perangkat lunak dari game itu sendiri.
Ada banyak mesin permainan yang dirancang untuk bekerja pada konsol permainan video dan sistem operasi desktop seperti Microsoft Windows, Linux, dan Mac OS X. 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

Tahap-tahap awal pembuatan game :
Langkah 1: Tuangkan logika permainan Anda ke dalam rendreing (view)

Konsep
Hal pertama yang harus kita lakukan adalah memisahkan render dari logika. Dan ini masuk akal. Intinya logika game bisa berjalan pada kecepatan yang berbeda dari rendering.
Logika permainan tidak mengenal tentang rendering, sehingga pada logika tidak peduli apakah nantinya akan ditampilkan dalam 2D, 3D seni, ASCII atau apa pun. Namun rendering tergantung pada logika, karena itu perlu info tentang cara / dimana untuk menampilkan segala logika kita. Gambar berikut menunjukkan 2 modul dengan dependensi. Rendering yang terjadi di dalam modul “View”.
 Logic - View
Contoh
Kita akan membuat kelas RaceCarView pada objek RaceCar. RaceCar menangani logika dan input pengguna tetapi tidak tahu tentang cara menampilkannya, dan RaceCarView menampilkan mobil balap pada layar, dengan menggunakan informasi dari RaceCar.

Langkah 2: Tuangkan logika permainan Anda ke dalam model dan controller

konsep
Hal kedua yang bisa kita lakukan adalah menuangkan logika menjadi model dan controller. Model ini pada dasarnya adalah dunia permainannya, ia akan mengetahui apa-apa tentang cara menampilkan, input pengguna, dll. Model hanya mengimplementasikan aturan dunia permainan Anda, dan bagaimana entitas berinteraksi satu sama lain. Controller tahu tentang model dan dapat memanipulasinya. Misalnya controller memeriksa input pengguna, dan memanipulasi mobil yang sesuai. Controller perlu untuk kode renderinf (view) saat menggunakan input mouse untuk memanipulasi objek di layar.
 MVC
Contoh
Dalam contoh balapan mobil (RaceCar), ketika ada input dari pengguna pertama yang akan menangani adalah RaceCarController. Ketika pengguna menekan tombol kiri, controller melihat ini dan akan memanggil model RaceCar.steer_left(). Model ini kemudian menangani aturan dari dunia mobil untuk melakukan manuver ke kiri.

Dimana penempatan AI-nya?
Kebanyakan permainan menggunakan AI untuk mengendalikan objek permainan tertentu, jadi pertanyaannya adalah dimana tempat untuk menaruh AI-nya, dalam model atau controller? Jawabannya cukup sederhana: jika AI mengontrol objek yang sama dengan cara yang sama sebagai pengguna tidak (yaitu ‘bot’), maka sebaiknya kita menerapkannya dalam controller. Dalam kasus lain, AI adalah bagian dari dunia permainan sehingga Anda harus menerapkannya dalam model. Dalam contoh ini, AI mobil harus dilaksanakan di controller, karena mereka pada dasarnya bot. Jika kita sebagai pejalan kaki yang tidak berada pada “jalan”, maka akan diimplementasikan dalam model, karena pejalan kaki adalah bagian dari dunia juga.

Ringkasan

Jadi, kita membagi ke 3 modul berbeda yaitu : model, view dan controller.
Model
Semua aturan dunia permainan diimplementasikan dalam model, dan juga berisi data negara atau level dari setiap objek permainan atau entitas. Ini adalah simulasi permainan dari dunia nyata, sehingga model tidak tahu apa-apa tentang input pengguna atau menampilkan ke layar.
View
Rendering ke layar ditangani oleh view. View menggunakan model untuk tahu di mana saja si view harus menampilkan sesuatu. View tidak memiliki fungsi lain selain untuk menampilkan saja.
Controller
Controller menangani user input dan memanipulasi model. Pertama memeriksa input pengguna, selanjutnya Controller mungkin bisa meminta View untuk menampilakn objek ke layar saat mouse di klik, dan akhirnya memanipulasi data pada Model. Beberapa Controller dapat diterapkan bersamaan, misalnya keyboard controller, controller joypad, dan bahkan Controller ‘bot’ AI.
Disini, Model berdiri sendiri dan tidak perlu tahu apa-apa tentang yang lain (Contoller dan View). View hanya bergantung pada model untuk membuat segala sesuatu di layar. Controller menerima input, dapat memperoleh informasi tambahan dengan memanggil View, dan pada akhirnya memanipulasi Model. Keuntungan dari arsitektur ini:
·   Desain yang bagus, karena menggunakan modul-modul
·   Dunia permainannya dibundel dalam Model
·   Perubahan render tidak mempengaruhi permainan inti
·   Mendukung input Controller yang berbeda, user dan / atau bot
 MVC - 2

Referensi :

Game 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).
Contoh-contohnya adalah :

RPG Maker XP/2000

 RPG Maker
RPG Maker 2000 adalah perangkat gratis yang memungkinkan Anda untuk membuat Super Nintendo / Playstation 1 RPG gaya konsol mirip dengan “Final Fantasy” dan “Dragon Quest”. Software ini cukup fleksibel dan mudah digunakan, memungkinkan Anda menyesuaikan antarmuka dan antarmuka scripting;  memungkinkan kontrol desainer lebih besar dan kebebasan dalam desain dalam pelaksanaan permainan. Ada fitur tileset yang tersedia dan pilihan musik pada game standar, dan ada komunitas yang berkembang dari pengguna untuk memproduksi konten baru bagi para pengembang yang lain.


Game Maker

 Game Maker
Game Maker memungkinkan Anda untuk membuat segala sesuatu dari sisi-bergulir seperti Super Mario-esque, Doom-style first-person shooters, semua dengan antarmuka titik-dan-klik sederhana.  Pada situs resminya  ada beberapa tutorial tentang cara membuat berbagai jenis permainan. Ada juga sebuah komunitas yang sangat aktif memproduksi game dan source untuk download dan memainkannya. Di versi berbayar atau “Pro” nya perangkat lunak ini menyediakan lebih banyak fitur dan fungsionalitas.

3D Adventure Studio
 3D Adventure Stidio

3D Adventure Studio adalah alat pengembangan yang dirancang untuk memungkinkan Anda untuk membangun game petualangan 3D yang mirip dengan “Betrayal,” “Krondor” and “Gabriel Knight 3″. Perangkat lunak ini masih dalam tahap Alpha dan belum diperbarui sejak 2004, tetapi masih sedikit berguna.

Adventure Maker
 Adventure Maker

Adventure Maker adalah pembuat game yang sangat serbaguna yang gratis dan memungkinkan Anda untuk membuat game petualangan point-and-click untuk PC Anda, PSP, Iphone dan Ipod Touch. Selain permainan, perangkat lunak ini memungkinkan Anda untuk membuat majalah interaktif, wisata virtual dan bahkan PowerPoint seperti presentasi. Sama seperti Game Maker ada edisi gratis serta edisi lengkap yang menawarkan lebih banyak fitur. Perangkat lunak yang dirancang untuk PSP dan Iphone / Ipod adalah legal dan dalam semua parameter yang berwenang.

Eclipse MMORPG Maker
 Eclipse MMORPG Maker

Eclipse memungkinkan pengguna untuk membuat MMORPG 2D, mirip dengan “Maple Story”.  Seperti alat desain lainnya yang tercantum di atas, yang satu ini membutuhkan pengetahuan pemrograman sedikit atau tidak ada pun bisa, meskipun seorang programmer cerdas dan berpengalaman dapat memperluas fungsionalitas sebuah permainan dengan pemrograman fitur tambahan menggunakan built-in tools scripting. Seperti RPG Maker XP, ada tilesets banyak tambahan, grafik dan cara lain untuk mengembangkan permainan Anda, bisa Anda download di situsnya.


Referensi :


Jenis-jenis game dan opportunity untuk menunjang creative industry


Jenis-jenis game
1. FPS (First Person Shooter)
adalah jenis game tembak-tembakan dengan tampilan pemain adalah tokoh yang dimainkan. Biasanya berupa misi untuk suatu tujuan tertentu. Ciri khas game ini adalah penggunaan senjata jarak jauh.
Contoh : Counter-Strike, Call of Duty, Ghost Recon, Point Blank, Crossfire

2. RTS (Real Time Strategy)
adalah genre permainan strategi, taktik, dan logika. Biasanya berupa perang yang tiap pemainnya memiliki suatu pasukan atau negara. Dalam RTS permainan dapat berupa sejarah, fantasi, dan fiksi ilmiah.
Contoh : Age of Empires, Warcraft, Command & Concuer, Rise of Nations, Stronghold

3. RPG (Role Playing Game)
adalah game yang para pemainnya memainkan peran tokoh-tokoh khayalan dan berkolaborasi untuk merajut sebuah cerita bersama. Ada pula jenis lain game RPG ini, diantaranya :
LARP (Live Action Role Playing) adalah game RPG dimana para pemain bisa melakukan gerakan fisik tokohnya. Biasanya pemain menggunakan kostum dan menggunakan alat-alat yang sesuai dengan tokoh, dunia dan cerita yang dia mainkan.
MMORPG (Massively Multiplayer Online Role-Playing Game) adalah game RPG yang melibatkan ribuan pemain untuk bermain game bersama dalam dunia maya.
Contoh : Final Fantasy, Ragnarok, Avalon, RF, World of Warcraft, DotA, Perfect World

4. Construction and Management Simulation Games
adalah game yang mesimulasikan proyek membangun dan mengelola. Pada dasarnya adalah masalah ekonomi dan konseptual. Game ini jarang yang melibatkan konflik dan eksplorasi, dan hampir tidak pernah meliputi tantangan fisik.
Contoh : Sim City, Roller Coster Tycoon, Caesar

5. Vehicle Simulation
Jenis permainan ini mensimulasi pengoperasian beberapa kendaraan, kendaraan bisa berupa pesawat terbang, pesawat tempur, kereta, kendaraan perang, maupun kendaraan konstruksi.
Contoh : Train Simulator, Truck Simulator, FlightGear, Tram, Orbiter

6. Adventure Games
game yang mengutamakan masalah eksplorasi dan pemecahan teka-teki. Namun terkadang meliputi masalah konseptual, dan tantangan fisik namun sangat jarang.
Contoh : Indiana Jones, God of War, Tomb Raider, Assasins Creed

Opportunity / Kesempatan penunjang Creative Industies

Menurut Department for Culture, Media and Sport (DCMS), Creative Industry adalah industri-industri yang memiliki ide hasil sendiri, keterampilan, kreativitas dan bakat yang memiliki potensi untuk pekerjaan dan penciptaan kekayaan melalui generasi dan eksploitasi kekayaan intelektual (Creative Industries Mapping Document’, DCMS, 2001).

Melihat dari penegertian diatas kita memiliki sedikit gambaran bagaimana kesempatan game dalam kreatif industri. Seperti yang kita tahu bahwa begitu banyak manusia di bumi ini, Anda bisa membanyangkan seberapa banyak pula ide ada. Memang saat ini game yang ada sudah begitu banyak, tapi seiring berkembangnya teknologi pula pasti nanti akan ada game-game baru yang bermunculan.

Pada tahun 90-an hingga awal 2000-an misalnya, kita dahulu di manjakan dan dibuat ‘asik’ dengan game seperti pada nitendo dan playstation dimana mereka memiliki permainnan yang menarik dari berbagai jenisnya. Selanjutnya mulai lah muncul game desktop atau komputer yang semakin menjadi, game komputer dulu memang kurang banyak diminati, tetapi semenjak didukung dengan komputer yang memiliki kemampuan untuk merender kualitas gambar yang lebih bagus, game komputer memiliki daya tarik tersendri.
Nah, baru-baru ini kita dihadapkan dengan dunia yang serba mobile. Mulai dari yang namanya handphone, smartphone, tablet pc dan mungkin nanti akan ada teknologi terbaru intel yang bernama Ultrabook

Kesimpulannya game tidak akan mati sampe kapan pun karena tidak munafik juga bahwa semua orang pasti ada saatnya butuh refreshing dari kejenuhan. Dengan adanya game (permainan), kita dapat mengurangi rasa jenuh tersebut.

Referensi: