Implementasi Hukum Fisika dalam Game Physics Puzzle Cannon Ball Menggunakan Box2D Oleh Mahdi Bashroni RIzal 5107100097
Game Puzzle Game berfokus pada logika dan tantangan konseptual Game puzzle menampilkan seri dari puzzle yang mempunyai variasi dari satu tema Pemain harus menemukan petunjuk untuk memenuhi kondisi menang dimana akan mendapatkan hak untuk melanjutkan ke level selanjutnya yang lebih sulit Terkadang dalam game ditambahi tantangan dengan batas waktu dan elemen aksi
Contoh Game Jigsaw Tetris Chess
Game Physics Puzzle Game physics puzzle adalah tipe game puzzle dimana pemain dalam menyelesaikan setiap puzzle dalam game itu menggunakan game physics. Tipe game ini populer di game mobile. Contoh World of Goo Angry Birds
Flash Action Script 3 (AS3) Plugin flash (flash player) menjadi plugin yang paling banyak digunakan untuk content mutimedia pada website OOP Bahasa pemrograman yang paling banyak digunakan untuk game berbasis web
Box2D Library Box2D adalah sebuah Library untuk membantu mensimulasikan hukum fisika ke dalam sebuah aplikasi Box2D awalnya dirilis dalam bahasa C++ Digunakan pada Nintendo DS, Wii dan telepon genggam (termasuk Android dan Iphone). Satuan standart yang digunakan box2d adalah kilogram, meter, second (kms) Box2D telah di porting ke berbagai macam bahasa pemrograman lain termasuk Adobe Flash (ActionScript dan haxe), Java, maupun C#
Mochimedia Leaderboard API Leaderboad adalah layanan (services ) dari mochimedia untuk mengunggah score pemain dalam suatu game secara online Integrasi dengan social network
Mochimedia Leaderboard
Box2D Library implementation Contoh sederhana pengaplikasian Library Box2D ke dalam game Menentukan batas dunia var worldaabb:b2aabb = new b2aabb(); worldaabb.lowerbound.set(-100.0, -100.0); worldaabb.upperbound.set(100.0, 100.0); Menentukan besar Gravitasi var gravity:b2vec2 = new b2vec2 (0.0, -10.0); Membuat dunia sesuai gravitasi yang ditentukan var world:b2world = new b2world(worldaabb, gravity, true)
Box2D Library implementation Setelah dunia Box2D terbentuk kemudian membuat objek Membuat body var bodydef:b2bodydef = new b2bodydef(); bodydef.position.set(0.0, 4.0); var body:b2body = world.createbody(bodydef); Propertis pada polygondef (untuk benda polygon) var shapedef:b2polygondef = new b2polygondef(); shapedef.setasbox(1.0, 1.0); shapedef.density = 1.0; shapedef.friction = 0.3; shapedef.restitution = 0.3; body.createshape(shapedef); body.setmassfromshapes();
Analisis sistem Start Menu Leaderboard Mochimedia server Box2D Level Objek Body Box2D Costume Level 1 Level 2 Level 3
Menu Utama
Menu Level
User interface pada gameplay
Gameplay
Cannon (Meriam) Cannon digunakan untuk menembakkan bola Pemain dapat menahan (hold) tombol mouse untuk meningkatkan kekuatan tembakkan dan melepaskan tombol mouse untuk melepaskan tembakkan
Angin Setiap benda yang mengenai angin akan dikenai gaya sesuai arah angin
Paku Paku dapat menghancurkan bola
Trampolin Trampolin mementalkan bola dengan lebih cepat
Balok kayu Balok kayu adalah objek dinamis, dalam game balok kayu akan terpental apabila ditumbuk dengan benda lain
Tiang kayu Tiang kayu juga objek dinamis, dalam game tiang kayu akan terpental apabila ditumbuk dengan benda lain
Lubang teleportasi Untuk menteleportasi atau memindahkan bola, dimana setiap bola yang masuk ke lubang putih akan dipindahkan ke lubang merah
Tool papan bantuan Digunakan untuk membantu memenangkan level
Menang Kondisi menang dipenuhi apabila bola masuk ke dalam gol Skor dihitung dari sisa waktu, sisa bola, dan sisa papan bantuan
Kalah Pemain kalah apabila waktu habis dan harus mengulang permainan
Pause game Game akan distop dan pemain dapat klik continue untuk melanjutkn game
Submit Highscore Pemain dapat mengisi nama untuk di submit ke server Nama beserta skor akan tercatat dalam leaderboard
Kesimpulan Implementasi hukum fisika dalam game dapat dibantu dengan Box2D Library Implementasi Box2D dapat dilakukan dengan membuat physics world Box2D dalam game dan mengkonfigurasi sifat fisika seperti density, friction, restituion setiap benda yang akan dikenai simulasi Kemampuan mochimedia API untuk penggunaan submit Highscore secara online berjalan dengan baik. Selain itu, highscore dapat diposting ke social network seperti facebook dari dalam game