MARIO.GAME
id

MariOCaml

Game platformer Super Mario yang ditulis dalam OCaml dengan level acak

MariOCaml

Tentang MariOCaml

MariOCaml dibuat di Cornell University oleh Matthew Hsu, Liam Bui, dan Ashley Xue sebagai proyek akhir mata kuliah pemrograman fungsional, dan kemudian berkembang menjadi salah satu proyek OCaml paling populer di GitHub.

Seluruh game ini — fisika, musuh, item, kamera, dan renderer — ditulis dalam OCaml dan dikompilasi silang ke JavaScript dengan js_of_ocaml, sehingga bisa berjalan di halaman web biasa. Di bagian dasarnya ada “director” yang memegang status game dan menjalankan loop utama, sementara generator prosedural membangun setiap level pada sebuah grid dan memastikan level tetap bisa dimainkan.

Hasilnya terlihat seperti game Mario era SNES dengan sentuhan berbeda: setiap kali dimuat, kamu mendapatkan susunan menara bata, awan koin, dan Koopa Troopa yang berbeda. Ada tata letak yang apik, ada yang kacau — itulah pesona level acak.

Kontrol

InputAksi
← → atau A DBergerak
Spasi, ↑ atau WMelompat
↓ atau SBerjongkok

Fitur

  • Ditulis 100% dalam bahasa fungsional OCaml
  • Generator level acak yang menempatkan blok, koin, musuh, dan jurang
  • Skor, penghitung koin, layar game over, dan layar kemenangan
  • Efek partikel saat blok hancur dan musuh terinjak

Tips

  1. Angka di pojok kiri atas adalah frame rate, bukan timer — jadi santai saja.
  2. Cangkang bisa ditendang ke musuh lain untuk mendapatkan rangkaian poin.
  3. Jika sebuah level terbentuk dengan susunan yang menyulitkan, muat ulang frame dengan tombol restart untuk mendapatkan tata letak baru.

Pertanyaan yang sering diajukan

Apa itu OCaml?

OCaml adalah bahasa pemrograman fungsional yang digunakan di dunia akademis dan industri. MariOCaml membuktikan bahwa bahasa ini mampu menjalankan game real-time yang lengkap saat dikompilasi ke JavaScript.

Apakah levelnya selalu berbeda?

Ya — level dibuat secara acak setiap kali dimuat, jadi setiap restart memberimu peta baru.

Siapa yang membuat MariOCaml?

Matthew Hsu, Liam Bui, dan Ashley Xue. Proyek ini bersifat open source di bawah lisensi MIT.

Game lain untuk dimainkan