Sabtu, 05 Mei 2012

Arsitektur Mesin Game

Arsitektur Mesin Game

Arsitektur adalah seni dan ilmu dalam merancang bangunan.
Dalam artian yang lebih luas, arsitektur mencakup merancang dan membangun keseluruhan lingkungan binaan, mulai dari level makro yaitu perencanaan kota, perancangan perkotaan, arsitektur lansekap.
hingga ke level mikro yaitu desain bangunan, desain perabot dan desain produk.
Arsitektur juga merujuk kepada hasil-hasil proses perancangan tersebut.


Sedangkan (Game Engine) mesin permainan adalah sebuah sistem yang dirancang untuk penciptaan dan pengembangan video game. Ada banyak mesin permainan yang dirancang untuk bekerja pada video game konsol dan komputer pribadi. Fungsionalitas inti biasanya disediakan oleh mesin permainan mencakup mesin rendering (“renderer”) untuk grafis 2D atau 3D, mesin fisika atau deteksi tabrakan (dan tanggapan tabrakan), suara, script, animasi, kecerdasan buatan, jaringan, streaming, memori manajemen, threading, dukungan lokalisasi, dan grafik adegan. Proses pengembangan game sering dihemat oleh di menggunakan kembali sebagian besar / mengadaptasi mesin permainan yang sama untuk membuat game yang berbeda (disini)


Sejarah Game Engine



Sebelum (Game Engine) mesin permainan, permainan yang biasanya ditulis sebagai entitas tunggal: game untuk Atari 2600, misalnya, harus dirancang dari bawah ke atas untuk memanfaatkan optimal hardware layar tampilan ini rutin-core hari ini disebut kernel oleh retro pengembang. Platform lain telah kelonggaran lebih, tetapi bahkan ketika layar itu bukan masalah, kendala memori biasanya menyabotase upaya untuk menciptakan desain data-berat yang mesin kebutuhan. Bahkan pada platform menampung lebih, sangat kecil dapat digunakan kembali antara permainan. Kemajuan pesat hardware arcade-ujung tombak dari pasar-berarti bahwa sebagian besar kode harus dibuang setelah itu pula, sebagai generasi kemudian akan menggunakan desain permainan game yang sama sekali berbeda yang mengambil keuntungan dari sumber daya tambahan. Jadi desain paling permainan melalui 1980 dirancang melalui ruleset-keras dikodekan dengan sejumlah kecil data tingkat dan grafis.



Generasi pertama dari mesin grafis pihak ketiga atau renderers (dan pelopor untuk apa yang sekarang kita kenal sebagai mesin) didominasi oleh tiga pemain; BRender dari Argonaut Software, Renderware dari Kriteria Software Limited dan RenderMorphics ‘Realitas Lab. Realitas Lab adalah tercepat dari tiga dan adalah yang pertama diperoleh dalam langkah agresif oleh Microsoft. Tim RenderMorphics Pegawai Negeri Keondjian, Kate Seekings dan Doug Rabson kemudian bergabung dengan proyek Microsoft yang berubah Realita Lab ke Direct3D sebelum Keondjian dan Rabson kiri untuk memulai perusahaan lain middleware Qube Software. Renderware akhirnya dibeli oleh EA (Electronic Arts) tetapi dikesampingkan oleh raksasa permainan.



Istilah “Game Engine (Mesin Permainan)” muncul pada pertengahan 1990-an, terutama dalam kaitannya dengan game 3D seperti penembak orang pertama (FPS). (Lihat juga:. mesin first-person shooter) tersebut adalah popularitas Id Doom Software dan game Quake, daripada bekerja dari awal, pengembang lain berlisensi bagian inti dari perangkat lunak dan desain grafis mereka sendiri, karakter, senjata dan tingkat -The “permainan isi ” atau “aset permainan.” Pemisahan aturan permainan spesifik dan data dari konsep-konsep dasar seperti deteksi tabrakan dan entitas permainan berarti bahwa tim bisa tumbuh dan mengkhususkan.



Mesin permainan modern adalah beberapa aplikasi yang paling kompleks yang ditulis, sering menampilkan puluhan sistem tersetel berinteraksi untuk memastikan pengalaman pengguna yang tepat dikendalikan. Evolusi terus mesin permainan telah menciptakan sebuah pemisahan yang kuat antara rendering, scripting, karya seni, dan desain tingkat. Sekarang umum, misalnya, untuk tim pengembangan game khas untuk memiliki beberapa kali banyak seniman sebagai programmer yang sebenarnya.



Threading adalah mengambil lebih penting karena sistem multi-core modern (misalnya Cell) dan tuntutan meningkat pada realisme. Benang Khas melibatkan rendering, streaming, audio, dan fisika. Permainan Balapan yang biasanya berada di garis depan threading dengan mesin fisika berjalan di sebuah thread terpisah jauh sebelum subsistem inti lainnya dipindahkan, sebagian karena rendering dan tugas terkait perlu update hanya pada 30-60 Hz. Sebagai contoh, di PlayStation 3, fisika berlari di Need For Speed pada 100 Hz versus Forza Motorsport 2 pada 360 Hz.



Meskipun istilah ini pertama kali digunakan pada 1990-an, ada sistem sebelumnya beberapa tahun 1980-an yang juga dianggap permainan mesin, seperti Sierra’s Adventure Game Interpreter (AGI) dan sistem SCI, LucasArts ‘SCUMM sistem dan Insentif Software mesin Freescape . Tidak seperti kebanyakan mesin permainan modern, mesin permainan ini tidak pernah digunakan dalam produk pihak ketiga (kecuali untuk sistem SCUMM yang dilisensikan dan digunakan oleh humongous Entertainment).



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”.
Perancangan Game



untuk membuat sebuah game tidaklah semudah membuat aplikasi-aplikasi lainnya, bila sudah berbicara game maka aspek kepintaran membuat program harus menjadi satu dan masih banyak lagi lainnya.
tahap pertama yang harus dilakukan untuk membuat game adalah menentukan terlebih dahulu jenis game yang akan dibuat dan juga cerita dari game.



Proses penentuan jenis game ini tidak semudah yang kita pikirkan, disana akan banyak sekali faktor-faktor yang berperan dalam pengambilan keputusannya.
Membuat game seperti membuat film, dan banyak sekali game-game yang dibuat berdasarkan novel, buku cerita dan film-film. Contohnya saja sperti Starwars, Lord of the ring, Spiderman dan sebagainya.
Bahan-bahan yang dibutuhkan adalah seperti gambar-gambar untuk mendukung game ini seperti gambar pemandangan, gambar bangunan, gambar robot dan sebagainya. Selain itu juga dibutuhkan bahan-bahan untuk efek suara seperti musik untuk latar belakang game, efek ledakan, efek tembakan, efek mouse diklik dan lain sebagainya.
Bagian ini termasuk bagian yang susah sekali terutama bagi programmer karena kebanyakan programmer tidak pandai dalam hal – hal yang berbau seni. Pada bagian ini kita membutuhkan seorang artist designer.




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.

Tools dan Software untuk pengembangan game Game Tools

Tools dan Software untuk pengembangan game Game Tools


Adalah software aplikasi spesial yang menangani dan memfasilitasi dalam membuat game baik PC ataupun console.
Pada game tools terdapat fungsi yang menyertai konversi yang diperlukan dalam pembuatan game (kayak 3D models, texture, level editing, script compilation, dll).

Sebagian besar game tools biasanya hanya bisa mendeveloped satu jenis game, tapi 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.

Untuk membuat game dapat menggunakan SDK (Software Development Kit) dari DirectX dengan memanfaatkan fungsi-fungsi DirectX yang disediakan. Pada dasarnya, game itu sendiri merupakan sebuah aplikasi komputer yang ditulis dengan script atau bahasa pemrograman, di balik sebuah game yang menghadirkan kesenangan dan kenyamanan bermain, terdapat ribuan bahkan jutaan kode program yang membentuknya. Game dapat ditulis dengan bahasa pemrograman yang umum dan telah dikenal seperti Visual Basic, C, Java, Delphi, Phyton, dan lain sebagainya. Umumnya para developer game menggunakan tools atau paket library, seperti OpenGL Utility Toolkit atau modul lainnya. Beberapa development tools juga dikembangkan untuk memudahkan pembuatan game, misalnya RPG Maker dari Jepang yang memungkinkan kita menciptakan game dengan genre Role Playing Game.


Contoh tools atau software dari freeware dan komersil bisa lihat dibawah ini :
Freeware
  • Blender
  • OGRE
  • jMonkeyEngine
  • Panda 3D
  • DXFramework
  • Sphere
  • Golden T Game Engine
  • et cetera et cetera et cetera

Komersil
  • 3D Game Studio
  • 3D Game Maker
  • Jamagic
  • Blitz 3D
  • Alamo
  • BigWorld
  • DXStudio
  • Euphoria
  • Jade Engine
  • Jedi
  • Medusa
  • RPG Maker XP
  • RPG Maker VX
  • Vision Engine
Macromedia Flash
adalah program yang biasanya digunakan untuk membuat banner pada web tetapi sekarang sudah mulai banyak digunakan untuk membuat game secara online maupun offline.

3D Game Studio
adalah program 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.


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.

Untuk saat ini, bahasa pemrograman yang paling sulit adalah C/C++, tapi sesuai dengan kesulitannya, maka bahasa pemrograman ini adalah bahasa yang memiki peringkat tertinggi dalam hal “respect” oleh para programmer.
  • Hindari Flame War
Flame War adalah istilah untuk perang berkepanjangan antara para pendukung software/pendapat tertentu yang sering muncul dalam diskusi-diskusi di forum.
Sejauh mungkin hindarilah Flame War dengan para pengguna software yang lain, karena hal ini tidak ada gunanya. Banyak orang yang membenci bahasa BASIC karena dianggap bikin otak tumpul dan berbau microsoft. Kalau dibahas akan panjang dan anda akan bingung sendiri karena tidak ada bahasa pemrograman yang sempurna.

Pilihlah bahasa pemrograman yang sesuai untuk anda, dan tidak perlu ambil pusing dengan apa yang dikatakan oleh orang lain. Teruslah belajar hingga anda bisa menentukan sendiri apa yang baik untuk anda.
  • Memulai dari Authoring Tool
Authoring Tool adalah software yang digunakan untuk membuat game tanpa harus mengetik code. Dengan menggunakan Authoring Tool anda bisa membuat game dengan lebih mudah dan cepat.

Authoring Tool dibenci oleh para programmer (agak)senior karena dianggap sebagai gerakan pembodohan. Namun sekali lagi, gak usah ikut dalam perdebatan tiada akhir seperti ini. Gunakan Authoring Tool bila anda termasuk sangat pemula dan ingin membuat game dengan cepat tanpa harus terlalu banyak berpikir.

Jenis-Jenis Game Serta Opportunity Untuk Menunjang Creative Industry.

Jenis-Jenis Game Serta Opportunity Untuk Menunjang Creative Industry.


Jenis-Jenis Games

  • RPG (Role Playing Game)
RPG adalah salah satu game yg mengandung unsur experienc atau leveling dalam gameplay. Biasanya dalam game ini kita memiliki kebebasan untuk menjelajah dunia game tersebut dan juga kita dapat menentukan ending dari game tersebut.

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

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

  • Strategy
STRATEGY adalah genre game yg memiliki gameplay untuk mengatur suatu unit atau pasukan untuk menyerang markas musuh dalam rangka memenangkan permainan.
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.

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.

  • Simulation
Simulation adalah genre yang mementingkan realisme. Segala faktor pada game ini sangat diperhatikan agar semirip didunia nyata. baik nilai, material, referensi, dan faktor lainnya Cara memainkannya juga berbeda 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

  • Historic
Game ini meilbatkan tentang sejarah pada jaman dahulu misalnya The Myth Of Heroes Legend

  • Reallife
Game ini meliputi tentang kehidupan sehari-hari,misalnya saja farm franzy
  • Musical
Game ini meikputi tentang alat music,misalnya saja guitar hero,piano,dll
  • Shooter
Genre permainan video yang ciri utamanya adalah penggunaan sudut pandang orang pertama dengan tampilan layar yang mensimulasikan apa yang dilihat melalui mata karakter yang dimainkan. Ciri utama lain adalah penggunaan senjata genggam jarak jauh.

  • Action
Video game ini biasanya meliputi tantangan fisik, balapan, dan beberapa konflik lainnya. Dapat juga meliputi masalah ekonomi sederhana, seperti mengumpulkan benda-benda.

  • Puzzle
Video game jenis ini sesuai namanya berintikan mengenai pemecahan teka-teki, baik itu menyusun balok, menyamakan warna bola, memecahkan perhitungan matematika, melewati labirin, sampai mendorong-dorong kota masuk ke tempat yang seharusnya, itu semua termasuk dalam jenis ini. Sering pula permainan jenis ini adalah juga unsur permainan dalam video game petualangan maupun game edukasi. Tetris, Minesweeper, Bejeweled, Sokoban dan Bomberman.

Peluang untuk menunjang industri kreatif Dalam industri Game

Nah, pemanfaatan Game juga gak bisa dihindarkan dalam era teknologi informasi, waktu luang banyak digunakan untuk bermain game, entah 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 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.

Pendidikan di bidang teknologi yang mengacu pada pengembangan potensi tersebut juga akan menghasilkan sumberdaya kreatif dalam menghidupkan industri kreatif. Mari Berdayakan Industri kreatif karya anak bangsa demi memajukan indonesia dan memberi citra baru sebagai negara yang kreatif, aktif dan mampu bersaing di segala bidang.