Sabtu, 13 Juli 2013

Pengantar Teknologi Game

PENGANTAR TEKNOLOGI GAME TUGAS KE-4
Kelas 3IA13
Kelompok 12
Anggota:
- Diah Permatasari (51410949)
- Mohammad Ali Akbar  (54410488)
- Saddam Senoadji (59410169) 
Scene 2.5D
  • Apa yang dimaksud dengan cene 2.5D? 
  • Dalam video game, berguna untuk apa?
Scene 2.5D adalah sebuah teknik dalam pembuatan sebuah video game yang digunakan untuk menggambarkan salah satu dari: Proyeksi grafis 2D dan teknik yang mirip digunakan untuk menyebabkan serangkaian gambar (atau adegan) untuk mensimulasikan penampilan yang tiga dimensi (3D) padahal sebenarnya mereka tidak, atau gameplay dalam video game dinyatakan tiga dimensi yang dibatasi ke bidang dua dimensi.
LOD ( Level of Detail )
  • Apa yang dimaksud dengan Level of Detail? 
  • Jelakan konsep menggambar Level of Detail?
Dalam komputer grafis, akuntansi untuk tingkat detail melibatkan menurunkan kompleksitas representasi objek 3D seperti bergerak menjauh dari penampil atau sesuai metrik lainnya seperti objek penting, kecepatan sudut pandang-relatif atau posisi. Tingkat teknik detil meningkatkan efisiensi render dengan mengurangi beban kerja pada tahap pipa grafis, transformasi biasanya simpul. Kualitas visual berkurang dari model sering diperhatikan karena efek kecil pada objek muncul ketika jauh atau bergerak cepat.
Meskipun sebagian besar waktu LOD diterapkan untuk geometri rinci saja, konsep dasar bisa disamaratakan. Baru-baru ini, teknik LOD termasuk manajemen juga shader untuk tetap mengontrol kompleksitas pixel. Suatu bentuk tingkat manajemen detail telah diterapkan untuk tekstur selama bertahun-tahun, di bawah nama mipmapping, juga memberikan kualitas rendering yang lebih tinggi. Ini adalah hal yang lumrah untuk mengatakan bahwa “sebuah objek telah LOD’d” ketika objek disederhanakan oleh mendasari algoritma LOD-ing.
Terrain
1. Jelaskan mengenain Terrain LOD!
Dalam suatu game, Terrain merupakan model yang sangat besar. Membuat setiap pointnya secara eksplisit sangatlah tidak mungkin, maka metoda untuk mengotomatiskan pembangkitan Terrain merupakan hal biasa. Ketika proses rendering, sebagian dari Terrain tertutup dan sebagian lain sangat jauh, oleh karena itu dikembangkanlah Terrain LOD algorithms. Terrain, atau sering juga disebut dataran, merupakan salah satu data yang penting dalam pemodelan pemograman grafik. Terrain umumnya diimplementasikan untuk obyek – obyek yang statis. Salah satu implementasi terrain yang banyak digunakan adalah dalam pemodelan lanskap. Contoh pemodelan lanskap adalah pemodelan bentangan tanah, pinggiran pantai, pegunungan dan lain sebagainya. Penggunaan visualisasi terrain sebagai model lansekap ini banyak didapati dalam game motor rally dan real – time strategy.
2. Berukan perbandingan dengan Traditional LOD!
Perbandingan dengan Traditional LOD adalah tergantung pada bagaimana data itu dibagi dalam perlakuan hirarkinya.
3. Apa hubungan Terrain LOD dengan Triangle Bintree (Binary Triangle Trees)?
Terrain LOD dengan Triangle Bintree (Binary Triangle Trees) yaitu pada bagaimana data itu dibagi pada terrain, terdapat pohon yang dikenal sebagai Triangle Bintrees (Binary Triangle Trees) dan Quadtrees. Triangle Bintrees (Binary Triangle Trees) merupakan sebuah representasi populer permukaan medan yang elevasi telah sampel pada interval jarak teratur yaitu triangulasi subset dari titik sampel yang terdiri dari sumbu-blok, segitiga siku-siku isoceles. Disebut dengan triangulations seperti bintree triangulations. Triangulasi terdiri dari segitiga yang hanya memiliki tiga simpul pada batas mereka. 
Contoh gambar Triangle Bintrees 3 Simpul:
Contoh gambar Triangle Bintrees 4 Simpul:

 
4. Jelaskan mengenai Triangle Bintree (Binary Triangle Trees)!
Binary Triangle Trees merupakan struktur data yang menggambarkan pemisahan root segitiga secara berurut melalui proses rekursif. Dalam struktur seperti ini, setiap segitiga atau node melacak dua anak. Binary Triangle Trees menggabungkan kesederhanaan Pohon biner (setiap node hanya memiliki dua keturunan) dengan luas 2-dimensi yang mencakup sifat dari quadtrees. Binary Triangle Trees berguna untuk menjaga permukaan yang ada di suatu wilayah yang kurang rinci. Berbeda dengan quadtrees yang bekerja pada daerah dataran persegi atau persegi panjang, Binary Triangle Trees bekerja dengan permukaan segitiga. Jika Bynary Triangle Tree digunakan pada permukaan persegi, itu harus menggunakan dua binary triangle trees yang saling terhubung. Karena inti pada binary triangle tree berbeda dari quadtree biasa, kriteria pembagian untuk binary triangle tree pun juga berbeda dari quadtrees. Quadtrees dibagi dalam empat sumbu orthogonal di pusat daerah permukaan. Sedangkan di dalam binary triangle tree simpul dibagi dua dengan menciptakan dua segitiga baru, yang kemudian membagi tepi dan membelah segitiga menjadi setengah oleh sisi miring dari segitiga awal. Binary triangle tree populer untuk rendering terrain karena binary triangle tree memberikan tingkat adaptif detail, dan setiap node memiliki keturunan lebih sedikit daripada quadtrees. Hal ini membuat binary trees lebih mudah untuk tetap terhubung dengan baik dalam algoritma LOD. Ada beberapa criteria yang dapat digunakan untuk memutuskan kapan suatu segitiga harus dibagi lagi atau ketika suatu segitiga harus dibiarkan apa adanya.
  • Jika segitiga ada pada view frustum (bidang visibility yang membatasi dunia 3 dimensi yang luas hanya sebatas pandangan camera dan membentuk bangun pyramid).
  • Jika segitiga menghadap kepada viewer.
  • Jika segitiga dekat kepada objek yang diam di permukaan.
Dibawah ini adalah contoh gambar top-down view pada sebidang terrain menggunakan Binary Triangle Trees:
5. Apa yang dimaksud dengan Quadtrees!
Quadtrees digunakan sebagai Cara lain untuk menyimpan terrainadalah dengan menggunakan struktur data quadtree. Quadtrees adalah pohon 4-ary yang membagi setiap node menjadi empat subnodes yang sesuai dengan empat subquadrants dari simpul awal. Jadi, untuk sebuah terrain yang terletak pada bidang  X, Z , quadtree akan memperbaiki setiap node dengan menghitung titik tengah pada X dan Z dan menciptakan empat subnodes yang sesuai dengan (X rendah, Z rendah), (rendah X, Z tinggi ), (X tinggi, rendah Z), dan (X tinggi, Z tingi).
Quadtrees populer untuk representasi daerah(terrain) karena quadtrees menyediakan metode yang dua kali lipat bisa menyesuaikan dengan lingkungannya. Pembuatan quadtree dapat disesuaikan dalam dirinya sendiri. Dimulai dengan heightfield, sebuah quadtree bisa memperluas node  ketika kita membutuhkan detail yang lebih kompleks. Hasil dari quadtree akan menjadi 4-ary, yang berarti bahwa beberapa cabang akan menggali lebih dalam daripada yang lain.. Pendekatan populer adalah untuk menganalisis isi dari node (baik itu quad tunggal atau seluruh daerah daratan) dan entah bagaimana memperkirakan rincian sebagai varians antara data nyata dan quad yang mengambil tempatnya. Untuk setiap X, Z pasangan, kita mengambil Y dari set data asli dan membandingkannya dengan estimasi Y, yang merupakan interpolasi bilinear dari empat nilai sudut. Jika kita rata-rata varians ini, kita akan mendapatkan nilai global. Hasil yang lebih besar menyiratkan lebih detail (dan dengan demikian kebutuhan yang lebih besar untuk memperbaiki quadtree), sedangkan yang lebih kecil, bahkan nol, nilai berarti daerah yang memiliki kurang detail dan dengan demikian dapat disederhanakan lagi.
Tapi itu hanya salah satu dari dua mekanisme adaptif disediakan oleh quadtree a. Mekanisme kedua beroperasi pada runtime. Penyaji dapat memilih untuk melintasi quadtree, memilih kedalaman maksimum menggunakan heuristik berdasarkan jarak ke pemain dan detail dalam mesh. Menambahkan mekanisme kontinuitas yang tepat untuk memastikan seluruh jala tetap baik ditaburkan memungkinkan kita untuk memilih representasi kasar untuk elemen jauh (misalnya, puncak gunung yang terletak mil jauhnya dari penampil) sambil memastikan detail maksimal pada item dekatnya.
Dibawah ini adalah contoh sederhana permukaan yang dibagi dengan quadtrees:

6. Berikan gmabar Quadtrees dan Bintrees!
Gambar untuk quadtrees:
Gambar untuk Bintrees:

SUMBER:
  • http://dwinitapita.blogspot.com/2013/06/tugas-4-pengantar-teknologi-game.html
  • http://www.yaldex.com/game-programming/0131020099_ch14lev1sec2.html
  • http://www.gamedev.net/page/resources/_/technical/graphics-programming-and-theory/binary-triangle-trees-and-terrain-tessellation-r806
  • http://www.gamasutra.com/view/feature/1754/binary_triangle_trees_for_terrain_.php
  • http://patrick.murris.com/articles/btt_3d_terrain.htm
  • http://users.csc.calpoly.edu/~zwood/teaching/csc476/final/jdeklotz/
  • http://hollowfear.com/development/the-engine/
  • http://www.infinitecode.com/?view_post=23

TABEL KINERJA

NPM
NAMA
KINERJA
51410949
Diah Permatasari
Mengerjakan Scene 2.5D dan LOD, serta menyatukan dan merapihkan semua kerja kelompok.
54410488
Mohammad Ali Akbar 
Mengerjakan Terrain nomer 1, 2, dan 3.
59410169
Saddam Senoadji
Mengerjakan Terrain nomer 4, 5, dan 6.

Sekian hasil kerja kelompok kami. 
 

Rabu, 03 Juli 2013

Tugas Pengantar Teknologi Game

PENGANTAR TEKNOLOGI GAME TUGAS KE-3

Kelas 3IA13
Kelompok 12
Anggota:
- Diah Permatasari (51410949)
- Mohammad Ali Akbar  (54410488)
- Saddam Senoadji (59410169) 
1.) Interactive Entertainment. Jelaskan konsep dari Interactive Entertainment!

Interactive Entertainment ialah sebuah interaktif yang bertujuan dalam membuat sebuah produksi dan memberikan layanan yang bersifat menghibur (entertainment) kepada pengguna sehingga mereka dapat langsung merespon dengan cara memberikan umpan balik.
Interactive Entertainment memiliki konsep memberikan informasi – informasi berupa kombinasi data teks, gambar, animasi dan video yang telah diberi kemampuan untuk mengatur atau mengontrol elemen elemen yang telah dibuat atau yang telah ada sehingga pengguna dapat dengan mudah berinteraktif dengan informasi informasi tersebut.
 
2.) Interactive Programs. Hal-hal penting yang harus diperhatikan dari Interactive Programs adalah dari segi user dan programnya? Jelaskan peran user dan program agar terbentuk komunikasi yang mudah dipahami user!

Interactive programming merupakan bagian dari prosedur penulisan sebuah program ketika sudah aktif. Interactive programming memfokuskan pada syntax program sebagai antarmuka utama untuk proses yang berjalan, bukan sebuah aplikasi interaktif, di mana program ini dirancang dalam siklus pengembangan dan untuk digunakan sesudahnya.Dalam interactive programs, keterlibatan user dalam pembuatan sebuah program sangatlah penting, karena sebuah program dibuat untuk memenuhi kebutuhan user. Komunikasi antara user dan program akan terwujud dengan adanya tampilan antarmuka / GUI yang dibangun pada program tersebut. Dengan adanya GUI, Interactive system menjadi lebih terdukung karena tampilan program kepada user menjadi lebih mudah digunakan.

3.) Salah satu pendukung interactive system adalah adanya GUI/Graphical User Interface.
Apa fungsi dari GUI?

GUI merupakan fasilitas komunikasi antara user (pengguna) dengan system/aplikasi pada computer, GUI adalah perangkat pertama untuk mengendalikan fungsi-fungsi suatu software, dan membuat pengguna mudah untuk memahami bagaimana menggunakan software tersebut. Kita dapat mengasumsikan bahwa GUI merupakan sebagai bagian dari suatu software yang pertama kali ditangkap mata (secara interface). Dimana suatu software akan kelihatan bagus, jika GUI tersebut tampak menarik. Hal ini termasuk untuk GUI sistem pengenal suara,GUI ini diperlukan agar orang awam mudah dalam mempelajari dan menggunakan sistem tersebut. Untuk lebih kenal dekat dengan GUI, anda dapat perhatikan pada komputer masing-masing yang mana telah dibalut oleh GUI. Contoh saja Sistem Operasi Windows anda atau pun Linux, memiliki tampilan yang disesuaikan dengan cara penggunaan sistem. Berikut ini salah satu sreenshoot dari Sistem Operasi Windows 7 yang juga dibangun dari komponen GUI.      

Dari pemahaman tentang GUI sebelumnya, fungsi-fungsi GUI dalam dunia teknologi dan informasi saat ini sangat beragam. Berikut beberapa fungsi dari penggunaan GUI dalam dunia Iptek khususnya komputer:
  •  Pointing device dengan perangkat berupa mouse. 
  • Memiliki fungsi sebagai plug and play, yang mana memudahkan user dalam menginstall dan uninstall hardware/sofware (sinkronisasi). 
  • Membuat software-software yang menuntut aplikasi dalam komputer user yang dapat digunakan untuk kegiatan user dalam proses seperti menulis text, spreadsheet. sound, graphic dan lain-lain. 
  • Untuk digunakan dalam pembuatan System Operasi sebagai User friendly dan ergonomis. 
  • Pembuatan website. 
  • Opensource software/hardware atau pengembang aplikasi-aplikasi skala besar lainnya.


4.) Sebutkan, jelaskan dan berikan gambar dari komponen-komponen GUI!
 
Komponen-Komponen dari GUI
  • Containers: merupakan wadah yang berfungsi untuk menempatkan komponen-komponen lain di dalamnya.
  • Canvas: merupakan komponen GUI yang berfungsi untuk menampilkan gambar atau untuk membuat program grafis. Dengan canvas, kita bisa menggambar berbagai bentuk seperti lingkaran, segitiga, dll.
  • User Interface (UI) components: contohnya adalah buttons, list, simple popup menus, check boxes, text fields, dan elemen lain.
  • Komponen pembentuk window: seperti frames, menu bars, windows, dan dialog boxes. 

Label:
Combo Box:

List:
Radio Button:


Text Area:
 


5.) Event merpakan suatu kejadian yang terjadi karena adanya interaksi user dengan komponen-komponen GUI. Tanpa event, peran GUI tidak akan berjalan. Sebutkan macam-macam event untuk komponen" GUI (minimal 5)!
 
Event adalah peristiwa atau kejadian yang dibangkitkan atau distimulasi oleh pengguna terhadap GUI. Untuk mendeteksi dan menangani apa yang dilakukan oleh pengguna terhadap GUI, diperlukan suatu mekanisme yang disebut Event Handling. Event untuk komponen GUI:
  • Event Source: Komponen GUI yang membuat event atau tempat terjadinya event.yaitu berupa komponen-komponen visual, seperti : button, combo box, text field.
  • Event Model: Interaksi antara user dan komponen GUI untuk mendeskripsikan bagaimana program merespon interaksi user. Bagian-bagian pentingnya yaitu event source dan event listener / Handler. 
  • Event Object: Ketika sebuah event terjadi (ketika user berinteraksi dengan komponen GUI) sebuah object event diciptakan. Object berisi semua informasi yang perlu tentang event yang telah terjadi. Informasi meliputi tipe dari event yang telah terjadi, seperti ketika mouse telah di-klik. Ada beberapa class event untuk kategori yang berbeda dari user action. Sebuah event object mempunyai tipe data mengenai salah satu dari class ini. Objek yang terbentuk saat terjadi event yaitu ketika user berinteraksi dengan komponen GUI. Seperti: tekan button, ketik di text field, dll.
  • Event Listener: Objek penerima & pengolah event. Menerima dan menangani event, mengandung business logic. Contoh: menampilkan informasi penting ke user, melakukan komputasi matematis, dan lain sebagainya.
  • Event Handler: Event Handler berupa blok method dari listener yang menentukan proses selanjutnya setelah komponen mendapatkan event. Misalkan pada event tombol simpan ditekan, event listener akan menangkap event pada Event Source tombol Simpan, kemudian Event Handler akan menyimpan data yang akan didefenisikan pada blok Event Handler.
  • Event Source: Komponen GUI yang membuat event atau tempat terjadinya event, yaitu berupa komponen-komponen visual, seperti : button, combo box, text field. 
  • Event Model: Interaksi antara user dan komponen GUI untuk mendeskripsikan bagaimana program merespon interaksi user. Bagian-bagian pentingnya yaitu event source dan event listener/Handler.
6.) Jelaskan mengenai event dalam konsep Struktur Interactive Program!
Untuk mendeteksi dan menangani apa yang dilakukan oleh pengguna terhadap GUI, diperlukan suatu mekanisme yang disebut Event Handling. Event untuk komponen GUI:Event Object: Ketika sebuah event terjadi (ketika user berinteraksi dengan komponen GUI) sebuah object event diciptakan. Object berisi semua informasi yang perlu tentang event yang telah terjadi. Informasi meliputi tipe dari event yang telah terjadi, seperti ketika mouse telah di-klik. Ada beberapa class event untuk kategori yang berbeda dari user action. Sebuah event object mempunyai tipe data mengenai salah satu dari class ini. Objek yang terbentuk saat terjadi event yaitu ketika user berinteraksi dengan komponen GUI. Seperti: tekan button, ketik di text field, dll. Event Listener: Objek penerima & pengolah event. Menerima dan menangani event, mengandung business logic. Contoh: menampilkan informasi penting ke user, melakukan komputasi matematis, dan lain sebagainya. Event Handler: Event Handler berupa blok method dari listener yang menentukan proses selanjutnya setelah komponen mendapatkan event. Misalkan pada event tombol simpan ditekan, event listener akan menangkap event pada Event Source tombol Simpan, kemudian Event Handler akan menyimpan data yang akan didefenisikan pada blok Event Handler. 
  

REFERENSI:
  • http://ainanug.blogspot.com/2013/06/interactive-system_25.html
  • http://mateus92.wordpress.com/

TABEL KINERJA KELOMPOK 12



NPM
NAMA
KINERJA
51410949
Diah Permatasari
Mengerjakan nomer 5 dan 6, serta menyatukan dan merapihkan semua kerja kelompok.
54410488
Mohammad Ali Akbar 
Mengerjakan nomer 1 dan 2.
59410169
Saddam Senoadji
Mengerjakan nomer 3 dan 4.


Sekian hasil kerja kelompok kami.