Informazioni su MariOCaml
MariOCaml è stato creato alla Cornell University da Matthew Hsu, Liam Bui e Ashley Xue come progetto finale per un corso di programmazione funzionale, ed è diventato uno dei progetti OCaml più popolari su GitHub.
L'intero gioco — fisica, nemici, oggetti, telecamera e renderer — è scritto in OCaml e compilato in JavaScript con js_of_ocaml, così funziona in una normale pagina web. Alla base c'è un "director" che gestisce lo stato del gioco ed esegue il ciclo principale, mentre un generatore procedurale costruisce ogni livello su una griglia, facendo attenzione che resti giocabile.
Il risultato sembra un gioco di Mario dell'era SNES con una variante: ogni volta che lo carichi trovi una disposizione diversa di torri di mattoni, nuvole di monete e Koopa Troopa. Alcune disposizioni sono eleganti, altre caotiche: è questo il fascino di un livello casuale.
Comandi
| Input | Azione |
|---|---|
| ← → oppure A D | Muoviti |
| Spazio, ↑ o W | Salta |
| ↓ o S | Abbassati |
Caratteristiche
- Scritto al 100% nel linguaggio funzionale OCaml
- Generatore casuale di livelli che posiziona blocchi, monete, nemici e buchi
- Punteggio, contatore di monete, schermate di game over e di vittoria
- Effetti particellari quando i blocchi si rompono e i nemici vengono schiacciati
Consigli
- Il contatore in alto a sinistra indica il frame rate, non è un timer: prenditi tutto il tempo che vuoi.
- I gusci si possono calciare contro altri nemici per ottenere una catena di punti.
- Se un livello viene generato in modo scomodo, ricarica il frame con il pulsante di riavvio per ottenere una nuova disposizione.


