ini templatenya. silahkan disedot saja gan.
Vision Document
mahasiswa IF menjadi juara 1 game development
Alhamdulillah, satu tim mahasiswa IF berhasil menjadi juara 1 lomba game development dalam ajang Atmajaya Game Show 2010. Mereka adalah: - Randy Galawana – 3D & 2D Artist - Singgih Kuncoro – 3D Character Artist - Bayu Munajat – Game Programmer Berita selengkapnya ada di: http://atgash2010.wordpress.com/ Deskripsi game yang mereka buat ada di: http://phoenixgame.wordpress.com/
Timer pada Allegro
Materi slide kali ini dapat diambil di : 15 Timer
Allegro mensupport timer dan interrupt handler untuk mengkalkulasi frame rate, dan memperlambat program untuk mendapatkan fixed rate. Pada slide kali ini kita akan belajar mengenai :
- Memahami timers
- Bekerja dengan interrupt handler
- Menggunakan timed game loops
Timing(pewaktuan) adalah hal yang kritis pada sebuah game. Tanpa pewaktuan yang akurat, maka game akan melambat, atau terlalu cepat, yang nantinya akan mempengaruhi game play. Allegro mendukung pewaktuan pada game menggunakan rest, namun ada fitur lain yang sangat kuat yakni interrupt handler.
Sprite Animation Programming
Materi kali ini dapat didownload di : 14 Sprite Animation Programming
animasi gambar pada game 2D biasanya dilakukan dengan membangun animasi sprite. animated sprite : array of sprite, yang digambarkan dengan properties seperti timing, arah, dan velocity.
Animated sprite (paling mudah) dapat diload menggunakan load_bitemap, dan digambar menggunakan draw_sprite, ditambah kontrol/handling lain
Untuk sprite yang “nyata”, kita butuh sebuah framework untuk menggambar, menghapus, dan menggerakkan sprite ini, sekaligus collision detection
pada slide kali ini kita akan belajar mengenai :
- Animated sprites
- Grabbing frames out of a sprite sheet
- Working with many sprites
- Creating a sprite handler
- Drawing sprite frames
- Enhancing Tank War
13 Handling Input
File dapat diambil dari sini : 13 Handling Input
Allegro menyediakan abstraksi keyboard dari sistem operasi sehingga rutin keyboard akan bekerja pada berbagai sistem komputer (Windows, Linux, Mac, dlsb). Abstraksi tidak memberikan kemampuan apapun pada saat diturunkan. Abstraksi ini adalah custom-written untuk setiap platform. Sebelum dapat mempergunakan keyboard, kita harus menginisialisasi terlebih dahulu dengan perintah int install_keyboard();
Alegro memperlakukan key secara individual. Perlakuan ini dideklarasikan pada satu file header di Allegro library. File ini adalah keyboard.h. Perlakuan individual berbeda dengan perlakuan ASCII Code. Sebagai contoh :
Penekanan nomor pada numpad akan menghasilkan nilai yang berbeda dengan numkey diatas tombol-tombol huruf
Penekanan Ctrl, Alt, Shift akan menghasilkan suatu kombinasi nilai. Misal : Shift + A bukannya “A”
Pada buffered keyboard (nanti), juga akan membedakan antara “a” dengan “A”
sebenarnya tidak hanya keyboard saja, tapi penanganan joystick dan mouse jg sudah ditangani oleh allegro.
12 2D Vector Game Programming
FIle dapat didownload di sini : 12 2D Vector Game Programming
graphics primitive : sebuah fungsi yang menggambarkan bentuk geometri seperti sebuah titik, garis, kotak, atau lingkaran. graphics primitives form the basis of all 3D graphics, past and present; after all, the mantra of the 3D card is the holy polygon. Slide akan membahas graphics primitives built into Allegro with complete sample programs for each function so you will have a solid understanding of how these functions work.
beberapa kemampuan yang dimiliki oleh Allegro adalah :
- supporting the following platforms: Unix (Linux, FreeBSD, etc.), Windows, MacOS X and Haiku/BeOS. Older versions also support DOS and QNX.
- provides many functions for graphics, sounds, player input (keyboard, mouse and joystick) and timers.
- provides fixed and floating point mathematical functions, 3d functions, file management functions, compressed datafile and a GUI.
Tugas Code Ext
Pada kesempatan kali ini, peserta diminta mencari 10 potongan kode dalam bahasa apapun yang berhubungan dengan game programming. beberapa kode itu adalah sebagai berikut :
Berikan komentar untuk megumpulkan kode. thread ini khusus kelas EXT.
Tugas Code Reguler
Pada kesempatan kali ini, peserta diminta mencari 10 potongan kode dalam bahasa apapun yang berhubungan dengan game programming. beberapa kode itu adalah sebagai berikut :
Berikan komentar untuk megumpulkan kode. thread ini khusus kelas reguler.
Network and Multiplayer 2
Slide 15 Network and Multiplayer Game [2] berisi beberapa materi lanjutan dari slide sebelumnya.
materi pertama adalah time manipulation. time manipulation ini dapat dilakukan dengan cara Time Delay : untuk mengatasi latency lama dan Time Wrap : untuk mengakomodasi latency yang singkat. time delay digunakan untuk mengatasi perbedaan delay pemrosesan / pengiriman perintah user untuk meratakan latency. Daripada memproses perintah client langsung, server dapat menunda perintah ini beberapa waktu sehingga membolehkan client pada jarak yang jauh untuk merespon game state. sedang time wrap akan manipulasi waktu dengan memungkinkan server untuk me-rollback (time wrap) event pada game ketika sebuah perintah client diinputkan.
materi kedua berisi data compression. data comression yang diperkenalkan di sini adalah lossless compression, delta compression, interest management, peer to peer, dan update agregation.
- Lossless Compression data dapat dikompress dengan berbagai algoritma yang umum. Kompresi harus lossless, dan dapat dikembalikan saat di uncompress. Beberapa yang sering digunakan : LZW
- Delta Comression mengirimkan semua informasi state, memungkinkan hanya mengirim perubahan/update (delta) dari state sebelumnya. Efeknya, membutuhkan pengiriman data yang reliable (contoh TCP). Efektif jika state game world besar, namun perubahan yang ada kecil.
- Interest Management mengirimkan data ke semua client, dapat dikirimkan data yang menjadi interest bagi client untuk dikirim. Area dari interest client disebut aura dimana interaksi antara client dan unit game lain terjadi.
- pada Peer-ToPeer, Client mengirimkan data secara langsung dapat mengurangi bitrate server. Digunakan untuk pengiriman berbagai aspek game seperti voice, avatar, dlsb.
- Update Aggregation akan mengirimkan update pada periode tertentu dapat mengurangi network overhead
hal yan gmenarik di slide ini adalah game cheat. untuk itu silahkan baca slidenya saja yah. referensi lebih lanjut silahkan baca buku referensi.
Tugas Game ProToType
tugas prototype game programming seperti telah diutarakan di perkuliahan sebelumnya (Ogre 3D Animation) akan dikumpulkan tanggal 17 Desember 2009. untuk itu, teman-teman yang mengikuti perkuliahan ini harap mempersiapkan sebaik-baiknya.
materi yang harus dikumpulkan meliputi :
1. SourceCode
2. Executable file
3. Readme berisi how to install, dan dependency file
4. dependency file
5. daftar anggota kelompok.
pengumpulan dilakukan dengan memburn ke CD/DVD dan diletakkan di loker inbox atw depan ITP. pengumpulan terakhir tanggal 17 des 2009 jam 16.00. pengumpulan yang terlambat tidak akan dinilai.
