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
| Input | Aksi |
|---|---|
| ← → atau A D | Bergerak |
| Spasi, ↑ atau W | Melompat |
| ↓ atau S | Berjongkok |
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
- Angka di pojok kiri atas adalah frame rate, bukan timer — jadi santai saja.
- Cangkang bisa ditendang ke musuh lain untuk mendapatkan rangkaian poin.
- Jika sebuah level terbentuk dengan susunan yang menyulitkan, muat ulang frame dengan tombol restart untuk mendapatkan tata letak baru.


