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 :
- 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.
- 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.
- Point – and – click Engine.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 :
- 3D Game Studio
- Delta 3D
- Unreal Engine
- Panda 3D
- Torque
- Quake Engine
GAME UNITY 3D
Tagline
Unity merupakan ekosistem pengembangan game: mesin render yang kuat terintegrasi dengan satu set lengkap alat intuitif dan alur kerja yang cepat untuk membuat konten 3D interaktif, penerbitan multiplatform yang mudah, ribuan kualitas, aset siap pakai di Asset Store dan berbagi pengetahuan di komunitas.
Untuk developer dan studio independen, Unity dengan demokratisasi ekosistem menghancurkan waktu dan biaya hambatan untuk menciptakan permainan unik dan indah. Mereka menggunakan Unity untuk membangun penghidupan melakukan apa yang mereka suka: menciptakan permainan yang menghubungkan dan menyenangkan pemain pada platform apapun.
Unity Software
Unity merupakan suatu aplikasi yang digunakan untuk mengembangkan game multi platform yang didesain untuk mudah digunakan. Unity itu bagus dan penuh perpaduan dengan aplikasi yang profesional. Editor pada Unity dibuat degan user interface yang sederhana. Editor ini dibuat setelah ribuan jam yang mana telah dihabiskan untuk membuatnya menjadi nomor satu dalam urutan rankking teratas untuk editor game. Grafis pada unity dibuat dengan grafis tingkat tinggi untuk OpenGL dan directX. Unity mendukung semua format file, terutamanya format umum seperti semua format dari art applications. Unity cocok dengan versi 64-bit dan dapat beroperasi pada Mac OS x dan windows dan dapat menghasilkan game untuk Mac, Windows, Wii, iPhone, iPad dan Android.
Unity secara rinci dapat digunakan untuk membuat video game 3D, real time animasi 3D dan visualisasi arsitektur dan isi serupa yang interaktif lainnya. Editor Unity dapat menggunakan plugin untuk web player dan menghasilkan game browser yang didukung oleh Windows dan Mac. Plugin web player dapat juga dipakai untuk widgets Mac. Unity juga akan mendukung console terbaru seperti PlayStation 3 dan Xbox 360. Pada tahun 2010, telah memperoleh Technology Innovation Award yang diberikan oleh Wall Street Journal dan tahun 2009, Unity Technology menjadi 5 perusahaan game terbesar. Tahun 2006, menjadi juara dua pada Apple Design Awards.
Server aset dari Unity dapat digunakan semua scripts dan aset game sebagai solusi dari versi kontrol dan dapat mendukung proyek yang terdiri atas banyak gigabytes dan ribuan dari file multi-megabyte. Editor Unity dapat menyimpan metadata dan versi mereka, itu dapat berjalan , pembaharuan dan didalam perbandingan versi grafis. Editor Unity dapat diperbaharui dengan sesegera mungkin seperti file yang telah dimodifikasi. Server aset Unity juga cocok pada Mac, Windows dan Linux dan juga berjalan pada PostgreSQL, database server opensource.
Perizinan atau license dari Unity ada dua bentuk. Ada Unity dan Unity Pro. Versi Unity tersedia dalam bentuk gratis, sedang versi Unity Pro hanya dapat dibeli. Versi Unity Pro ada dengan fitur bawaan seperti efek post processing dan render efek texture. Versi Unity merupakan yang gratis memperlihatkan aliran untuk game web dan layar splash untuk game yang berdiri sendiri. Unity dan Unity Pro menyediakan tutorial, isi, contoh project, wiki, dukungan melalui forum dan perbaruan kedepannya. Unity digunakan pada iPhone, iPod dan iPad operating system yang mana iOS ada sebagai add-ons pada Unity editor yang telah ada lisensinya, dengan cara yang sama juga pada Android.
Fitur-fitur
- Rendering
Graphics engine yang digunakan adalah
Direct3D (Windows, Xbox 360), OpenGL (Mac, Windows, Linux, PS3), OpenGL
ES (Android, iOS), dan proprietary APIs (Wii). Ada pula kemampuan untuk
bump mapping, reflection mapping, parallax mapping, screen space ambient
occlusion (SSAO), dynamic shadows using shadow maps, render-to-texture
and full-screen post-processing effects.[4]
Unity dapat mengambil format desain dari
3ds Max, Maya, Softimage, Blender, modo, ZBrush, Cinema 4D, Cheetah3D,
Adobe Photoshop, Adobe Fireworks and Allegorithmic Substance. Asset
tersebut dapat ditambahkan ke game project dan diatur melalui graphical
user interface Unity.
ShaderLab adalah bahasa yang digunakan
untuk shaders, dimana mampu memberikan deklaratif “programming” dari
fixed-function pipeline dan program shader ditulis dalam GLSL atau Cg.
Sebuah shader dapat menyertakan banyak varian dan sebuah spesifikasi
fallback declarative, dimana membuat Unity dapat mendeteksi berbagai
macam video card terbaik saat ini, dan jika tidak ada yang kompatibel,
maka akan dilempar menggunakan shader alternatif yang mungkin dapat
menurunkan fitur dan performa.
Pada 3 Agustus 2013, seiring dengan
diluncurkannya versi 4.2, Unity mengijinkan developer indie mengunakan
Realtime shadows hanya untuk Directional lights, dan juga menambahkan
kemampuan dari DirectX11 yang memberikan shadows dengan resolusi pixel
yang lebih sempurna, textur untuk membuat objek 3d dari grayscale dengan
lebih grafik facial, animasi yang lebih halus dan mempercepat FPS.
- Scripting
Script game engine dibuat dengan Mono
2.6, sebuah implementasi open-source dari .NET Framework. Programmer
dapat menggunakan UnityScript (bahasa terkustomisasi yang terinspirasi
dari sintax ECMAScript, dalam bentuk JavaScript), C#, atau Boo
(terinspirasi dari sintax bahasa pemrograman phyton). Dimulai dengan
dirilisnya versi 3.0, Unity menyertakan versi MonoDevelop yang
terkustomisasi untuk debug script.
- Asset Tracking
Unity juga menyertakan Server Unity Asset
– sebuah solusi terkontrol untuk defeloper game asset dan script.
Server tersebut menggunakan PostgreSQL sebagai backend, sistem audio
dibuat menggunakan FMOD library (dengan kemampuan untuk memutar Ogg
Vorbis compressed audio), video playback menggunakan Theora codec,
engine daratan dan vegetasi (dimana mensuport tree billboarding,
Occlusion Culling dengan Umbra), built-in lightmapping dan global
illumination dengan Beast, multiplayer networking menggunakan RakNet,
dan navigasi mesh pencari jalur built-in.
- Platforms
Unity support pengembangan ke berbagai
plaform. Didalam project, developer memiliki kontrol untuk mengirim
keperangkat mobile, web browser, desktop, and console. Unity juga
mengijinkan spesifikasi kompresi textur dan pengaturan resolusi di
setiap platform yang didukung.
Saat ini platform yang didukung adalah
BlackBerry 10, Windows 8, Windows Phone 8, Windows, Mac, Linux, Android,
iOS, Unity Web Player, Adobe Flash, PlayStation 3, Xbox 360, Wii U and
Wii. Meskipun tidak semua terkonfirmasi secara resmi, Unity juga
mendukung PlayStation Vita yang dapat dilihat pada game Escape Plan dan
Oddworld: New ‘n’ Tasty.
Rencana platform berikutnya adalah
PlayStation 4 dan Xbox One. Dan juga rumor untuk kedepanya mengatakan
HTML akan menjadi platformnya, dan plug-in Adobe baru dimana akan
disubtitusikan ke Flash Player, juga akan menjadi platform berikutnya.
- Asset Store
Diluncurkan November 2010, Unity Asset
Store adalah sebuah resource yang hadir di Unity editor. Asset store
terdiri dari koleksi lebih dari 4,400 asset packages, beserta 3D models,
textures dan materials, sistem particle, musik dan efek suara, tutorial
dan project, scripting package, editor extensions dan servis online.
- Physics
Unity juga memiliki suport built-in untuk
PhysX physics engine (sejak Unity 3.0) dari Nvidia (sebelumnya Ageia)
dengan penambahan kemampuan untuk simulasi real-time cloth pada
arbitrary dan skinned meshes, thick ray cast, dan collision layers.
Showcase
Temple Run Oz
By Imangi Studios
Genre: Endless Runner
Platform: Android, iOS, Windows Phone 8, Windows Store
Bad Piggies
By Rovio
Genre: Puzzle
Platform: Android, iOS, Mac, PC
http://www.hermantolle.com/class/docs/unity-3d-game-engine/
https://raflyjuninton93.wordpress.com/2015/05/06/arsitektur-game-engine/
Tidak ada komentar:
Posting Komentar