Pengantar Teknologi Game (tugas 2)


Shading

                Shading merupakan persepsi mengenai kedalaman atau ketebalan sebuah objek yang terbentuk dari hasil pemberian efek gradasi gelap terang pada objek. Efek gradasi tersebut akan memantulan bayangan pada permukaan yang rata, ditambah dengan pengaruh sudut dan jarak antara objek terhadap cahaya sehingga di setiap permukaannya mempunyai tingkatan pencahayaan yang  tidak sama maka terbentuklah shading tersebut.

Contoh dari pemberian shading pada objek :

shading

Ambient

                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

Diffuse

                Jenis pencahayaan yang kedua ialah diffuse. 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

 

Specular

                Specular adalah 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

 

          Agar lebih mudah untuk membedakan antara Ambient, Diffuse, dan Specular lihatlah gambar berikut.

dalam 1 objek

ambient, diffuse, specular

Mapping

                Mapping : suatu teknik untuk menirukan detail permukaan dengan pemetaan gambar (tekstur) menjadi polygons.

Jenis – jenis Mapping :

1. Texture map  : suatu teknik untuk menirukan detail permukaan dengan pemetaan gambar (tekstur) menjadi polygons.

* Texture map terdiri dari :

– bitmap : memilih file gambar image

– checker : pola papan catur

– marble : tekstur berupa marmer

– gradien : tekstur dari gradasi tiga buah warna

– water : menampilkan efek air

– wood : menampilkan tekstur kayu

2. Mapping coordinate :

* Mapping Coordinate

– offset : menggeser posisi bitmap pada material

– tilling : mengatur duplikasi bitmap pada material

– mirror : mencerminkan bitmap pada material

– tile : pengkotakkan material

– angle : perputaran material pada objek

– uv/vw/wv : orientasi mapping

– blur : memberikan efek kabur

Rancanglah Game Sederhana

                Disini kami membuat game sederhana yang berjudul “Jakarta Keras Boss!!” menggunakan Strawberry Prolog.

                Rancangannya yaitu, pertama-tama kami menentukan target rancangan game ini. Disini kami hanya membatasi sampai animasi sederhana saja, ada 2 orang yang sedang berkelahi, di game ini player memainkan “Internazionale” sedangkan AI nya adalah “Primavera”, kedua pemain harus menyerang sampai salah satu kehabisan darah, atau sampai waktunya habis dengan cara memukul dan menendang.

Berikut ini adalah kodingannya:

1

2

3

4

5

6

7

Scenario Game

                Skenario game ini adalah dimana kedua pemain (player dan AI) bertarung sampai darahnya habis, dan juga akan ada waktu selama 120 detik. Player akan dinyatan menang  jika berhasil mengalahkan AI sampai darahnya habis dan sebaliknya, Player akan dinyatakan kalah jika darahnya habis. Jika waktu sudah habis tetapi tidak ada yang kalah, maka darahnya yang paling sedikit akan dinyatakan kalah.

Pendeklarasian Objek Game

                Objek pada game ini ada 2 yang penting. Pertama Player yang bernama”Internazionale, yang kedua adalah AI yang bernama “Primavera”, ini diatur dalam :

8

Bagian penting lainnya adalah private class KeyManager. Digunakan untuk menangkap event yang dilakukan pada keyboard.

9

Screenshot Game

10

referensi :

rendyekoprasetio.blogspot.com

tikknara.blogspot.com

detektiphoshiora.blogspot.com

kuliahpemodelan3d.blogspot.com

nf.nci.org.au

erimez.com

project

rekan kerja :

Ayu Fitriyanti dan Khoirul Anwar

3 thoughts on “Pengantar Teknologi Game (tugas 2)

  1. Pingback: Pengantar Teknologi Game (Tugas 2) | yantisaraswati

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s