Kesenangan dan Permainan Java: Java mengunjungi arcade

Pada 1980-an, orang berbondong-bondong ke arcade untuk memainkan Pacman, Space Invaders, Frogger, Donkey Kong, dan game lainnya. Gim klasik ini masih menyenangkan untuk dimainkan: Jika Anda belum pernah memainkan salah satu dari gim arkade ini, atau jika Anda hanya ingin berjalan-jalan menyusuri jalan kenangan, lihat Permainan Klasik 80-an di Sumber Daya.

Pernahkah Anda bermimpi mengembangkan game arcade berbasis Java yang mirip dengan klasik? Jika demikian, Anda dapat mewujudkan impian ini dengan JGame, mesin game Java yang dibuat oleh Boris van Schooten. Artikel ini memperkenalkan Anda pada JGame, fitur-fiturnya, direktori dan filenya, dan contoh game. Kami juga menjelajahi arsitektur JGame — mesin, objek game, dan pengatur waktunya.

Catatan: Anda sekarang dapat membangun dan menjalankan applet yang disajikan di Java Fun and Games menggunakan DevSquare, alat pengembangan online. Baca panduan pengguna yang tersedia di Sumber untuk memulai.

Memperkenalkan JGame

JGame adalah mesin game Java 2D kecil yang kerangka kerja tingkat tingginya — berdasarkan sprite dengan animasi otomatis dan deteksi tabrakan, dan latar belakang berbasis ubin dengan fasilitas interaksi ubin-sprite yang mudah — menyederhanakan pengembangan game arcade bergaya klasik. Game dijalankan sebagai aplikasi atau applet, disesuaikan dengan ukuran jendela apa pun — bahkan berjalan dalam layar penuh. (Untuk mempelajari lebih lanjut tentang sprite dan ubin, kunjungi Wikipedia.)

Artikel ini berfokus pada JGame versi 1.2. Meskipun versi ini memiliki beberapa kekurangan (kurangnya dukungan suara dan ketidakmampuan untuk membuat game dengan latar belakang bergulir adalah dua contoh — masalah ini kemungkinan besar akan diatasi di versi mendatang), versi 1.2 menawarkan beberapa fitur yang memfasilitasi pengembangan dan penerapan game arcade :

  • Mesin "sprite" animasi built-in dengan definisi animasi yang mudah
  • Penanganan latar belakang berbasis ubin dengan latar belakang dekoratif
  • Deteksi tabrakan otomatis dengan sprite dan ubin latar belakang, dan interaksi ubin latar belakang yang mudah
  • Kemampuan untuk memuat sprite, tile, dan font warna langsung dari sprite sheets
  • Gambar dan animasi ditentukan dalam file teks
  • Model mesin negara bagian untuk urutan dalam game
  • Mesin status game standar dan beberapa objek game standar
  • Fasilitas debugging, yang meliputi visualisasi kotak pembatas dan pencetakan pesan debug di sebelah objek di lapangan bermain
  • Grafik yang dioptimalkan dan dipercepat untuk berbagai tampilan, tanpa memerlukan paket tambahan; bekerja dengan baik pada layar X11 jarak jauh
  • Kemampuan untuk memprogram game pada satu ukuran jendela; game dapat diskalakan ke ukuran jendela apa pun yang diinginkan (bahkan layar penuh) saat dijalankan
  • Diuji di berbagai platform; dapat dengan mudah dijalankan sebagai applet atau sebagai aplikasi (dan dari file jar)

Pemasangan mesin

Anda harus menginstal JGame sebelum Anda dapat bekerja dengan perangkat lunak ini. Jelajahi ke Halaman Web JGame (lihat Sumber untuk link) dan pilih file distribusi — jgame-20061023.tar.gz atau jgame-20061023.zip, untuk versi 1.2. Setelah mengunduh dan membatalkan pengarsipan file distribusi, saya sarankan untuk memindahkan direktori home jgame ke direktori root Anda (untuk kenyamanan).

JGame hadir dengan file kelas Java 1.4 yang telah dikompilasi. Jika Anda berencana menggunakan JGame dengan Java 1.4 atau lebih tinggi, tidak ada lagi yang perlu dilakukan — JGame sudah diinstal. Namun, jika Anda berencana menggunakan JGame dengan Java 1.2 dan / atau 1.3, Anda harus mengkompilasi ulang JGame sesuai dengan petunjuk yang ditemukan di file bernama makefile — salah satu dari berbagai direktori dan file yang terletak di direktori home jgame, yang daftarnya adalah sebagai berikut di bawah:

  • contoh berisi file sumber dan file kelas Java 1.4 yang telah dikompilasi untuk paket ini
  • gfx berisi file gambar GIF, PCX, dan PNG untuk contoh game yang dipaketkan dengan JGame
  • html berisi HTML dan file terkait untuk menjalankan game contoh sebagai applet
  • javadoc berisi dokumentasi Java untuk dua paket kelas JGame
  • jgame berisi file sumber dan file kelas Java 1.4 yang telah dikompilasi untuk paket ini
  • PERUBAHAN mencatat berbagai perubahan (termasuk perbaikan bug) yang diterapkan ke setiap versi JGame
  • LISENSI mengidentifikasi lisensi JGame, hak cipta, dan informasi garansi
  • make.bat mengkompilasi file sumber dalam contoh direktori dan jgame
  • make-docs.bat membuat dokumentasi paket yang terletak di direktori javadoc
  • make-jar.bat membuat file jar dengan semua file kelas dan sumber daya JGame yang relevan
  • Makefile menunjukkan cara mengkompilasi kode sumber, membuat JGame versi Java 1.2, dan banyak lagi
  • makepkg.sh menyajikan skrip shell Unix untuk memaketkan JGame ke dalam file distribusi
  • manifes mengidentifikasi kelas utama untuk file jar
  • MANUAL memberikan wawasan tentang pemrograman game dengan JGame
  • README memberikan titik awal untuk menjelajahi JGame

Contoh game

JGame menyertakan 11 contoh game yang mendemonstrasikan pengembangan game berbasis JGame: NebulaAlpha, Insecticide, ChainReaction, SpaceRun, SpaceRun II, Munchies, WaterWorld, CavernsOfFire, MatrixMiner, PubMan, dan DungeonsOfHack. Karena game ini ada dalam examplespaket, Anda harus menyertakan examples.awalan saat menjalankan game sebagai aplikasi atau sebagai applet.

Anda dapat menjalankan game contoh apa pun sebagai aplikasi dengan memastikan bahwa jgame adalah direktori saat ini, atau dengan menambahkan jalur jgame ke variabel lingkungan CLASSPATH. Misalnya, untuk menjalankan PubMan (tiruan Pacman — Anda dikejar oleh mug bir alih-alih hantu) sebagai aplikasi, tentukan java examples.PubMan. Secara default, game ini berjalan dalam layar penuh.

Alih-alih menjalankan layar penuh, Anda dapat memaksa sebagian besar contoh game untuk menampilkan outputnya di jendela, dengan menentukan argumen bilangan bulat pada baris perintah. Misalnya, untuk menjalankan PubMan di jendela 300-horizontal-kali-300-vertikal-piksel, panggil java examples.PubMan 300 300. Gambar 1 menunjukkan jendela yang dihasilkan.

Anda juga dapat menjalankan game contoh sebagai applet. Direktori html berisi beberapa file HTML untuk setiap contoh; setiap file HTML menjalankan contoh pada ukuran jendela tertentu (termasuk layar penuh). Misalnya, file applet-pubman-320x240.html direktori ini menggunakan tag berikut untuk menjalankan PubMan pada ukuran jendela 320 horizontal dengan 240 piksel vertikal:

 PubMan applet