MARIO.GAME
it

MariOCaml

Un platform di Super Mario scritto in OCaml con livelli casuali

MariOCaml

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

InputAzione
← → oppure A DMuoviti
Spazio, ↑ o WSalta
↓ o SAbbassati

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

  1. Il contatore in alto a sinistra indica il frame rate, non è un timer: prenditi tutto il tempo che vuoi.
  2. I gusci si possono calciare contro altri nemici per ottenere una catena di punti.
  3. Se un livello viene generato in modo scomodo, ricarica il frame con il pulsante di riavvio per ottenere una nuova disposizione.

Domande frequenti

Che cos'è OCaml?

OCaml è un linguaggio di programmazione funzionale usato in ambito accademico e industriale. MariOCaml dimostra che, una volta compilato in JavaScript, può alimentare un gioco completo in tempo reale.

I livelli sono sempre diversi?

Sì: il livello viene generato in modo casuale a ogni caricamento, quindi a ogni riavvio ottieni una mappa nuova.

Chi ha creato MariOCaml?

Matthew Hsu, Liam Bui e Ashley Xue. Il progetto è open source con licenza MIT.

Altri giochi da provare