Showing posts with label Pengantar Teknologi Game. Show all posts
Showing posts with label Pengantar Teknologi Game. Show all posts

Sunday, October 20, 2013

Efek Fisik dalam Game dan Collision

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 Nintendi Wii, PS3 Move, atau yang lebih canggih lagi, Xbox Kinect.
Game-game yang melibatkan aktivitas fisik seperti game tinju, tennid, sepak bola, dan sebagainya 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.

Berikut ini merupakan efek fisik positif pada 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. 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 orang dewasa berpikir. Dengan begitu, kepikunan dini pada otak dapat dicegah.
  • Membina hubungan sosial & interaksi
Video game saat ini sudah sangat berbeda dengan video game terdahulu, 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 game dapat melakukan interaksi jarak jauh kepada njorang lain di seluruh 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 konteks dibandingkan dengan 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. Kekompakkan serta nilai-nilai keteraturan. Dalam hal ini tentu memiliki dampak positif tentang bagaimana kita harus bekerja sama, menghargai nilai komunikasi, saling menguntungkan, bahu membahu, dan lain lain untuk mencapai tujuan kita.
  • Mengalihkan rasa sakit fisik dan mental
Bermain game dapat mengalihkan perhatian dari kondisi fisik yang diderita saat itu. Bahkan tidak sedikit yang melampiaskan kesedihan dan sakit hati yang mereka rasakan dengan bermain game sepuasnya.

Collusion

Algoritma untuk mendeteksi collision (tabrakan) sangat dibutuhkan untuk program game. Flash mulai versi 5 ke atas menyediakan method yang bernama hiTest untuk memeriksa apakah sebuah movie clip bertabrakan dengan movie yang lain. Sebelum method hiTest ini tersedia, Flash harus mendeteksi secara manual koordinat sebuah movie clip lain. 


Sumber: 

Arsitektur Game Engine

Arsitektur game engine adalah sistem perangkat lunak yang dirancang untuk menciptakan dan mengembangkan video game. Ada banyak mesin permainan yang dirancang untuk bekerja pada konsol permainan video dan sistem operasi dekstop seperti Microsoft Windows, Linux, dan Mac Os.

Tahap-tahap awal pembuatan game :

1Tuangkan Logika permainan anda ke dalam rendering (view)


Konsep
Hal pertama yang harus dilakukan adalah memisahkan render dari logika. Logika permainan tidak mengenal rendering, sehingga pada logika tidak peduli apakah nantinya akan ditampilkan dalam 2D, 3D seni, ASCII atau apapun. 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".

Logic - View

Contoh:
Kita akan membuat kelas RaceCarView pada objek RaceCar. RaceCar menangani logika dan input pengguna tetapi tidak tahu tentang cara menampilkannya, dan RaceCarView menampilkan mobil balap pada layar, dengan menggunakan informasi dari raceCar.

2.  Tuangkan logika permainan anda ke dalam model dan controller

Konsep
Hal kedua yang bisa kita lakukan adalah menuangkan logika menjadi model dan controller. Model ini pada dasarnya adalah dunia permainannya. Ia akan mengetahui apa-apa tentang cara menampilkan, input pengguna, dll. Model hanya mengimplementasikan aturan dunia permainan anda, dan bagaimana entitas berinteraksi satu sama lain. Controller tau tentang model dan dapat memanipulasinya. Misalnya controller memeriksa input pengguna, dan memanipulasi mobil yang sesuai. Controller perlu untuk kode rendering saat menggunakan input mouse untuk memanipulasi objek di layar.

MVC

Contoh:
Dalam contoh balapan mobil (RaceCar), ketika ada input dari pengguna pertama yang akan menangani adalah RaceCarController. Ketika pengguna menekan tombol kiri, Controller melihat ini dan akan menangani model RaceCar, steer left(). Model ini kemudian menangani aturan dari dunia mobil untuk melakukan manuver ke kiri.

Jadi, kita membagi ke 3 modul berbeda, yaitu: model, view, dan controller.
  • Model
Semua aturan dunia permainan diimplementasikan dalam model, dan juga berisi data negara atau level dari setiap objek permainan atau entitas. Ini adalah simulasi permainan dari dunia nyata, sehingga model tidak tahu apa-apa tentang input pengguna atau menampilkan ke layar.
  • View
Rendering ke layar ditangani oleh view. View menggunakan model untuk tahu di mana saja si view harus menampilkan sesuatu. View tidak memiliki fungsi lain selain untuk menampilkan saja.
  • Controller
Controller menangani user input dan memanipulasi model. Pertama memeriksa input pengguna, selanjutnya Controller mungkin bisa meminta View untuk menampilkan objek ke layar saat mouse di klik, dan akhirnya memanipulasi data pada model. Beberapa COntroller dapat diterapkan bersamaan, misalnya keyboard controller, controller joypad, dan bahkan controller 'bot' AI.

Disini, model berdiri sendiri dan tidak perlu tahu apa-apa tentang yang lain (Controller dan View). View hanya bergantung pada model untuk membuat segala sesuatu di layar Controller menerima input, dapat memperoleh informasi tambahan dengan memanggil View, dan pada akhirnya memanipulasi Model.
Keuntungan dari arsitektur ini:
-  Desain yang bagus, karena menggunakan modul-modul
-  Dunia permainannya dibundel dalam model
-  Perubahan render tidak mempengaruhi permainan inti
-  mendukung input Controller yang berbeda, user/bot

MVC - 2


Sumber:

3D Engine dan Scene Graph

Di dalam grafika komputer, 3D merupakan bentuk grafik yang menggunakan representasi data geometri tiga dimensi. Grafik 3D ini tersimpan didalam komputer untuk keperluan kalkulasi atau rendering gambar 3D. Pada 3D, engine bukanlah exutable program, artinya engine tidak bisa dijalankan sebagai program yang berdiri sendiri.

3D engine adalah sistem perangkat lunak yang dibuat dan dirancang untuk menciptakan dan mengembangkan gambar 3D, fungsionalitas inti biasanya disediakan oleh mesin permainan mencakup mesin render (renderer) untuk 2D/3D grafis.

Berbeda dengan dukungan grafik 2D yang sudah built in, dukungan Java terhadap grafik 3D diletakkan ke dalam API terpisah, yakni Java3D. Java3D merupakan API 3D berbasis scene graph di platform Java, dimana scene graph merupakan sebuah pohon yang berisi hierarki data scene. Di dalam api Java3D didefinisikan sejumlah kelas dan interface yang menyediakan beragam operasi grafik 3D.
Konsep scene graph merupakan inti dari Java3D. Sebuah scene graph merupakan g rafik yang mempresentasikan geometri, material, dan pencahayaan. Scene graph dimulai dari root dengan sebuah Virtual Universe dan mencakup transformasi serta geometri untuk mendefinisikan objek di dunia maya. Secara garis besar, ada tiga tahap fundamental yang diperlukan untuk menghasilkan objek 3D, yaitu:
  1. Menciptakan objek Canvas3D
  2. Menciptakan sebuah scene graph
  3. Menghubungkan objek Canvas3D ke objek BranchGroup yang menunjuk root dari scene graph
  • Ogre 3D
Objected-Oriented Graphics Rendering Engine atau bisa disingkat dengan OGRE merupakan engine yang object oriented & flexible 3D rendering pada game engine yang ditulis dengan menggunakan bahasa C++ serta didesain agar mampu men-developer dengan 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 objek yang lebih tinggi.

OGRE hanya digunakan untuk me-render. Dengan kata lain, fitur OGRE hanya khusus menangani vector & matOix classes, memory handling, dan lain lain. Ini bukan lah 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 tetapi semua itu 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 mendupport OIS, SDL, 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 & Direct 3D. Bisa me-render konten yang sama di beda platform tanpa harus mempunyai content creator. dapat diakses pada platform Linux, Mac OS, 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 dan manual
  6. Engine annimasi yang men-support penuh untuk multiple hardware
  • Processing
Processing adalah bahasa pemrograman dan lingkungan pemrograman yang bersifat open source yang digunakan untuk memprogram gambar, animasi, dan interaksi. Processing digunakan untuk mengajarkan dasar-dasar pemrograman komputer dalam konteks rupa dan berfungsi sebagai buku sketsa perangkat lunak dan alat produksi profesional. Processing mengintegrasikan suatu bahasa pemrograman, lingkungan pemrograman, dan metodologi pengajaran ke dalam sistem terpadu.

Processing merupakan suatu projek yang dinisiasi oleh Ben fry 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 Tim Voluntir.
  • Game Maker
Game Maker adalah software yang bisa membantu anda menjadi pengembang game komputer tanpa menggunakan coding sedikitpun. Dapat digunakan untuk membuat 3 dimensi dan Multiplayer. Game Maker dapat menjadikan hak penuh dari software (game) yang anda buat termasuk dapat menjual game tersebut, bahkan bisa mendownload musik, efek suara, gambar, script, serta background.
  • Unity 3D
Unity 3D adalah sebuah game developing software. Dengan software ini, kita bisa membuat game 3D yang seru. Game developer ini sangat mudah digunakan, dengan GUI yang memudahkan kita untuk membuat derta mengedit 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, dan Android. Namun masing-masing membutuhkan biaya lisensinya sendiri. Unity kurang lebih sama dengan Blender game engine, namun unity lebih ringan dan diintegrasi lebih dalam suasana grafik.

Kelebihan Unity terdapat pada multiple platform, artinya banyak platform yang disupport oleh unity, seperti Windows, Mac, iPhone, iPad, Android, Nintendo Wii, dan juga browser. Untuk browser, kita memerlukan sebuah plug-in, yaitu Unity Web player, sama halnya dengan Flash Player pada browser. Pada unity, kita tidak bisa melakukan desain/modelling dikarenakan unity bukan tool untuk mendesain. Jadi jika kita ingin mendesain, dibutuhkan 3D editor lain seperti 3Dsmax atau Blender, kemudian kita export menjadi format .fbx.

Sumber:

Sunday, March 24, 2013

Game


Pengertian Game
Game merupakan kata dalam bahasa inggris yang berarti permainan. Game atau permainan adalah sesuatu yang dapat dimainkan dengan aturan tertentu sehingga ada yang menang dan ada yang kalah. Biasanya game digunakan dengan tujuan refreshing.

Definisi Game menurut para ahli
  • JOHN C BECK & MITCHELL WADE : Game adalah lingkungan pelatihan yang baik bagi dunia nyata dalam organisasi yang menuntut pemecahan masalah secara kolaborasi.
  • IVAN C. SIBERO : Game merupakan aplikasi yang paling banyak digunakan dan dinikmati para pengguna media elektronik saat ini.
  • FAUZI A : Game merupakan suatu bentuk hiburan yang seringkali dijadikan sebagai penyegar pikiran dari rasa penat yang disebabkan  oleh aktivitas dan rutinitas kita.
  • SAMUEL HENRY : Game merupakan bagian tak terpisahkan dari keseharian anak, sedangkan sebagian orang tua menuding game sebagai penyebab  nilai anak turun, anak tak mampu bersosialisasi, dan tindakan kekerasan yang dilakukan anak.
  • ANDIK SUSILO : Game adalah salah satu candu yang susah  dihilangkan, bahkan ada yang mengatakan bahwa candu game online setara dengan narkoba.
  • JOHN NAISBITT : Game merupakan sistem partisipatoris dinamis karena game memiliki tingkat penceritaan yang tidak dimiliki film.
  • ALBERT EINSTEIN : Game adalah bentuk investigasi paling tinggi.
  • WIJAYA ARIYANA & DENI ARIFIANTO : Game merupakan salah satu kebutuhan yang menjadi masalah besar bagi pengguna komputer, karena untuk dapat memainkan game dengan nyaman, semua komponen komputernya harus memiliki kualitas yang baik, terutama VGA card-nya 


Game Engine
Game Engine adalah  sistem 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.
Contoh jenis game engine :
Freeware game engine/open source game engine
·       Blender
·       Golden T Game Engine (GTGE)
·       DXFramework
·       Ogre
·       Aleph One

Game online membutuhkan jaringan internet agar kita dapat memainkannya. Game online ini mulai muncul seiring dengan perkembangan internet. Dengan game online, pemain bisa berinteraksi dengan pemain lain dari seluruh dunia dalam waktu yang sama. 
Contohnya : Ragnarok, DOTA

Game Offline berarti game yang dimainkan tanpa jaringan internet, dengan kata lain offline. Game semacam ini sudah ada sebelum munculnya game online. 
Contohnya : Angry Bird, Plant vs Zombie, Solitaire

Perbedaan Game Online dengan Game Offline
Game Online : 
- game online memerlukan jaringan internet
- kita bisa berinteraksi dengan pemain lain dari seluruh dunia
- game sering diupdate oleh pembuatnya
Sedangkan Game Offline :
- tidak memerlukan jaringan internet
- kualitasnya lebih bagus
- game tidak pernah diupdate sehingga membosankan

sumber referensi: