Selamat Datang Di Blog Bambang Bayu Aldi

Minggu, 27 April 2014

Pengantar Teknologi Game

Tugas Softkill

Didalam kita membuat suatu aplikasi game, kita membutuhkan sebuah perangkat lunak  untuk membuat game yang disebut dengan game engine. 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.
  
Beberapa elemen yang ada di dalam game engine adalah :

-          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.
-          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.
-          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.
-          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.
-          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.
-          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.

Selanjutnya kita akan membahat teknis pada game itu sendiri, saya akan menjelaskan tentang shading, diffuse, ambient, specular, mapping:

1. Apa yang dimaksud dengan shading? 

   Shading adalah satu set instruksi diterapkan pada model 3D yang memungkinkan komputer tahu bagaimana harus ditampilkan. Meskipun jaringan shading dapat dikodekan secara manual, paket perangkat lunak yang paling 3D memiliki alat yang memungkinkan seniman untuk men-tweak parameter shader dengan sangat mudah. Menggunakan alat ini, seniman dapat mengendalikan cara permukaan model berinteraksi dengan cahaya, termasuk diffuse, reflektifitas, sorot specular (kilau), dan puluhan lainnya.

Pencahayaan bisa berupa manipulasi pewarnaan atau bisa berupa teknik pemutihan  jalur cahaya. Pencahayaan tidak terbatas pada origin tetapi bisa juga berasal dari satu sumber atau beberapa sumber yang dikombinasikan. Pencahayaan sangat penting dalam semua animasi untuk lebih akurat menyampaikan visi dari pada objek yang tidak memiliki pencahayaan. 
Beberapa komponen pencahayaan adalah :
1.      Kesilauan (Ambient) : Sinar dari sumber cahaya yang menyebar karena lingkungan.
2.     Kilau  (Specular) : Cahaya yang timbul karena objek tertentu, misalnya  pantulan dari plastik dan bahan metal.
3.      Menyebar (Diffuse) : Sinar datang dari satu sumber cahaya.

2. Penjelasan lengkap tentang diffuse, Specular, Diffuse:

1.         Ambient Lighting : Merupakan salah satu ligthing model yang digunakan tanpa memperhatikan arah datangnya cahaya / sumber cahaya (light source). Jadi pada Ambient Lighting, permukaan object akan mendapatkan cahaya dari segala arah dengan nilai dan intensitas yang sama.Dimana seluruh permukaan object akan memiliki warna yang sama.

2.         Diffuse Lighting : Merupakan lighting model yang memperhatikan arah datangnya cahaya dan akan memantulkan/menyebarkan cahaya ke berbagai arah. Jadi pada Diffuse Lighting, permukaan object yang berhadapan dengan sumber cahaya akan memerima cahaya dan menyebarkannya ke berbagai arah.

3.         Specular Lighting : Sama seperti Diffuse Lighting, Specular Lighting merupakan lighting model yang memperhatikan arah datangnya cahaya. Akan tetapi pada Specular Lighting, cahaya yang datang hanya akan dipantulkan pada 1 arah.


            Pada kesempatan kali ini, kita akan membahas tentang Diffuse Lighting. Salah metode / teknik yang paling bagus untuk membuat Diffuse Lighting adalah dengan menggunakan metode Lambertian Reflection atau biasa disebut juga dengan Lambert Shading. Secara umum, rumus dari metode Lambert adalah sebagai berikut :


Dimana :

ID = Intensity Diffuse (Intensitas cahaya dari hasil Diffuse)
L = normalized Light Direction (Vector arah datangnya cahaya / sumber cahaya yang telah dinormalisasi)
N = Normal Vector (Vector yang tegak lurus dengan permukaan object)
(N . L) = perkalian dot product antara Vector Normal dengan Vector Light Direction
C = Color (Warna)
IL = Instensity Light (Intensitas cahaya)



3. Apa yang di maksud dengan mapping, dan apa jenis-jenisnya?

     Pada dunia komputer grafik, khususnya untuk pengembangan grafis 3D, istilah mapping sangat dikenal luas oleh para pengembang grafis. Mapping ialah sebuah bentuk kegiatan untuk melakukan pewarnaan atau memetakan permukaan geometri pada objek 3D. Sedangkan Maps adalah bentuk gambar atau warna yang digunakan untuk melapisi objek 3D pada saat dilakukan mapping.

Pembagian maps untuk mapping pada realisme komputer grafik dibagi menjadi 5, yaitu :

- Tekstur Maps 

Maps berwujud gambar tekstur 2D yang dituangkan ke permukaan geometri/objek untuk membuat penampilan objek tersebut tampak halus untuk detail permukaannya. Pada pengembangan grafik realisme tingkat tinggi diperlukan lebih banyak lapisan tekstur, agar hasil mapping mendekati kesempurnaan. Sebuah tekstur maps yang diterapkan (dipetakan) biasanya dipakai untuk permukaan bentuk objek polygon, proses ini mirip dengan menerapkan texture pada kertas berpola kotak putih yang polos.

 




Kegiatan texture mapping untuk texture maps dapat didefinisikan sebagai sebuah metode untuk menambahkan detail tekstur permukaan (bitmap atau raster image), atau warna yang dihasilkan komputer grafis atau model 3D. Penerapannya pada grafis 3D dirintis oleh Dr Edwin Catmull pada proyek Ph.D tesisnya tahun 1974.



Environment-Maps
Adalah Maps yang memiliki pewarnaan dengan banyak gambar (tekstur) yang merekam refleksi global dan pencahayaan pada objek. Gambar-gambar ini difungsikan sebagai resampled selama proses rendering, dengan tujuan untuk mengekstrak, dan melihat informasi spesifik yang kemudian diterapkan sebagai tekstur objek pada permukaan geometri. Maps ini sering disebut reflection yang berarti tekstur pencahayaan dari benda-benda luar di sekitar objek, maps jenis ini sangat cocok untuk benda-benda yang memiliki tingkat refleksi yang sangat tinggi, seperti kaca, dan lain sebagainya.









Environmet mapping pada maps ini memiliki definisi yaitu metode yang efisien untuk simulasi kompleks permukaan bercermin melalui suatu gambar tekstur. Tekstur yang digunakan bekerja untuk menyimpan gambar dari lingkungan sekitar objek yang diberikan. Ada beberapa cara untuk menyimpan tekstur lingkungan sekitar objek, salah satu metode yang paling umum adalah metode Spherical Environment Mapping, di mana dalam metode ini suatu tekstur yang berisi citra lingkungan sekitar akan direfleksikan sebagai bola cermin, dan kemudian dimasukkan sebagai tekstur objek yang diberi maps.



Bump-Maps
Bump maps adalah maps yang memfokuskan permukaan tekstur pada objek, dengan menggunakan maps ini, permukaan geometri/objek akan terlihat berbeda dan unik, tidak seperti objek-objek yang memiliki permukaan normal pada umumnya. Rumus pekerjaan dari maps ini akan menerapkan bidang untuk intensitas dalam maps yang menunjukkan tingkat rendah tingginya suatu permukaan objek, fungsi maps ini akan mengacaukan permukaan objek yang normal, sehingga menimbulkan kesan unik ketika hasilnya sudah di-render.

  








Untuk kegiatannya, bump mapping adalah sebuah teknik grafis komputer di mana pada setiap pixel untuk permukaan normal objek, akan diberikan efek tidak halus dan diterapkan sebelum melakukan perhitungan iluminasi. Hasilnya, objek yang diberi maps akan lebih kaya, serta lebih rinci untuk representasi permukaan objek dan lebih mirip pada permukaan alam.

4. Normal-Maps
Maps ini serupa dengan bump-maps, perbedaannya adalah fungsionalitas yang ada pada normal maps, maps ini secara alami akan menghasilkan bentuk permukaan yang tidak halus tanpa menggunakan lebih banyak penambahan atau pengurangan poligon pada objek.








Dalam dunia grafik komputer 3D, normal mapping pada maps ini bisa disebut " Dot3 bump mapping ", definisinya adalah sebuah teknik yang digunakan untuk ”berpura-pura” menambahkan efek tidak halus pada permukaan objek. Kenapa disebut ”berpura-pura” ? Hal ini disebabkan karena mapping ini bekerja dengan menambahkan rincian tidak halus pada permukaan objek tanpa menggunakan poligon. Normal mapping biasanya diakurasi sebagai sebuah gambar RGB yang berhubungan dengan koordinat X, Y, dan Z dari permukaan normal suatu objek. Penggunaan umum teknik ini adalah untuk lebih meningkatkan tampilan dan detail dari model poligon rendah dengan menghasilkan peta normal dari model poligon yang tinggi.

5. Shadow-Maps
Yang terakhir adalah shadow maps yaitu maps yang menghasilkan suatu bayangan tekstur pada objek dengan menangkap siluet objek tersebut dari sumber cahaya yang terlihat. Maps ini sangat sering dipakai oleh pengembang grafik 3D, karena efek yang dihasilkan seolah-olah menunjukkan objek tersebut sangat realistis, dan disebabkan adanya bayangan dari sumber cahaya yang ada.





Kegiatan texture mapping untuk texture maps dapat didefinisikan sebagai sebuah metode untuk menambahkan detail tekstur permukaan (bitmap atau raster image), atau warna yang dihasilkan komputer grafis atau model 3D. Penerapannya pada grafis 3D dirintis oleh Dr Edwin Catmull pada proyek Ph.D tesisnya tahun 1974.

4.      Jelaskan perbedaan game online dan game offline!
Game online tentu membutuhkan koneksi internet dan dapat berinteraksi dengan pemain lain dari seluruh dunia sedangkan game offline tidak membutuhkan koneksi internet dan hanya bisa bermain sendiri.

5. Apa saja software pembuat game?

Jenis-Jenis Game Engine

Open source game engine :

- Blender
- Golden T Game Engine (GTGE)
- DXFramework
- Ogre
- jMonkeyEngine (jME)
- Panda3D
- Sphere
dll.

Commercial engines/game engine berbayar (komersial):

- Alamo
- A.L.I.V.E
- BigWorld
- DXStudio
- Dunia Engine
- Euphoria
- GameStudio
- Jade Engine
- Jedi
- Medusa
- RPG Maker VX
- RPG Maker XP
- RPG Maker 2003
- RPG Maker 95
- Vision Engine

Berikut game yang saya pernah buat dengan menggunakan software Macromedia flash dan Unity 3D, maaf ada beberapa bug, beberapa sound hilang ketika upload ke web pada game swf, terima kasih:

FLASH


UNITY3D FIRST PERSON SHOOTER (FPS)




Sumber: 
http://oliviajuliandae.blogspot.com/2013/06/tugas-ke-2-softskill-pengantar-game.html
http://niakentji10.blogspot.com/
http://tornetto.blogspot.com/2014/02/desain-pemodelan-grafis-t2-kel6shading.html

0 komentar:

Posting Komentar

Popular Posts

@bambaldii Delicious Facebook Digg Stumbleupon Favorites More

 
Design by Bambang Bayu Aldi | Bloggerized by Bambang Bayu Aldi - | Affiliate Network Reviews