MARIO.GAME
pl

MariOCaml

Platformówka Super Mario napisana w OCaml z losowymi poziomami

MariOCaml

O grze MariOCaml

MariOCaml powstał na Uniwersytecie Cornella. Stworzyli go Matthew Hsu, Liam Bui i Ashley Xue jako projekt końcowy na kursie programowania funkcyjnego, a z czasem stał się jednym z najpopularniejszych projektów w OCaml na GitHub.

Cała gra — fizyka, wrogowie, przedmioty, kamera i renderer — jest napisana w OCaml i skompilowana do JavaScript za pomocą js_of_ocaml, dzięki czemu działa na zwykłej stronie internetowej. Pod spodem działa „dyrektor”, który zarządza stanem gry i uruchamia główną pętlę, a generator proceduralny buduje każdy poziom na siatce, dbając o to, by dało się go przejść.

Efekt wygląda jak gra z Mario z czasów SNES-a, ale z dodatkowym twistem: przy każdym uruchomieniu dostajesz inny układ ceglanych wież, chmur monet i Koopa Troopa. Niektóre układy są eleganckie, inne chaotyczne — na tym polega urok losowego poziomu.

Sterowanie

KlawiszAkcja
← → lub A DRuch
Spacja, ↑ lub WSkok
↓ lub SKucanie

Funkcje

  • Napisana w 100% w funkcyjnym języku OCaml
  • Generator losowych poziomów, który rozmieszcza bloki, monety, wrogów i przepaście
  • Wynik, licznik monet oraz ekrany końca gry i zwycięstwa
  • Efekty cząsteczkowe przy rozbijaniu bloków i rozgniataniu wrogów

Wskazówki

  1. Licznik w lewym górnym rogu pokazuje liczbę klatek na sekundę, a nie czas — nie spiesz się.
  2. Skorupy można kopnąć w innych wrogów, aby zdobyć serię punktów.
  3. Jeśli poziom wygeneruje się w niewygodny sposób, załaduj ramkę ponownie przyciskiem restartu, aby dostać nowy układ.

Najczęściej zadawane pytania

Czym jest OCaml?

OCaml to funkcyjny język programowania używany w środowisku akademickim i w przemyśle. MariOCaml pokazuje, że po skompilowaniu do JavaScript może napędzać pełnoprawną grę w czasie rzeczywistym.

Czy poziomy są zawsze inne?

Tak — poziom jest generowany losowo przy każdym wczytaniu, więc każdy restart daje nową mapę.

Kto stworzył MariOCaml?

Matthew Hsu, Liam Bui i Ashley Xue. Projekt jest open source na licencji MIT.

Więcej gier do zagrania