9 poin oleh GN⁺ 2025-11-22 | Belum ada komentar. | Bagikan ke WhatsApp
  • Melalui lingkungan open-source bernama AthenaEnv, kini kode JavaScript dapat dijalankan di PlayStation 2
  • Lingkungan ini menanamkan engine QuickJS untuk menginterpretasikan JavaScript, serta menyediakan API untuk pengembangan game seperti rendering, input, suara, dan pemrosesan file
  • Pengembang dapat menulis game hanya dengan struktur file dasar seperti main.js, athena.ini, athena.elf, lalu menjalankannya di emulator PCSX2
  • Proyek yang sudah selesai bisa dipaketkan sebagai file .iso untuk didistribusikan dalam bentuk satu file, dan prosedur konversi zip→iso juga diperkenalkan
  • Ini menjadi contoh penggabungan pengembangan konsol retro dan teknologi web, sekaligus menunjukkan potensi perluasan pengembangan game berbasis JavaScript

Gambaran umum proyek AthenaEnv

  • AthenaEnv adalah lingkungan eksekusi JavaScript untuk PS2, yang menyediakan lingkungan pengembangan berbasis API alih-alih game engine tradisional
    • Secara internal, AthenaEnv memodifikasi dan menanamkan QuickJS untuk menginterpretasikan kode JavaScript
    • Program native PS2 (ditulis dalam C) dikonfigurasikan untuk mengeksekusi kode JavaScript
  • API yang disediakan mencakup rendering, pemuatan aset, penanganan input, input/output file, dan pemutaran suara
    • Tingkat abstraksinya setara dengan p5.js atau Raylib, sehingga hal seperti deteksi tabrakan atau manajemen scene tetap perlu diimplementasikan sendiri

Proses menjalankan game JavaScript di PS2

  • Untuk menjalankannya digunakan emulator PCSX2, dan pada pengaturan perlu mengaktifkan opsi “Enable host filesystem”
  • Folder proyek berisi file-file berikut
    • athena.elf: file eksekusi Athena
    • athena.ini: konfigurasi seperti entry point (main.js) dan pengaturan logo boot
    • main.js, src/, assets/: kode game dan resource
  • Menjalankan athena.elf di emulator akan menyalakan game, dan perubahan pada kode JavaScript bisa langsung diterapkan dengan reset

Prosedur membuat file .iso

  • Dijelaskan cara mengemas proyek menjadi satu image ISO untuk distribusi
    • File wajib: athena.elf, athena.ini, main.js, src/, ATHA_000.01, SYSTEM.CNF
    • Pilih semua file lalu kompres menjadi zip, kemudian gunakan situs mconverter.eu untuk mengubahnya menjadi iso
    • Setelah dikonversi, game bisa dijalankan tanpa pengaturan “Enable host filesystem”
  • Untuk mengotomatisasi konversi, diperkenalkan tool CLI berbasis Python GENISO(https://github.com/scottvr/GENISO)
    • Dapat mengonversi zip ke iso tanpa dependensi eksternal

Contoh Hello World

  • Dalam contoh dasar, diimplementasikan pemuatan font dan gambar, penyusunan game loop, animasi sprite, penanganan input, dan rendering teks
    • Menggunakan modul bawaan Athena seperti Screen, Font, Image, Pads
    • Menjalankan loop per frame dengan metode Screen.display()
    • Mendeteksi input controller dengan Pads.get(0)
    • Mengontrol animasi per frame melalui properti sprite seperti startx, endx
    • Menampilkan FPS atau teks dengan font.print()
  • Pembalikan sprite diimplementasikan dengan memberi nilai negatif pada width, dan diperlukan perhitungan offset untuk koreksi posisi

Dukungan 3D dan pengembangan ke depan

Kesimpulan

  • AthenaEnv adalah lingkungan inovatif yang memungkinkan pembuatan game PS2 hanya dengan JavaScript
  • Ini memungkinkan developer web ikut mengakses pengembangan game untuk konsol retro, serta menunjukkan
    ekspansi dan kompatibilitas ekosistem JavaScript

Belum ada komentar.

Belum ada komentar.