Jumat, 18 Oktober 2013

PENGANTAR TEKNOLOGI GAME

Game Engine Dan Scene Graph
Game Engine adalah perangkat lunak yang digunakan untuk menciptakan perangkat lunak lain, dalam hal ini adalah game. Kita bisa menyebutnya game authoring software, game creator tool, software pembuat game, dan sebagainya. Sedangkan Scene Graph adalah merupakan inti dari Java3D. Sebuah scene graph merupakan grafik yang merepresentasikan geometri, material, dan pencahayaan.
A.    OGRE
OGRE (Object-Oriented Graphics Rendering Engine) adalah engine yang object oriented & flexible 3D rendering pada game engine yang ditulis dalam bahasa C++ serta didesain untuk mampu men-developer dengan intuitif & mudah kepada aplikasi produksi dengan menggunakan utility hardware-accelerated 3D graphic. Gambaran abstraknya OGRE menggunakan sistem library seperti Direct3D & OpenGL, serta menyediakan sebuah dasar interface di dunia objek dan class object yang lebih tinggi.
OGRE hanyalah rendering engine. Seperti pada engine lainnya, hanya saja OGRE pada umumnya hanya sebagai graphic rendering. Dengan kata lain fitur OGRE hanya khusus menangani vector & matrix classes, memory handling, dan lain-lain. Ini bukanlah salah satu dari semua solusi dalam istilah game development / simulasi, OGRE tidak menyediakan audio / physics support.
Walaupun penjelasan diatas bisa dikatakan sebagai kelemahan dari ogre itu sendiri, akan tatapi itu semua sebanding dengan kemampuan grafis yang ada pada game engine tersebut. Kelebihan yang paling menonjol pada ogre adalah graphics engine yang bisa memberikan para developer sebuah kebebasan untuk menggunakan physics apapun, input, audio, & library lainnya. OGRE memberikan para tim development untuk fokus pada graphics daripada beberapa sistem-sistem yang ada dalam game development. OGRE dapat mensuport OIS, SDL, dan CEGUI libraries. Sekarang ini OGRE adalah publish dibawah dua lisensi, yaitu LGPL & OUL. Maka sekarang ini para publish tersebut membuka OGRE sebagai free / open-source software.

Fitur-fitur pada OGRE :
1.      Desain yang object oriented dengan menggunakan plugin untuk mempermudah memasukkan fitur lainnya.
2.      Engine berbasis scane graph dengan bantuan untuk sebuah varietas yang luas, octree, BSP, & Paging Landscape scene manager.
3.      Multi-platform dengan dukungan OpenGL & Direct3D. Bisa merender konten yang sama di beda platform tanpa harus mempunyai content creator. Dapat diakses pada platform Linux, Mac OS X, dan semua versi Windows.
4.      OGRE mendukung program Vertex dan Fragment selama ditulis dengan GLSH, HLSL, Cg, dan assembler.
5.      The landscape scene manager untuk Progressive LOD, yang mana bisa dibuat secara otomatis & manual.
6.      Engine animasi yang mensuport penuh untuk multiple hardware.
7.      OGRE mempunyai comositing manager dengan bahasa script dan full screen postprocessing untuk efek seperti HDR, blooming, satruation, brightness, blurring, & noise.
8.      Libraries mempunyai fitur memory debugging & loading resource dari archive-nya.
9.      Tersedia konten tools untuk 3D modeler, seperti 3D Studio Max, Maya, Blender, LightWare, Milkshape, Sketchup, dsb.

         A.    Processing
Processing adalah bahasa pemrograman dan lingkungan pemrograman (development environment) open source untuk memprogram gambar, animasi dan interaksi. Digunakan oleh pelajar, seniman, desainer, peneliti, dan hobbyist untuk belajar, membuat prototipe, dan produksi. Processing digunakan untuk mengajarkan dasar-dasar pemrograman komputer dalam konteks rupa dan berfungsi sebagai buku sketsa perangkat lunak (software) dan tool produksi profesional.
Processing adalah suatu projek terbuka yang diinisiasi oleh Ben Fray dan Casey Reas. Berkembang dari ide-ide yang dieksplorasi di Aesthetics and Computation Group (ACG) di MIT Media Lab. Projek ini kini terus diperbaiki dan dikelola oleh sejumlah kecil tim voluntir.
Processing mengaitkan konsep software pada prinsip-prinsip bentuk rupa, gerak, dan interaksi. Processing mengintegrasikan suatu bahasa pemrograman, lingkungan pemrograman, dan metodologi pengajaran ke dalam sistem terpadu.
B.     Game Maker
Game Maker adalah software yang bisa membantu anda menjadi pengembang game komputer tanpa menggunakan coding sedikitpun. Bahkan anda bisa membuat game 3 Dimensi dan MultiPlayer jika anda mau. Anda mempunyai hak penuh dari software (game) yang anda buat termasuk menjual game tersebut  Jika masih kurang anda bahkan bisa mendownload musik, efek suara, gambar, script, background dsb
            C.    Unity 3D
UNITY 3D adalah sebuah game developing software. Dengan software ini, kita bisa membuat game 3D yang seru. Jika anda belum memakai unity3D, maka bersiaplah untuk mencobanya, karena game developer ini sangat mudah menggunakannya, dengan GUI yang memudahkan kita untuk membuat mengedit dan membuat script untuk menciptakan sebuah game 3D.
Selain bisa untuk build game PC, UNITY juga dapat digunakan untuk membangun game console seperti Nintendo Wii, PS3, Xbox 360, juga Ipad, Iphone, & android. Namun masing-masing membutuhkan biaya lisensinya sendiri. Selain itu juga bisa juga buat web, cuma butuh install Unity webplayer nya ajah. Unity lebih kurang sama dengan Blender game engine cuma unity lebih ringan dan diintegrasi lebih didalm suasana grafik
Bahasa pemrograman yang dapat diterima UNITY adalah JAVA SCRIPT, CS SCRIPT (C#) & BOO SCRIPT.. bagi agan-agan yang ingin mulai belajar, jangan takut... Unity tergolong cukup mudah untuk dikuasai. simkuring yang dulunya mual ngeliat "jelimet-keritingnya-sebuah-script" pun dikit-dikit bisa mulai kenalan sama Unity & bikin game sederhana.
Kelebihan unity yaitu multiple platform, maksudnya banyak platform yang diisupport oleh unity, misal Windows, Mac, iPhone, iPad, Android, Nintendo Wii, dan juga browser. Untuk browser, kita memerlukan sebuah plugin, yaitu Unity Web Player, sama halnya dengan Flash Player pada Browser. Bahasa pemrograman yang digunakan bermacam-macam, mulai dari Javascript, C#, dan Boo.
Pada unity, kita tidak bisa melakukan desain / modelling, dikarenakan unity bukan tool untuk mendesain  Jadi jika kita ingin mendesain, kita memerlukan 3D editor lain seperti 3dsmax atau Blender, kemudian kita export menjadi format .fbx  

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

Efek Fisik dalam Game
Game konsol modern saat ini sudah dilengkapi dengan perangkat gerak yang melibatkan aktivitas fisik sehingga permainan video game dapat sekaligus melatih otot dan gerak selayaknya berolahraga, seperti halnya yang disediakan oleh konsol Nintendo Wii, PS3 Move, atau yang lebih canggih lagi, Xbox 360 Kinect.
Game – game yang melibatkan aktivitas fisik seperti game tinju, tennis, sepakbola dsb, yang mengharuskan anda untuk menggerakkan tangan dan anggota tubuh anda sesuai tema video game yang dimainkan.  Untuk mendapatkan seperangkat konsol tersebut tidaklah perlu mengeluarkan kocek yang dalam. Ketiganya memiliki harga yang berlainan yang dapat disesuaikan dengan kocek anda.
Efek Positif dalam Game
Mendorong Pola Hidup Sehat
Bermacam video game menyatukan unsur bugar, nutrisi dan hidup sehat yang menjadi ‘goal’ dalam tema video game tersebut. Bahkan banyak video game modern saat ini sudah melibatkan simulasi olahraga selayaknya olahraga outdoor sebenarnya. Dengan memainkan game tersebut akan membuat orang menjadi berkeringat yang tentunya akan menyehatkan.
Melatih Ketangkasan
Banyak video game yang dibuat untuk melatih ketangkasan, konsentrasi, dan kejelian. Dengan gabungan unsur tersebut akan membantu anak dan dewasa berpikir. Dengan begitu, kepikunan dini pada otak dapat dicegah.
Membina Hubungan Sosial & Interaksi
Video game saat ini sudah sangat berbeda dengan video game sepuluh atau dua puluh tahun kebelakang, kala kita hanya bisa terdiam di dalam kamar dan memainkan video game sepanjang hari tanpa interaksi apapun. Sejalan dengan perkembangan teknologi saat ini, memungkinkan pemain vidgim (video game) dapat melakukan interaksi jarak jauh kepada orang lain diseluruh dunia melalui media online atau internet yang sudah tersedia secara built-in pada kebanyakan judul game saat ini.
Meningkatkan Kemampuan Belajar
Video game saat ini jauh lebih komleks dibandingkan judul – judul game 20 tahun lalu, yang mana mengharuskan kita untuk mengasah logika, strategi, teka-teki hingga emosi untuk menyelesaikannya. Para gamer umumnya dituntut untuk dapat mengambil keputusan dan kendali untuk dirinya sendiri. Pemain juga harus memasukkan perintah, kombinasi, kesabaran serta keputusan yang cepat untuk menghadapi situasi yang disediakan pada level – level game yang kian beragam. Dalam hal ini, akan membantu banyak aspek dalam kemampuan berpikir dan membuat keputusan dalam kehidupan nyata.
Mengajarkan Sportivitas dan Kerjasama
Peraturan dan ketentuan yang ditetapkan dalam game – game online saat ini dituntut serta mengajarkan hal tentang kerjasama antar kelompok, kekompakan, serta nilai – nilai keteraturan. Dalam  hal tentu memiliki dampak positif tentang bagaimana kita harus bekerja sama, menghargai nilai komunikasi, saling menguntungkan, bahu membahu, dll untuk mencapai tujuan kita.
Mencegah Stress
Bila ditanyakan pada sebagian besar orang, mengapa mereka bermain game? Tentunya sebagian besar dari mereka akan menjawab untuk me-refreshing atau mengatasi stress ditengah kepenatan aktivitas di kehidupan sehari – hari. Percayakah anda bahwa dengan bermain video game yang seru dapat membuat anda melupakan sejenak masalah yang tengah anda hadapi saat ini.
Mengalihkan Rasa Sakit Fisik & Mental
Sama seperti poin diatas, dengan bermain game dapat mengalihkan perhatian anda dari kondisi sakit fisik yang anda derita saat itu. Bahkan tidak sedikit orang yang melampiaskan kesedihan dan sakit hati yang mereka rasakan dengan bermain game sepuasnya.
Memberi Kebahagiaan
Makna kebahagiaan sangatlah luas. Akan tetapi anda dapat mendapatkannya melalui video game sebagai salah satu caranya. Tidak heran, bila anda menengok sesaat saja bagaimana suasana di tempat rental game, anda hanya akan melihat teriakan dan tawa yang membuat mereka bahagia.
Efek Negatif dalam Game
Kecanduan
Seperti yang disebutkan pada awal tulisan ini, kebahagiaan dan kesenangan yang dirasakan para gamer pada saat memainkan game, akan membuat orang tersebut ‘merindukan’ suasana hati yang mereka rasakan selama bermain game, sehingga mereka akan cenderung kembali bermain dan bermain lagi untuk mencari sensasi yang mereka rasakan tersebut. Untuk mencegah hal ini, adalah dengan membatasi waktu bermain game. Misalnya, 2 atau 3x dalam satu minggu dengan jangka waktu 1-2 jam.
Membatasi Hubungan Sosial
Pada dampak positif  bermain game telah dijelaskan bahwa bermain game dapat meningkatkan hubungan sosial secara online dengan para gamer diseluruh dunia. Sebaliknya dalam hal ini justru akan membatasi hubungan sosial di kehidupan nyata mereka. Banyak sekali para pecandu game memiliki sedikit waktu untuk membina hubungan sosial di kehidupan nyata mereka sehingga kemampuan berkomunikasi dan interaksi secara fisik dan oral menjadi tidak terasah.
Mengganggu Kesehatan
Tunggu! Bukankah dalam poin sebelumnya disebutkan bahwa bermain game dapat menyehatkan karena banyak game yang harus melibatkan aktivitas fisik?
Hal itu memang benar, aktivitas dan gerakan fisik dapat menyehatkan tubuh. Akan tetapi dengan bermain game yang terlalu intensif dapat mengganggu kesehatan mata, karena bagaimana pun juga permainan video game memerlukan kontak langsung antara mata dan layar monitor / TV yang dapat menyebabkan kerusakan pada mata atau menurunnya daya lihat untuk efek kedepannya.

Collision Detection
Algoritma untuk mendeteksi collision (tabrakan) sangat dibutuhkan untuk program game. Flash mulai versi 5 ke atas menyediakan method yang bernama hitTest untuk memeriksa apakah sebuah movie clip bertabrakan dengan movie yang lain. Sebelum method hitTest ini tersedia, seorang programmer Flash harus mendeteksi secara manual koordinat sebuah movie clip, apakah movie clip ini bertabrakan dengan movie clip lain. Cara ini sangat merepotkan karena harus mempertimbangkan pula ukuran movie clipnya.

Sumber :

1 komentar: