Über Mario.js — World 1-1 Remake
Mario.js ist ein Klon des ersten Levels des NES-Spiels, den der Entwickler Garrett Johnson als Übung im Engine-Bau geschrieben hat. Darunter steckt kein Spiele-Framework: Die Hauptschleife, das Scrolling, die Kollisionserkennung, die Sprite-Animation und die Zeichenreihenfolge wurden alle von Hand in purem JavaScript geschrieben.
Dadurch eignet es sich hervorragend, World 1-1 noch einmal zu spielen – das Level, das einer ganzen Generation beigebracht hat, wie Jump-'n'-Runs funktionieren, und das ganz ohne eine einzige Zeile Tutorialtext. Der erste Goomba lehrt dich das Springen, der erste ?-Block zeigt dir, dass man von unten dagegenschlagen muss, und die Rohre verraten dir, dass die Welt Geheimnisse verbergen kann.
Die eigenen Notizen des Autors erklären das Design: Gegner werden etwas aktiv, bevor sie auf dem Bildschirm erscheinen, Kollisionsboxen sind ein wenig großzügiger als die Sprites, und die Ebenen werden in fester Reihenfolge gezeichnet – Hintergrund, Requisiten, Items, Gegner, Projektile, Gelände, Spieler und zuletzt die Rohre, damit Mario in sie hineingleiten kann.
Steuerung
| Eingabe | Aktion |
|---|---|
| ← → | Gehen |
| Z | Rennen |
| X | Springen |
| ↓ | In Rohre gehen / ducken |
Funktionen
- Pixelgenaues Layout von World 1-1, einschließlich des versteckten Rohrs und des Fahnenmasts
- 60-fps-Engine, von Grund auf ohne Frameworks geschrieben
- Kollisionsboxen im Originalstil und Gegner, die kurz vor dem Einscrollen ins Bild aktiv werden
- Super Pilze, Feuerblumen, Sterne, Münzen und zerbrechliche Ziegelblöcke
Tipps
- X springt und Z rennt – das ist bei vielen PC-Spielen genau umgekehrt, gib deinen Fingern also einen Moment, sich daran zu gewöhnen.
- Halte Z gedrückt, während du von der obersten Stufe der letzten Treppe abspringst, um den Fahnenmast so weit oben wie möglich zu erwischen.
- Drücke ↓ auf den Rohren – eines davon führt wie im Original an einen besonderen Ort.
- Klicke einmal ins Spiel, falls die Tasten nicht reagieren; der Frame braucht den Tastaturfokus.


