Skip to content

Latest commit

 

History

History
77 lines (55 loc) · 1.78 KB

README.md

File metadata and controls

77 lines (55 loc) · 1.78 KB

Super Mario Bros

Made for educational porpuses. No game-engine, only C++ and SDL2.

I've used an ECS architecture taking cues from: https://github.com/redxdev/ECS

  • Author: Fernando Raviola
  • Twitter: @fernandoraviola

Contributions are welcomed!

Controls

  • AWSD to move
  • LSHIFT to sprint
  • E to enter the level editor

Build

I've only tested this on macOS Catalina but should work in Windows and Linux as well.

Prerequisites:

$ brew install cmake sdl2 sdl2_image sdl2_ttf sdl2_mixer 
$ make build run

# or

$ mkdir build
$ cd build
$ cmake ..
$ make
$ cd ../bin/  
$ ./smb-

Webassembly (thanks @parwenaker!)

Either install emsdk and run

$ mkdir build
$ cd build
$ emcmake cmake ..
$ make

or build with Docker

$ docker run --rm -v $(pwd):/src -u $(id -u):$(id -g) emscripten/emsdk emcmake cmake -S . -B build
$ docker run --rm -v $(pwd):/src -u $(id -u):$(id -g) emscripten/emsdk cmake --build build

Start a webserver in the bin folder

$ cd bin
$ python -m SimpleHTTPServer 8000
$ open http://localhost:8000/smb-.html

Screenshots

Game screenshot Loading screenshot Editor screenshot

Level editor

alt text