Ma-Pe-Ma / Lode-Runner-2020

A remake of the classic '80s puzzle game!
https://mapema.hu/en/docs/hobby/lode-runner/game
MIT License
18 stars 0 forks source link
game opengl

Lode Runner 2020

status license

WASM Windows Linux Android

This is a remake of the classic '80s puzzle video game (and its hardcore sequel's too)! The original was developed by Douglas E. Smith in 1983 for the Apple 2 computer. This version is based on the NES port.

Before playing check out the manual of the original version. I could not find the manual for the NES port of Championship Lode Runner but here you can check out the Apple II's manual.

In this ReadMe you can find info about general aspects of the project and about the desktop (Windows/Linux/browser) version. For the details of the Android port please click here!

Browser port

The game can be played in browser here!

Gameplay video

Gameplay Video

Features of the game

Differences from the original (NES) version:

The levels are ripped from the original Apple II version. The NES port has only 50 levels and this remake includes the missing 100 levels too. Note: The levels ported to the NES are not 100% identical to the original ones, as some rows or columns are missing in the ported levels. If you have the proper NES levelset I will happily include it.

A conspicious difference about the collision detection: in the original when there are 3 guards circling around a ladder, they do not stop, while in this version they do, but this does not effect the gameplay much, I think...

Extra features:

Missing Features:

Summarizing what I did not create in this project:

Every other feature was developed by me (using existing libraries).

Compilation help

Clone the project with its submodules:

git clone --recurse-submodules -j8 https://github.com/Ma-Pe-Ma/Lode-Runner-2020.git

A CMake project is added to the repository which should configure and then build without problems.

The game requires the following dependencies (which do not need further configuring):

To use video recording capabilites FFMPEG (avformat, avutil, avcodec, swscale, swresample) has to be linked. The process is explained in the CMakeLists (only dowloading and unpacking to the right place are required).

The game should compile without problems to WebAssemby build with Emscripten.

Controls

The game uses XInput API for controller handling.

Keyboard        Controller      Effect

arrows      left stick      moving/change game mode at main menu
q       LB/LT           dig to the left
w       RB/RT           dig to the right
esc/enter   start           pause, skip intro/outro
space       back            change level during gameplay (just like in the original)

p       -           take screenshot
r       -           start/end recording gameplay video
c       -           show configurer dialog

alt + enter     -               change window mode (full or windowed)

Downloading and running built versions

Check out the release section you can find simple and video recording versions. Choose the one that you want!

Just simply unpack the 7z archive and launch the "Lode Runner.exe".

You can also find the latest builds here which are delivered by Actions.

For the Android notes please check the aforementioned ReadMe.

Configuring the game

In the root folder there is a simple txt configuration file in which you can change features of the game. Every entry has a description for it.

ImGUI Configurer

On the desktop and browser ports a simple imgui configurer dialog is available (which can be shown by pressing the 'C' button). Here you can specify the same parameters as in the config file but they cannot be saved.

Championship Lode Runner

To play with this version you just have to set the proper option in the imgui configurer or edit the proper line in the config file.

Hardware and software requirements

The WASM port should run without problems in modern browsers.

For the desktop version your graphics card has to support OpenGL 4.6 to run it. You also need to install Visual Studio x64 redistributables (vc_redist.x64) from Microsoft's site.

Developer Notes

This was my first complex project since I started programming. My earlier efforts were limited to calculating/solving math problems.

This was a good starting project as I learned a lot about programming and designing code while making it.

The project has been restructured numerous times since then and there are only a few parts left which could have been implemented better but cleaning them up may not worth the effort now.

But altogether I'm satisfied with the result.

Screenshots

Desktop version

            Lode Runner             Championship Lode Runner

Android version

Future tasks for this project:

Backlog:

Have fun playing with it!