Rancang Bangun Permainan Waktu Nyata dengan Banyak Pemain Berbasis Web “Solus Saga” dengan Mengunakan Flash ActionScript 3 (AS3) dan SmartFoxServer2X (SFS2X) Oleh : Afifudin Mahdan Dosen Pembimbing 1 Imam Kuswardayan, S.Kom.,M.T.
Dosen Pembimbing 2 Umi Laili Yuhana, S.Kom.,M.Sc
Permainan Real-Time Multiplayer Berbasis Web • Permainan real-time multiplayer berbasis web adalah : – Permainan yang dapat dimainkan dengan banyak pemain dalam lingkungan permainan dan waktu yang sama – Permainan berjalan secara waktu nyata, pemain dapat melakukan aksi tanpa harus menunggu giliran dan waktu permainan berjalan sesuai kenyataan. – Permainan dapat dimainkan melalui web.
Platform Flash (ActionScript 3) • menambahkan animasi, video dan interaktivitas pada halaman web • Plugin Flash (Flash Player) menjadi plug in yang paling banyak diinstall pada browser secara global • Mendukung komunikasi socket.
SmartFoxServer2X (SFS2X) • Multiplatform socket server berbasis java. • Dapat diintegrasikan dengan aplikasi klien dengan berbagai platform: Flash, java, unity, Ajax, .Net Framework, iPhone. • Memungkinkan untuk ditambahkan ekstensi pada server. • Menjembatani koneksi pada database.
Sistem Solus Saga Multiplayer
Diagram Use Case Permainan Solus Saga
Web Solus Saga Bergabung Kedalam Ruang Permainan
Membuat Ruang Permainan
Register
Melihat Statistik Permainan
Reset Passw ord
Pengguna Umum Ganti Passw ord Pemain Terdaftar Meletakkan Pesaw at
Melakukan Chat Melakukan Serangan Spesial
Halaman Web
Halaman registrasi
Halaman lupa password
Alur jendela aplikasi klien
Gameplay • Gameplay : masing-masing pemain mempunyai sebuah pesawat induk, pesawat induk dapat mengeluarkan pesawat untuk menyerang pemain lain • Kondisi Kemenangan : pemain yang bertahan paling akhir menjadi pemenang. • Reward : pemenang akan mendapatkan skor jika menghancurkan pesawat lawan. Hanya pemenang permainan yang dapat menyimpan skor yang didapat.
Kapal induk, gerbang dan jalur
Ekstensi SmartFoxServer2X • Ekstensi dibutuhkan untuk menambahkan logika dalam server agar server dapat menangani pesan-pesan khusus dari aplikasi klien. • Ekstensi dibuat dalam bahasa Java dan dibangun kedalam file .jar kemudian dimasukkan kedalam direktori SFS2X
Ekstensi SmartFox2X (lanj.) • Berikut adalah kelas-kelas pada Ekstensi SmartFoxServer2X untuk permainan SolusSaga Nama Kelas
Keterangan
SolusSagaExtension
Memasangkan kelas-kelas handler kepada server ketika ekstensi dimuat oleh server.
LoginHandler
Menanagani ketika user login, kelas ini akan mencocokkan antara username dan password yang dimasukkan oleh pemain dengan data yang ada pada database. Menangani akses ke database untuk keperluan statistik pemain.
StatsDatabaseHandler CustomDatabaseRequestHandler
Menangani akses ke database untuk keperluan umum
GameMessageHandler
Digunakan untuk menangani pesan-pesan komunikasi antar klien pada saat gameplay.
CustomMessageHandler
Digunakan untuk menangani pesan-pesan komunikasi antar klien dengan kegunaan umum.
Uji Coba Multiplayer dan Gameplay • Uji coba multiplayer dan gameplay dilakukan dengan menggunakan dua buah komputer dan dua orang pemain. Kedua komputer yang digunakan terhubung dengan server dari subnet yang sama melalui jaringan Local Area Network (LAN). • Hal-hal yang diuji pada uji coba ini adalah hal-hal yang berhubungan dengan perancangan gameplay. Seperti : chat, create game room, join game room, pesawat dan kekuatan pesawat, kondisi menang, skor, dan gold. • Hasil uji coba multiplayer dan gameplay terdapat pada Bab 4.2.
Uji Coba Fitur Permainan • Uji coba fitur permainan adalah uji coba yang dilakukan sesuai dengan use case yang telah dirancang. • Main flow dan alternate flow diuji • Hasil uji fitur permainan terdapat pada bab 4.3
Kesimpulan • Implementasi gameplay permainan Solus Saga dapat berjalan sesuai dengan skenario yang dirancang. • Semua fitur aplikasi yang dirancang dapat diimplementasikan dan dapat berjalan dengan baik. • Pemanfaatan SmartFoxServer2X pada aplikasi permainan ini dapat berjalan dengan baik, yaitu telah dapat melakukan sinkronisasi antar pemain dalam permainan multiplayer secara real-time.
Terima Kasih