Sabtu, 11 Mei 2013

Tugas Bulan ke-2 Pengantar Teknologi Game

Definisi Shading
Shading adalah proses untuk menggambarkan tingkat kegelapan di atas kertas dengan menggunakan media yang lebih padat atau dengan warna yang lebih gelap untuk area yang lebih gelap, dan kurang padat atau dengan warna yang lebih ringan untuk area yang lebih terang. Ada berbagai teknik shading, salah satu contohnya adalah cross hatching, di mana garis tegak lurus dari berbagai gambar yang berdekatan dalam pola grid untuk mewakili suatu daerah. Semakin berdekatan suatu garis, maka semakin gelap area yang muncul. Demikian juga, semakin jauh suatu garis, maka semakin terang daerah tersebut muncul.

Ambient, Specular, Diffuse
Ambient, lampu semua objek dalam sebuah adegan yang sama, cerah tanpa menambahkan shading. Ambient adalah efek pencahayaan yang telah membaur dengan lingkungan sehingga arah cahaya tidak dapat diketahui, seakan-akan cahaya datang dari segala arah. Efek ini akan mempengaruhi terang atau tidaknya suatu lingkungan yang terlihat oleh mata. Semakin banyak lampu maka ruangan semakin terang, sebaliknya jika lampu sedikit maka ruangan remang-remang.
Intensitas ambient pada suatu obyek dapat dicari dengan persamaan :
I = Ia * Ka
dimana,
I= Intensitas yang dihasilkan
Ia = Intensitas ambient
Ka = Koefisien ambient



Specular yaitu efek pencahayaan dimana bayangan sumber cahaya terlihat pada permukaan obyek. Efek specular terlihat pada obyek yang mengkilap. Semakin mengkilap permukaan suatu obyek maka makin jelas bayangan sumber cahaya yang terlihat pada permukaan obyek tersebut.

Untuk mencari intensitas specular dapat digunakan persamaan sebagai berikut :
I = Ip * Ks (cos ? ) n

Dari persamaan intensitas specular tersebut cos ? menggunakan dot product antara arah pantulan dengan negasi dari arah sinar.
I = Ip * Ks * ( R • V ) n
dapat dihitung dengan dimana,
I= Intensitas yang dihasilkan
Is = Intensitas specular dari sumber cahaya ‘x’
Ks = Koofisien specular
n = Variabel yang menentukan luas area yang berkilau jika terkena cahaya yang dipancarkan oleh sumber cahaya (bila n semakin besar maka cahaya semakin terfokus atau area yang berkilau menjadi lebih kecil)
R = Arah pantulan, berupa unit vektor
V = Negasi dari arah sinar
Sedangkan vektor R diperoleh dari - S + 2 * ( S • N ) * N
dimana,
S = Vektor dari titik tabrak ke sumber cahaya
N = Vektor normal dari obyek

Diffuse adalah pencahayaan yang tergantung dari besarnya sudut yang dibentuk antara sinar dari lampu ke titik tabrak pada obyek dengan normal obyek. Sehingga posisi lampu sangat mempengaruhi efek diffuse ini. Intensitas diffuse dapat dicari dengan hukum
Lambertian sebagai berikut:
I = Ip * Kd (cos? )
Dari persamaan intensitas diffuse tersebut cos ? dapat dihitung dengan melakukan dot product antara sinar dari lampu ke titik tabrak obyek dengan normal obyek itu, masing-masing merupakan unit vektor. Sehingga didapat persamaan baru
I = Ip * Kd * ( L • N )
dimana,
I= Intensitas yang dihasilkan
Ip = Intensitas diffuse dari sumber cahaya ‘x’
Kd = Koofisien diffuse
N = Vektor normal dari obyek
L = Vektor dari titik tabrak ke sumber cahaya
? = Sudut antara N dan L

Mapping
Texture mapping adalah teknik shading untuk pengolahan gambar yang memetakan sebuah fungsi pada permukaan tiga dimensi dalam scene. Fungsi yang dipetakan mencakup satu dimensi, dua dimensi, dan tiga dimensi dan dapat digambarkan sebagai array atau fungsi matematika atau gambar. Dapat pula didefinisikan suatu teknik untuk menirukan detail permukaan dengan pemetaan gambar (tekstur) menjadi polygons.
  • Bump mapping untuk memperjelas karakteristik permukaan yang bergelombang, ditemukan oleh Jim Blinn dapat juga dapat didefinisikan suatu teknik normal-perturbation yang digunakan untuk menirukan permukaan yang tidak rata atau mengerut.
  • Transparency mapping untuk mengatur intensitas cahaya permukaan tembus pandang
  • Specularity mapping untuk mengubah kehalusan permukaan.
  • Illumination maaping untuk memodelkan distribusi cahaya yang datang dari berbagai arah.

Rancangan dalam pembuatan “Naughty Mouse”
Algoritma yang digunakan dalam permainan Naughty Mouse :
  • Algoritma A* ( A-star algorithm ) dipakai untuk pathfinding. Pathfinding dilakukan untuk mencari jalan paling dekat yang dapat ditempuh dari satu tempat ke tempat yang lain.
  • Algoritma Branch and Bound adalah persoalan pencarian jalan (path-finding) dimana persoalan mencari lintasan dari titik awal menuju titik akhir yang ditentukan melewati hambatan yang ada .
  • Aturan main (rules) yang digunakan pada permainan Naughty Mouse:

Skenario dalam game “Naughty Mouse”
User (pemain) memulai permainannya terlebih dahulu. Pada tampilan awal muncul background dengan terdapat tikus dibawahnya yang siap bermain. Tikus ini merupakan user (pemain).

Setelah user (pemain) siap untuk memulai permainan , pilih menu New Game. Setelah New Game di klik maka batu-batu akan muncul pada layar yang arahnya dari atas menuju bawah.

Hindari batu-batu yang turun agar tikus tidak terkena batu-batu tersebut. Gunakan tombol geser kanan maupun kiri untuk menghindarinya.

Kesempatan atau nyawa yang tersedia di game ini digunakan sebaik mungkin. Terdapat tiga nyawa, yang apabila tikus terkena batu-batu maka tikus akan mengeluarkan suara “Aww..” dan satu kesempatan nyawa telah hilang.
Apabila nyawa telah habis akan tetapi waktu bermain belum selesai maka user (pemain ) dianggap kalah dan computer (AI) yang menang. Tampilan layar yang keluar  apabila user (pemain) kalah adalah “LOSER!!” .

Sedangkan apabila user (pemain) berhasil menyelesaikan game Naughty Mouse maka computer (AI) kalah dan tampilan layar yang akan keluar adalah “GOOD JOB!”.

Untuk keluar dari game Naughty Mouse disaat permainan belum selesai user (pemain) dapat memilih menu exit.
Objek Dalam Game "Naughty Mouse"
 
Referensi:
http://digilib.its.ac.id/public/ITS-Undergraduate-9285-Paper.pdf
http://nurmanto.com/pengertian-grafika-komputer/
http://sadchalis15.wordpress.com/2012/01/10/rendering-grafika-komputer/
http://www.dueysdrawings.com/shading_tutorial.html
http://z4lf4.wordpress.com/2009/11/08/tugas/

Tabel Kinerja
Rekan Kerja
Adjie Putra Nugraha
Sabrina Frista Revi