MariOCaml hakkında
MariOCaml, Cornell Üniversitesi'nde Matthew Hsu, Liam Bui ve Ashley Xue tarafından fonksiyonel programlama dersinin dönem sonu projesi olarak geliştirildi ve GitHub'daki en popüler OCaml projelerinden biri hâline geldi.
Oyunun tamamı — fizik, düşmanlar, eşyalar, kamera ve çizim motoru — OCaml ile yazıldı ve js_of_ocaml ile JavaScript'e çapraz derlendi, böylece sıradan bir web sayfasında çalışıyor. Altta oyun durumunu elinde tutan ve ana döngüyü çalıştıran bir “yönetmen” bulunuyor; prosedürel üretici ise her bölümü bir ızgara üzerinde oluştururken oynanabilir kalmasına dikkat ediyor.
Sonuç, SNES dönemi bir Mario oyununu andırıyor ama bir farkla: oyunu her yüklediğinizde tuğla kuleleri, madeni para bulutları ve Koopa Troopa'lar farklı bir düzende karşınıza çıkıyor. Bazı düzenler zarif, bazıları kaotik — rastgele bir bölümün cazibesi de bu.
Kontroller
| Tuş | Eylem |
|---|---|
| ← → veya A D | Hareket et |
| Boşluk, ↑ veya W | Zıpla |
| ↓ veya S | Eğil |
Özellikler
- Tamamen fonksiyonel bir dil olan OCaml ile yazıldı
- Blokları, madeni paraları, düşmanları ve boşlukları yerleştiren rastgele bölüm üreticisi
- Skor, madeni para sayacı, oyun bitti ve oyun kazanıldı ekranları
- Bloklar kırıldığında ve düşmanların üstüne basıldığında parçacık efektleri
İpuçları
- Sol üst köşedeki sayaç bir zamanlayıcı değil, kare hızıdır — acele etmeyin.
- Kabuklara tekme atıp diğer düşmanlara çarptırarak zincirleme puan kazanabilirsiniz.
- Bir bölüm garip şekilde üretilirse, yeniden başlat düğmesiyle çerçeveyi yenileyip yeni bir düzen elde edebilirsiniz.


