Kamis, 24 November 2011

Game Engine


Game Engine.

Game Engine Game engine adalah perangkat lunak yang dirancang untuk membuat dan mengembangkan video game. Fungsi utama yang diberikan oleh game engine meliputi rendering untuk 2D atau 3D graphic, collision detection, sound, scripting, animasi, artificial intelligence, networking, memory management, threading dan scene graph. Game engines memberikan perangkat untuk visual development dengan tambahan komponen perangkat lunak yang dapat dipakai berulang kali. Perangkat ini pada umumnya memberikan integrated development environment yang dapat mempermudah, serta mempercepat pengembangan game.

Setelah kita tau definisi dari game engine tersebut maka kita akan coba membahas tentang middleware dimana middleware itu tercipta karna adanya game engine. Game Middleware adalah software yang didalamnya sudah terdapat elemen-elemen yang dibutuhkan oleh seorang game developer, kebanyakan dari game middleware memberikan fasilitas guna menunjang pengembangan game dengan mudah seperti graphics, sound dan Artificial intelligence.

Beberapa elemen yang ada di dalam game engine adalah :

A. Tools/Data Dalam pengembangan game, dibutuhkan data yang tidak semudah menuliskan text files. Dalam pengembangan game, paling tidak dibutuhkan beberapa tools seperti 3d model editor, level editor dan graphics programs. Bahkan jika diperlukan, seringkali kita mengembangkan game engine tersebut dengan menambahkan beberapa code dan fitur yang diperlukan.

B. System System sendiri adalah bagian dari game engine yang berfungsi untuk melakukan komunikasi dengan hardware yang berada di dalam mesin. Jika game engine sudah dibuat dengan baik maka system ini adalah satu-satunya bagian yang membutuhkan perubahan yang cukup banyak apabila dilakukan implementasi pada platform yang berbeda. Di dalam system sendiri terdapat beberapa sub system yaitu graphics, input, sound, timer, configuration. System sendiri bertanggung jawab untuk melakukan inisialisasi, update dan mematikan sub system yang terdapat di dalamnya.

C. Console Dengan menambahkan console, kita dapat merubah setting game dan setting game engine di dalam game tanpa perlu melakukan restart pada game tersebut. Console sendiri lebih sering digunakan dalam proses debugging. Apabila game engine tersebut mengalami error kita tinggal mengoutputkan error message tersebut ke dalam console tanpa harus melakukan restart. Console sendiri dapat dihidupkan dan dimatikan sesuai keinginan.

D. Support Support adalah bagian yang paling sering digunakan oleh system di dalam game engine. Support sendiri berisi rumus-rumus matematika yang biasa digunakan, vector, matrix, memory manager, file loader. Merupakan dasar dari game engine dan hampir digunakan semua projek game engine.

E. Renderer/Engine Core Pada game engine, engine core / renderer terdiri dari beberapa sub yaitu visibility, Collision Detection dan Response, Camera, Static Geometry, Dynamic Geometry, Particle Systems, Billboarding, Meshes, Skybox, Lighting, Fogging, Vertex Shading, dan Output.

F. Game Interface Game interface sendiri merupakan layer diantara game engine dan game itu sendiri. Berfungsi sebagai control yang bertujuan untuk memberikan interface apabila di dalam game engine tersebut terdapat fungsi fungsi yang bersifat dinamis sehingga memudahkan untuk mengembangkan game tersebut.

G. The Game Merupakan inti dari penggunaan game engine sendiri, sehingga terserah kita bagaimana mengembangkan game tersebut.

Desain Permodelan Grafik

1.      Pengertian Desain Permodelan Grafik

Desain Pemodelan Grafik merupakan suatu proses dimana akan diciptakan suatu obyek baru menggunakan suatu perangkat lunak yang melalui tahapan-tahapan yaitu membuat, menyimpan, dan memanipulasi model dan citra. Kegiatan yang biasanya berkaitan dengan grafik komputer adalah pemodelan geometris, rendering, animasi, graphic library/package, application program, dan citra. Definisi tersebut merupakan kesimpulan yang di ambil dari beberapa definisi yang kita jabarkan secara satu-satu, berikut merupakan definisi dari Desain Permodelan Grafik yang kita jabarkan menurut pengertian dari kata-kta tersebut.

Desain
Mendengar kata desain, yang terfikir adalah sebuah model atau cara atau proses untuk mendapatkan suatu obyek baru. Menurut wikipedia, desain diartikan sebagai suatu seni terapan, arsitektur, dan berbagai pencapaian kreatif lainnya. Dari pengertian tersebut dapat terlihat bahwa desain merupakan suatu gambaran atau suatu pola yang akan memiliki tujuan untuk menghasilkan sesuatu. Sebagai contoh adalah desain suatu baju. Desain tersebut berbentuk pola gambar yang dibuat oleh seorang desainer. Desain baju tersebut dibuat guna memenuhi keinginan seseorang untuk sebuah baju yang akan dibuat sesuai keinginan dia. Desain tersebut dibuat agar mempermudah proses pembuatan baju tersebut.

Pemodelan
Pemodelan merupakan tahap dimana akan dibentuk suatu obyek. Obyek yang dibuat dan di desain akan dibentuk seolah-olah benar-benar nyata. Dengan proses desain, obyek tersebut akan dibuat secara 3 dimensi. Proses pemodelan ini memerlukan perancangan dengan beberapa langkah saat pembuatannya. Misalnya menentukan obyek apa yang akan dibuat, metode apa yang akan digunakan, serta animasi apa yang sesuai dengan tujuan pembuatan obyek tersebut.

Grafik
Grafik identik dengan suatu garis-garis, tanda, dan bentuk huruf. Grafik merupakan cara-cara membentuk bentuk huruf, tanda serta gambar menggunakan proses pencetakan. Grafik juga di definisikan sebagai suatu pembuatan, penyimpanan serta manipulasi model dan citra.

2.      Tahap Permodelan

Proses pemodelan 3D membutuhkan perancangan yang dibagi dengan beberapa tahapan untuk pembentukannya. Seperti obyek apa yang ingin dibentuk sebagai obyek dasar, metoda pemodelan obyek 3D, pencahayaan dan animasi gerakan obyek sesuai dengan urutan proses yang akan dilakukan.

A. Motion Capture/Model 2D

Yaitu langkah awal untuk menentukan bentuk model obyek yang akan dibangun dalam bentuk 3D. Penekanannya adalah obyek berupa gambar wajah yang sudah dibentuk intensitas warna tiap pixelnya dengan metode Image Adjustment Brightness/Contrast, Image Color Balance, Layer Multiply, dan tampilan Convert Mode RGB dan format JPEG. Dalam tahap ini digunakan aplikasi grafis seperti Adobe Photoshop atau sejenisnya. Dalam tahap ini proses penentuan obyek 2D memiliki pengertian bahwa obyek 2D yang akan dibentuk merupakan dasar pemodelan 3D.
Keseluruhan obyek 2D dapat dimasukkan dengan jumlah lebih dari satu, model yang akan dibentuk sesuai dengan kebutuhan. Tahap rekayasa hasil obyek 2D dapat dilakukan dengan aplikasi program grafis seperti Adobe Photoshop dan lain sebagainya, pada tahap pemodelan 3D, pemodelan yang dimaksud dilakukan secara manual. Dengan basis obyek 2D yang sudah ditentukan sebagai acuan. Pemodelan obyek 3D memiliki corak yang berbeda dalam pengolahannya, corak tersebut penekanannya terletak pada bentuk permukaan obyek.

B.  Dasar Metode Modeling 3D

Ada beberapa metode yang digunakan untuk pemodelan 3D. Ada jenis metode pemodelan obyek yang disesuaikan dengan kebutuhannya seperti dengan nurbs dan polygon ataupun subdivision. Modeling polygon merupakan bentuk segitiga dan segiempat yang menentukan area dari permukaan sebuah karakter. Setiap polygon menentukan sebuah bidang datar dengan meletakkan sebuah jajaran polygon sehingga kita bisa menciptakan bentuk-bentuk permukaan. Untuk mendapatkan permukaan yang halus, dibutuhkan banyak bidang polygon. Bila hanya menggunakan sedikit polygon, maka object yang didapat akan terbagi sejumlah pecahan polygon.
Sedangkan Modeling dengan NURBS (Non-Uniform Rational Bezier Spline) merupakan metode paling populer untuk membangun sebuah model organik. Kurva pada Nurbs dapat dibentuk dengan hanya tiga titik saja. Dibandingkan dengan kurva polygon yang membutuhkan banyak titik (verteks) metode ini lebih memudahkan untuk dikontrol. Satu titik CV (Control verteks) dapat mengendalikan satu area untuk proses tekstur.

C.  Proses Rendering

Tahap-tahap di atas merupakan urutan yang standar dalam membentuk sebuah obyek untuk pemodelan, dalam hal ini texturing sebenarnya bisa dikerjakan overlap dengan modeling, tergantung dari tingkat kebutuhan. Rendering adalah proses akhir dari keseluruhan proses pemodelan ataupun animasi komputer. Dalam rendering, semua data-data yang sudah dimasukkan dalam proses modeling, animasi, texturing, pencahayaan dengan parameter tertentu akan diterjemahkan dalam sebuah bentuk output. Dalam standard PAL system, resolusi sebuah render adalah 720 x 576 pixels. Bagian rendering yang sering digunakan:

  • Field Rendering.
Field rendering sering digunakan untuk mengurangi strobing effect yang disebabkan gerakan cepat dari sebuah obyek dalam rendering video.

  • Shader.
Shader adalah sebuah tambahan yang digunakan dalam 3D software tertentu dalam proses special rendering. Biasanya shader diperlukan untuk memenuhi kebutuhan special effect tertentu seperti lighting effects, atmosphere, fog dan sebagainya.

D. Texturing

Proses texturing ini untuk menentukan karakterisik sebuah materi obyek dari segi tekstur. Untuk materi sebuah object bisa digunakan aplikasi properti tertentu seperti reflectivity, transparency, dan refraction. Texture kemudian bisa digunakan untuk meng-create berbagai variasi warna pattern, tingkat kehalusan/kekasaran sebuah lapisan object secara lebih detail.

E. Image dan Display

Merupakan hasil akhir dari keseluruhan proses dari pemodelan. Biasanya obyek pemodelan yang menjadi output adalah berupa gambar untuk kebutuhan koreksi pewarnaan, pencahayaan, atau visual effect yang dimasukkan pada tahap teksturing pemodelan. Output images memiliki Resolusi tinggi berkisar Full 1280/Screen berupa file dengan JPEG,TIFF, dan lain-lain. Dalam tahap display, menampilkan sebuah bacth Render, yaitu pemodelan yang dibangun, dilihat, dijalankan dengan tool animasi. Selanjutnya dianalisa apakah model yang dibangun sudah sesuai tujuan. Output dari Display ini adalah berupa *.Avi, dengan Resolusi maksimal Full 1280/Screen dan file *.JPEG.




3.      Tipe-Tipe Citra

Grafis Komputer 2D









Grafik komputer 2D adalah pembuatan objek gambar yang masih berbasis gambar dengan perspektif 2 titik sebagai contoh adalah:gambar teks,bangun 2D seperti segitiga,lingkaran dsb. Grafik komputer 2D kebanyakan digunakan pada aplikasi yang digunakan hanya untuk mencetak dan menggambar seperti tipografi, gambar, kartun,iklan, poster dll.

A.  Pixel Art
Pixel art adalah sebuah bentuk seni digital, yang diciptakan melalui penggunaan perangkat lunak grafik raster di mana gambar akan diedit pada tingkat pixel. Pixel art dapat ditemukan pada komputer atau game-game yang relatif tua, dan juga dapat ditemukan pada telepon genggam.

B.  Vector graphics
Berbeda dengan pixel, grafik vektor merupakan representasi dari gambar dengan berupa array pixel. Dimana keunggulannya adalah pada resolusi berapapun dan tingkat pembesaran apapun gambar yang dihasilkan tetap(tidak blur atau pecah).

C.  Grafik Komputer 3D



 









Grafik komputer 3D merupakan suatu grafis yang menggunakan 3 titik perspektif dengan cara matematis dalam melihat suatu objek, dimana gambar tersebut dapat dilihat secara menyeluruh dan nyata. Untuk perangkat-perangkat lunak yang digunakan untuk grafik komputer 3D ini banyak bergantung pada aloritma-algoritma.

D.  Animasi Komputer

Animasi Komputer adalah seni membuat gambar bergerak melalui komputer. Biasanya ini digunakan pada film-film animasi berbudget besar. Tetapi film-film non animasi juga banyak yang menggunakan teknik ini, sebut saja Lord Of The Ring, Harry Potter, dsb.