Halo agan2, agan2wati, bro dan sis. Hari ini ane mau bahas satu teknik dimana banyak pengembang game terkenal membuat game2 mereka. Bagi para gamer, baik console maupun komputer, pasti udah paham maksud judul ane :)
Game 3D modern yang dipasaran sekarang. Sebutlah Crysis, Half-Life, Far Cry, Call of Duty, dll, memakai 3D engine mereka sendiri yang tidak lain adalah "otak" yang merender semua realita semu ke mata Anda.
3D game engines ini adalah produk yang kompleks yang terdiri dari gabungan matematika dan programming. Di thread ini saya pengen kupas sedikit dasar pengetahuan tentang 3D game engine.
Secara spesifik, game engine bekerja dengan mengunakan point (titik) dan vektor, dan semua pendukungnya. Dasar pengetahuan ini meliputi sedikit aljabar dan object-oriented programming.
Dasar dari Sistem Koordinat
Game 3 dimensi tentu harus...3 dimensi. Konsep yang paling sering dipake buat membuat ruang 3D adalah sistem koordinat Kartesius (pelajaran anak SMA dan juga dipake di AutoCAD). Bentuknya seperti ini:
Dari sana, si game designer bisa lihat kalau sudut Kartesius 3D terdiri dari 3 sumbu (X, Y, Z) yan merupakan posisi horizontal, vertikal dan kedalaman. Kordinat dari sumbu2 ini disebut "tuple" atau "3-tuple" buat 3D.
Represendari sari 3-tuple ini adalah P.
Ini bisa dilihat dari persamaan:
P=(x,y,z)
Dan karena origin dari titik di kordinat adalah titik 0. Maka representasi dari 3-tuple ini adalah {O;X,Y,Z}. Dengan statemen ini, bisa dibilang kalau titik x,y dan z adalah posisi yang berelasi dengan titik origin. Definisi ini juga berarti titik mana saja dari titik P, (a, b, c).
P=O+aX+bY+cZ
Points dan Vektor
Setelah paham dasar dari koordinat, sekarang masuk ke bagian titik dan vektor. Atau lebih tepatnya, bagaimana semua elemen beriteraksi antara satu dengan yang lainnya. Point dan Vektor adalah 2 elemen yang berbeda. Point atau titik, adalah lokasi. Sementara Vektor adalah jarak antara dua titik.
Setelah paham konsep dari point dan vektor, pengembang bisa buat wireframe rendering. Ini kemudian diikuti ole rasterization dan gouraud shading dan terakhir, tekstur.
Transformasi ini disingkat menjadi
- Sebuah objek 3D di sumbu Kartesius.
- Objek tersebut dipindah (transformasi) ke dunia 3D virtual dengan translasi, rotasi atau dilatasi dengan matrix.
- Kamera kemudian akan melihat objek 3D ini di dunia 3D virtual.
- Hasil final adalah objek yang dirender secara 3D di layar.
Menggabungkan Semuanya dalam Engine
Setelah semua variabel ada di tangan, informasi yang didapat udah cukup untuk membuat class yang akan ada di inti dari semua 3D game engine: point class dan vektor class.
SUMBER: GOOGLE, TUTSPLUS, DLL.
Sebagai bacaan tambahan:
Source Engine. Games: Dota 2, Half Life 2 series, Counter-Strike: Source, Counter-Strike: Global Offensive, Left4Dead, Left4Dead 2, Portal 1 and 2
Salah satu engine paling terkenal sebagai pionir dari 3D engine. Engine ini sudah sering dipakai dan sampai punya komunitas sendiri yang terus mengembang engine ini dengan ratusan bahkan ribuan mods. Engine ini karena merupakan salah satu yang paling tua, juga dilihat sebagai engine yang sudah uzur. Tapi kemampuannya masih bisa diandalkan dengan membuat Half-Life 2, Counter-Strike, dan game2 serupa yang banyak di warnet game. Engine ini bisa didownload dari game2 yang dirilis Valve di Steam. Untuk lisensi komersilnya juga ada.
FrostBite. Game: Battlefield, Need for Speed: Rivals, Plants vs. Zombies: Garden Warfare
Buatan EA dan terkenal sejak Battlefield. Engine ini didesign untuk Microsoft Windows, PlayStation 3, PlayStation 4, Xbox 360, dan Xbox One. Dengan nama EA dibelakangnya, FrostBite sering dibilang sebagai state-of-the-art dari game engine.
CryEngine 3. Game: Crysis 2 and 3
CryEngine 3 udah sering dijadikan benchmark dari graphic game 3D. Bahkan pengembang engine ini pernah menyatakan kalau CryEngine 3 sangat canggih sampai2 hardware yang ada saat engine ini pertama kali diluncurkan belum ada yang bisa ngeluarin potensi maksimumnya. Engine ini sudah membuktikan kalau omongan ini bukan isapan jempol belaka dengangame Crysis yang dibilang mempunyai graphic diatas masanya. Fitur unggul dari engine ini adalah kemampuannya untuk membuat landscape 3D yang spektakuler.
Unreal Engine. Games: Mass Effect Series, Dishonored, Bioshock Infinite, Batman: Arkham Asylum, dll
Engine ini adalah tool lengkap untuk membuat game 3D sendiri. Salah satu tool yang paling banyak dipake di industry game. Tersedia versi gratis untuk belajar dan versi lisensi bayar buat bikin game komersil.
Unity. Games: Monument Valley, Oddworld: New 'n' Tasty!, Project Phoenix, Superhot, Torment: Tides of Numenera, dll
Unity adalah engine yang populer di kalangan developer. Dengan engine ini, mereka bisa membuat game 3D dan 2D dengan mudah yang support berbagai macam platform. Ada versi gratis dan bayarnya.
Leadwerks Engine. Games: Hoodwinks, dll
Lewdwerks adalah OpenGL 3D game engine yang mempunyai fitur lighting system, Screen Space Ambient Occlusion, real-time global illumination, advanced shaders, support for huge terrains and physics.
Torque. Games: Tribes 2, Blockland, Marble Blast Gold, Minions of Mirth, TubeTwist, Ultimate Duck Hunting, Wildlife Tycoon: Venture Africa, ThinkTanks, The Destiny of Zorro, dll
Awalnya engine ini dibuat tahun 2001 untuk FPS. Tapi semenjak itu berkembang dengan mengandalkan banyak fitur lainnya. Torque adalah engine open source dan merupakan andalan banyak developer. Beberapa fiturnya adalah world editor, Collada support, per pixel dynamic lighting, normal - parallax occlusion mapping, reflections, sky system, physX, multiple platform publishing dan access to source code.
Blender. Games: Lucy and The Time Machine, Krum dll
Free dan open source. Tools ini termasuk fitur untuk animation, compositing, 3D modeling, uv unwrapping, texturing, rigging, skinning, fluid, smoke, particle system, physics dan rendering. Tool ini juga punya built-in game engine. Game engine ini dibuat dengan bahasa pemrograman C++ dengan support Python scripting and OpenAL 3D sound.
Neoaxis. Games: Magic Story, Homura Combat, Adventures of Mopol, dll
Neoaxis mempunyai banyak fitur dari 3D game engine modern seperti advanced material dan shading support, real-time shadows, built-in Nvidia physX dan current/next-gen rendering. Mempunyai SDK dan map editor. Support untuk FPS (First Person Shooter), Real Time Strategy, 3rd Person Shooter, dll.
C4 Engine. Games: Project Reality 2, Quest of Persia: Lotfali Khan Zand, World of Subways, dll
C4 Engine adalah engine yang lengkap. Meliputi dynamic lighting, stencil, cascaded shadows, advanced shader support, terrain dan scene management seperti portals, occlusion dan level of detail. Versi yang bisa didownload adalah Standard dan Professional. Ada juga versi Academic. Engine ini dipakai buat buat game PlayStation 4, PlayStation 3, Windows (XP keatas), Mac OS X (versions 10.7 keatas), dan Linux.
Shiva3D. Games: The Hunt, dll
3D game engine dengan graphical editor untuk mengembangkan game di web, console, dan mobile. Untuk lengkapnya: di platform Windows, Mac, Linux, iPhone, iPad, BlackBerry Tablet OS/BlackBerry 10, Android, Palm OS, Wii dan WebOS, standalone atau game di web browser. Beberapa fiturnya meliputi: Nvidia physX, compound dynamic body, point light shadows, per-vertex per-pixel dan lightmapping.
Panda 3D. Games: Disney's Toontown, Disney's Pirates of the Caribbean Online, Autumn Moon Entertainment: Ghost Pirates of Vooju Island, SimOps Studios: Code3D, dll
Free dan open source. Game engine ini mempermudah pengembang dalam graphics, audio, I/O, collision detection, dll. Juga meliputi physics, particle effects, GUI creation, AI, OpenGL/DirectX, render to texture dan advanced shaders (normals, gloss, glow maps, HDR, cel shading).
Esenthel Engine. Games: Berbagai game MMO (Massively Multiplayer Online) dan RPG (Role Playing Game)
3D engine paket all-in-one. Dengan engine ini, developer bisa membuat game kelas 1 dengan tool yang mempermudah proses pengembangan game. Engine ini mendukung rendering, animation, physics, memory dan network. Ada lisensi gratis untuk pemakaian non-komersil dan lisensi bebayar buat pengunaan komersil.
id Tech. Game: Wolfenstein, Doom, Quake, dll
Mungkin salah satu game engine paling tua. Generasi dari 3D engine ini bisa ditelusurin dari Wolfenstein 3D yang merupakan "bapak" dari game 3D. Generasi barunya udah meliputi fitur seperti unified lighting dan shadowing, shadow volumes dan mega texture.
Ogre3D. Game: Ankh, Torchlight, dll
Ogre3D adalah 3D rendering engine yang open source rendering engine. Fiturnya memudahkan developer untuk membuat engine mereka sendiri yang meliputi object-oriented design, multi-platform dengan OpenGL dan Direct3D, landscape scene manager, animation engine dan content exporters untuk hampir semua 3D modeling.
Irrlicht. Game: Stunt Challenge, SpaceFlight, dll
Sebenernya bukan 3D engine tapi 3D rendering engine. Tool ini meliputi dynamic shadows, particle system, character animation system, indoor/outdoor rendering, collision detection, lightmapping, direct import of common 3d mesh file formats dan simple collision. Platform independen dan open source.
Dan sebagai tambahan, http://en.wikipedia.org/wiki/List_of_game_engines :)
Semoga berguna buat yang mau jadi developer game Indonesia.
mantaaaapppp..!!! ane tau persis kalo bikin game 3d itu susah... tapi gak nyangka segini susah... apa karena ane lulusan ips dulu :p
seinget ane pertama kali maen game yang udah 3d itu first person wolfenstein 3d jaman2nya masih sd.
baru tau engine game boleh dipake sama pengembang luar bkn perusahaan. kirain kalo mau bikin game 3d sendiri harus bikin engine sendiri... kaya mobil gitu.
nice info gan... pasti pegel tuh ngetiknya hehe
Pertama kali liat Crysis 1 takjub liat gambarnya. Pertama kali maen 3D game Doom kali ya? Nice write-up bro
Great post :) Sama kaya bikin film gak sih? Kaya Transformers gitu kan 3d semua robot2nya.
Mantap :D Tambahin Dunia Engine bro. Far Cry! http://en.wikipedia.org/wiki/Dunia_Engine
Btw, mau keluar yang ke-4. Nih covernya
http://blog.ubi.com/wp-content/uploads/2014/05/FC4_KEYART_618x733.jpg[/embed]
btw, itu avatar dari tokoh far cry juga ya? game2 sekarang makin menarik sayang aja gak ada waktu buat mainin lagi.
vaas montenegro is dead! now is pagan min.
cerita ttg pembuatan karakter vaas si far cry 3 kan di luar rencana. awalnya mau bikin karakter antagonis yang stererotip gitu alias gede sangar beringas.
pas di interview, ubisoft jatuh cinta sama pemain karakternya (lupa ane namanya) sampe ubisoft rela ngebuang karakter yg dibikin demi ngebuat tokoh sinting vaas. dan ternyata pilihannya gak salah sama sekali... vaas termasuk salah satu memorable villain dan salah satu antagonis di game paling terkenal.
sekarang berhubung bakal ada far cry 4, semoga aja ubisoft bisa bikin karakter solid. kalo gak bs lebih baik, paling gak si tokoh min ini setara vaas.
soalnya vaas adalah tokoh yg ngejual. bukan si brody karakter utamanya.
harus maen far cry 3 nih gw. penasaran...
ngeliat ratingnya bagus dan salah satu best fps 2012. *cari torrent buat maen liburan panjang. hehe
libur panjang biasanya internet dodol. libur lebaran kenceng faktor pada pulkam :) puas2in donlod om.
gimana bro? udah dijajal belom? hehe
makanya itu bro. jarang2 kan ada antagonis yang jadi tombak marketing. mau sebagus vaas apa gak kelihatannya must have game tahun ini :)
pake engine kaya mobil aja :)
maenan laki2. lol
Laki2 suka mainin apa hayoo. Hehe
mainin itu tuh... ituuu...
hahahahaha
Nice... Jangan lupa Anvil. Buat game Assassin Creed sama Prince of Persia.
Bacaan: http://en.m.wikipedia.org/wiki/Game_engine
kelihatannya seru nih. numpang nonton om
Junaidi
pernah denger kalo game crysis 1 kalo gak salah, si pembuat enginenya (crytek) pernah bilang kalo waktu pertama kali di rilis iti game, blm ada graphic card yang nyanggup ngerender potensi maksimumnya.
yg bikin ane bingung, seandainya itu bener, pembuat enginenya gimana ngembanginnya ya secara gak dites secara maksimal.
marketing kali? hehe. kalo di pameran komputer, biasanya komputer2 di overclock supaya demo game atau graphic card bisa maksimum tanpa lag. seandainya bukan marketingnya crytek, bisa jadi mereka pake komputer ber-steroid semua :)
4d ftw :p
emang ada game 4d? taunya oculus.
oculus masih 3d. kalo mau oculusnya 4d, mainnya outdoor sambil airsoft :))
masa depan game remang2 sih virtual reality seperti di oculus. ngeliat gameplay sama experiencenya mantap...
facebook beli oculus buat apa ya?
https://www.facebook.com/zuck/posts/10101319050523971[/embed]
kemungkinannya sih memang banyak karena masa depan kliatannya layar bakal digantiin sama virtual reality. masalahnya facebook itu sosmed, dan sosmed buat apa punya virtual reality. buat virtual chat? game? masih tetep gak jelas.
game2 facebook okelah banyak. tapi orang lebih ke apps sekarang dibanding maen game facebook. dulu mungkin iya (masih inget nerima request farmville, dll), sekarang mulai jarang. dan game2nya pun standar web alias bukan yang berat2 amat biar bisa jalan di browser kan?
seandainya facebook mau masuk industry game, dan nyari duit dari sana, mungkin masuk akal.
Far Cry 4!
buat yang demen FPS buruan download (beli)....
beli bro :D btw, profile pic ente harus diganti nih kayaknya... pilihannya:
http://i.ytimg.com/vi/Uo5BmVXS14E/hqdefault.jpg[/embed]
di Asia lagi ya? kesannya bikin Asia orangnya brutal2. hahaha
minta aja boleh :D
wah udah keluar aja yang ke-4. review dong bandingin sama yang ke-3
ane sekarang masih maen COD doang kalo sempet. hehe
nice! :D
Junaidi
bagusan mana sama assassin creed?
kalo ngeliat gameplay di youtube (saya belum pernah maen dua2nya), saya lebih suka assassin's creed karena hawa abad pertengahan :) tapi sebagai first person shooter, sepertinya gameplaynya far cry paling bagus diantara yang lain
belum tamat udah keluar lagi yang baruan... mau maen gituan memang harus konsen ngeluangin waktu lama sih. mana gamenya panjang lagi kalo diliat dari mapnya.
setahun belum taman dia :))
game2 bagus rata2 ngeluarin versi barunya tiap tahun jadi targetin tamat setahun :)
sepertinya bagusan assassin's creed.
game pada ngeluarin tiap tahun dan requirementnya nambah terus. buat jadi gamer memang harus modal. spek komputer buat game2 bagus gak cukup komputer standar soalnya. masih mending ngikutin console udah ketauan agak lama perkembangannya
emang semua game 3d pake engine ya?
Junaidi
belom nongol lagi nih bro darman :)
ntar nongol avatarnya langsung jadi si pagan min :D
wkwkwkwk... beloommm... ntar aja kalo udah tamat :D dan kalo ekspektasinya sebagus gamenya, baru deh jadi pagan. haha