Physic
Engine (Mesin Fisik) adalah perangkat lunak yang didesain untuk
menampilkan/ melakukan simulasi berbagai jenis fenomena objek fisik di alam.
Simulasi yang dilakukan dapat memprediksi bermacam-macam kejadian dalam kondisi
yang berbeda serta memperkirakan apa yang akan terjadi dalam kehidupan nyata.
Engine ini secara rutin menangani perilaku objek-objek misalnya, benda keras,
partikel, gelombang, cloth, serta deteksi benturan (collision) dan dinamik.
Prinsip
kerjanya, physic engine akan melakukan spesifikasi force (gaya) terhadap objek
berdasarkan input user dalam setiap loop. Sehingga, output yang ditimbulkan
adalah hasil komputasi dari physic engine.
Secara
proses misalnya, physic engine melakukan collision detection kemudian output
dari module tersebut diberikan pada komponen kedua, simulation system.
Simulation system (sistem integrator) ini digunakan untuk melakukan perhitungan
berdasarkan rumus fisika dan hasilnya akan melakukan update property dari objek
yang disimulasikan.
Ada
bermacam-macam jenis phisic engine yaitu, PhysX of AGEIA (NVIDIA), HAVOC engine
dari HAVOC, ODE (Open Dynamics Engine), dll. Yang mana, engine fisik ini tidak
hanya berguna untuk penelitian (research), tapi juga untuk berbagai macam
aplikasi seperti game (permainan) yang memasukkan unsur gravitasi, akselerasi,
pergeseran, dll.
physic
engine menjadikan sebuah game yang dibuat akan menjadi menarik dan perilaku
serta karakter objek game menjadi lebih nyata dibandingkan tanpa menggunakan
physic engine.
Macam-Macam Physics Engines
PhysX
of AGEIA
PhysX
pada awalnya dikembangkan oleh Ageia sebagai NovodeX SDK. Ageia adalah
perusahaan yang bergerak di bidang pasar grafis 3D dengan ide fantastis untuk
membawa fisika komputasi ke dalam permainan komputer. Why ??? karena para
teknisi Ageia mengetahui bahwa fisika memungkinkan perhitungan yang lebih
ekstrim dan memberikan pengalaman visual yang nyata. Nah gara-gara itulah,
akhirnya pada Februari 2008, nVIDIA membeli Ageia sebesar 30 juta dolar dan
mempekerjakan staff ahli Ageia untuk menghasilkan Ageia’s PhysX API.
PhysX
sendiri adalah proprietary (closed source) realtime /physics engine/middleware
SDK, yang dikembangkan oleh NVIDIA (bersama penemunya : AGEIA), untuk mengakselerasi
performa PhysX-enabled Video Games. Video Games yang telah mendukung/support
akselerasi hardware oleh PhysX dapat diakselerasi performa grafisnya, baik oleh
PhysX, maupun CUDA-enabled GeForce GPU secara bersamaan. Pemanfaaatan teknologi
ini di klaim mampu dapat menjadikan proses , perhitungan “physics” dari CPU
menjadi lebih cepat. Hal ini tentu juga meningkatkan framerate, hal inilah yang
menghasilkan gambar pada game keliatan halus.
Asal
tau aja PhysX telah didesain secara spesifik untuk akselerasi hardware dari
Processor yang powerful dengan ratusan core (inti). Dikombinasikan dengan
kemampuan proses yang luar biasa dari GPU. PhysX akan menyediakan peningkatan
eksponensial (perkalian berulang) pada kekuatan proses “physics”. Selain itu PhysX
akan memberikan memperlihatkan peningkatan daya pengolahan fisika dan
meningkatkan kualitas game dengan menyajikan efek seperti:(Kelebihan)
*
Menambah efek debu dari reruntuhan bangunan
*
Karakter dengan kompleks untuk lebih hidup seperti gerakan dan interaksi
*
Efek senjata baru dan menakjubkan
*
Drapes kain yang alami dan air mata
*
Kabut asap tebal yang menggelembung sekitar objek dalam gerakan
Yang
intinya membuat efek, gerakan dan interaksi obyek dalam game menjadi nyata. hal
ini dikarenakan physics menggunakan data perhitungan fisika untuk menganimasi
gerakan dan interaksi yang nyata.
PRINSIP
KERJA PHYSICS ENGINE:
Dengan
physisc engine, objek tidak lagi digerakkan secara langsung, tetapi
dispesifikasikan berdasarkan force berdasarkan input dari pemain, dalam setiap
loop pada setiap objek dalam game. Physics engine bertugas untuk menghitung
perkiraan posisi dan orientasi selanjutnya dari objek tersebut.
Kalau
boleh diruntut secara sistematis, sebenarnya ada dua proses utama dalam Physics
Engine : yang pertama adalah melakukan “collision detection”. Output dari modul
ini kemudian diberikan pada komponen kedua, yaitu “simulation system” (biasa
disebut “integrator”), untuk melakukan perhitungan berdasarkan rumus fisika.
Simulation system kemudian akan memberikan update properti dari objek yang
disimulasikan.
Kelemahan
PhysX
Untuk
software, kalkulasi physic oleh PhysX engine selain memerlukan driver PhysX,
juga hanya akan bekerja pada software2 yg telah mengimplementasikan engine
PhysX ini, jadi efek2 physic oleh PhysX engine HANYA akan bekerja pada
software2(game2) yg didukung, dg driver yg sesuai, dan hardware yg yg
mendukung.. intinya efek physic tidak akan keluar jika hanya memiliki salah
satu misalnya hardwarenya saja yg mendukung.
Box2D
Box2D
merupakan salah satu library physic 2D yang cukup populer
digunakan dalam game-game 2D. Colin Northway kemudian mengadaptasikan library
buatan Erin Catto ini kedalam format ActionScript 3 yang bisa digunakan untuk
aplikasi Flash.
HAVOC
ENGINE
kalau
kamu belum pernah mendengar Havok sebelumnya, Havok adalah
physics engine yang telah banyak digunakan dalam game AAA yang terkenal seperti
Skyrim, Assasin’s Creed, Call of Duty dan masih banyak lagi.
Kita
bisa menggunakan game engine ini secara free. Di blognya disebutkan kalau kita
bisa mendownloadnya secara free dan game buatan kita itu bisa dirilis untuk
platform iOS dan Android secara free tanpa ada biaya tambahan lagi.
Memang
sih, sudah ada beberapa game engine 3D yang sudah cukup populer di kalangan
pengembang game mobile saat ini. Tapi yang menarik dari Project Anarchy ini
adalah janji dari Havok kalau game engine ini benar-benar free tanpa ada
embel-embel biaya lisensi atau pemotongan fitur seperti halnya game engine yang
lain (misal: Unity3D atau Unreal).
Nah..
Kalau memang benar apa yang dijanjikan oleh Havok tadi, maka kita memiliki
peluang untuk membuat game 3D di mobile sekualitas game AAA tanpa harus
mengeluarkan biaya apapun untuk enginenya.
Havok
Physics is fully multi-threaded and cross-platform optimized for leading game
platforms including, Xbox One®, the all-in-one games and entertainment system
from Microsoft, Xbox 360™ video game and entertainment system, Playstation® 4,
PlayStation®3 computer entertainment system, PC Games for Windows, PlayStation
Vita®, Wii™, Wii U™, Android™, iOS, Apple Mac OS and Linux. - See more at:
http://www.havok.com/products/physics#sthash.3BkSepuU.dpuf
UNITY3D
Unity 3D adalah sebuah
game developer software yaitu sebuah software game engine pembuat game. Unity
3D adalah alat authoring yang terintegrasi untuk menciptakan video game 3D
atau konten interaktif lainnya seperti visualisasi arsitektur atau real-time
animasi 3D. Lingkungan pengembangan Unity 3D yang berjalan pada Microsoft
Windows dan Mac OS X, dan game yang dihasilkan dapat dijalankan pada Windows,
Mac, Xbox 360, PlayStation 3, Wii, iPad, iPhone, serta platform Android.
Unity 3D tersedia dalam
dua versi, ada yang free dan ada juga yang berlisensi. Tentu saja ada
fitur-fitur atau tool - tool yang di tonjolkan apabila kita memiliki unity 3D
yang versi berlisensi. Saya kurang begitu tahu fitur-fitur apa saja yang ada
dalam versi bayar karena di sini saya hanya pakai versi free.
Unity 3D juga memiliki
kemampuan mengekspor game untuk fungsional Tahap 3D Adobe di Flash, tapi fitur
tersebut di webplayer tidak bisa digunakan karena keterbatasan yang ada
di Flash. unity 3d sebenarnya hampir mirip seperti Director, Blender
game engine, Virtools,
Torque
Game Builder, and Gamestudio, yang menggunakan juga graphical environment sebagai
metode utama dalam pembuatan game.
Bagi
programer yang jago java dan C#, unity adalah salah satu game engine yang
mendukung bahasa pemrograman tersebut yang juga merupakan salah satu dari
kelebihan unity 3D.
Kelebihan
·
GRATIS! Engine ini
bisa dimanfaatkan secara cuma-cuma dan versi gratisnya sudah sangat memadai
untuk bikin game di Windows Phone 8.
·
Akan sangat mempercepat desain level
/ layout di game dengan adanya editor WYSIWYG (What You See Is What You Get).
Gak perlu nunggu build / compile, kita udah bisa lihat contoh tampilan game di
layar dengan resolusi tertentu.
·
Unity Asset Store sudah sediakan
segudang asset siap pakai (ada yang FREE, ada juga yang berbayar). Kalau kita
butuh sound effect, atau karakter untuk game kita, bisa berkunjung ke asset
store ini.
·
Bahasa yang digunakan sama dengan
development windows phone, yaitu C#. Bisa juga pilih bahasa mirip
Javascript, mereka menyebutnya UnityScript.
Kekurangan
·
Butuh penyesuaian yang agak kompleks
saat mau develop game 2d tanpa bantuan plugin. Kenapa kompleks? karena ada
kebutuhan menggunakan aplikasi modelling 3d (nah..) untuk membuat bingkai
sprite.
·
Perlu penyesuaian mengikuti gaya
Component Based. Di Unity, semua logic game (misalkan logic untuk Player,
Enemy, Weapon) di”tempelkan” langsung ke object via scripting. Contoh nyatanya,
misalkan dalam game kita ada object Mobil, “mesin” untuk menggerakkan mobil
adalah 1 komponen, dan “setir mobil” juga merupakan 1 komponen.
Sumber
:
http://kirmann.wordpress.com/2010/08/26/apa-itu-physic-engine/#more-377
http://gery-casakom.blogspot.com/2010/10/teknologi-kartu-grafis-vga-nvidia.html
http://www.havok.com/products/physics
http://imild.wordpress.com/2013/04/14/project-anarchy-3d-engine-yang-benar-benar-free-3/