Skip to content


Switch branches/tags

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

Robin's Rescue

Robin's Rescue is an example point and click adventure game made using the LGPL licenced SLUDGE engine. This game was made over the course of several days and has a number of rough edges. Wear gloves when handling!

Big thanks to Mim for character designs and animations, and a special thank you to all my Patreon supporters (see for details).

In this file, you can find:

  • Licence information for code, assets and third party assets
  • Instructions for playing the game
  • Instructions for compiling and/or running the game
  • Notes on how to navigate the game's codebase and resources
  • Some helpful/related URLs

I hope you find something useful from playing Robin's Rescue and exploring its code!

  • Cheese


All source code within this repository is licenced under the GNU Lesser General Public Licence 3.0, allowing you to use, share, and modify any or all parts of the codebase so long as they retain this licence and that you make source changes available to anybody you distribute modified versions to. See the file COPYING for the full licence. Yay!

Excluding the files noted below, all images and audio within this repository are licenced under Creative Commons Attribution 3.0 Unported, copyright and created by Josh "Cheeseness" Bush and Miriam "Mimness" Roser. Under these terms, you are free to use, share, make derivatives from the assets in this repository (the items noted below are subject to their own licence requirements), so long as they include a link to the above licence, credit us and indicate any changes that were made. Yay!

Third Party Sound Effects

The timing and volume of these samples has been modified to suit Robin's Rescue and they have been reencoded as OGG Vorbis audio.

Third Party Music Tracks

These music tracks have been reencoded as OGG Vorbis audio.

Third Party Fonts

This font has been rendered to a bitmap font and then converted to SLUDGE's DUC spritebank format.

  • Medieval Sharp wmk69, licenced under SIL Open Font Licence (see sprite_sources/medieval_sharp for TTF, sources and licence)

Play Instructions

Play as Maid Marian and rescue Robin from Sherrif Nottingham's castle.

  • Left click to move and interact.
  • Right click to open inventory.
  • . (period) to skip dialogue.
  • F to show floor region outlines (for debugging).
  • B to show hotspot outlines (for debugging)

Running The Game

If you are using one of the packaged versions of this game available from the Robin's Rescue repository, double check the following platform specific notes:


If you want to run the game without the bundled libraries, be sure to set the SLUDGE_DATADIR environment variable to point to the bin/shaders folder. This environment variable is not a part of vanilla SLUDGE. A diff of source changes can be found in the sludge folder.

If you'd rather run the game with your distro's SLUDGE packages or with a copy of the SLUDGE engine that you've compiled yourself, call the sludge-engine executable with data/robins_rescue.slg as its last argument and it should run swimmingly (ho ho ho).


Double click SLUDGEEngine.exe, or drag and drop Gamedata.slg onto SLUDGEEngine.exe.

Compiling The Game

If you have downloaded the game's source to compile yourself, you can open robins_rescue.slu in the SLUDGE Project Manager and select Compile from the Project menu to compile the game.

Once compiled, you can select Run Game from the Project menu to start the game.

Understanding The Source Code

Robin's Rescue has very few code comments (this may change in the future!). Here are some notes to help you navigate the codebase and resources.

Code Files

  • robins_rescue.slp is the SLUDGE project file for the game. It is generated by the SLUDGE Project Manager application and contains details on files that are a part of the project, and game specific settings.
  • init.slu includes game initialisation, UI logic code and scene transition code.
  • functions.slu includes code for generic functions that aren't implementation specific.
  • inventory.slu includes inventory specific rendering and logic code.
  • audio.slu includes logic for switching and fading between music tracks as well as variables pointing to audio assets.
  • scenes.slu includes functions that represent scenes, containing scene specific configurations (loading backgrounds, floor regions, etc.) as well as hotspots for scene exits.
  • objects.slu includes objectTypes that represent in-game objects (interactive and non-interactive). Each object includes a getDefaultCostume() function for accessing a visual representation. objects may also include. actionuse and actionInventoryUse events for handling user interaction logic and addtional events getting inventory specific visual representations.
  • hotspots.slu includes objectTypes that represent non-visual regions of interactivity (or regions which are represented by part of a background image). Each object includes an actionUse and/or actionUseInventory event for handling user interaction logic, and most include an isComplete() function for determining whether the puzzle or task it represents is completed.


  • The audio folder contains all audio (sound effects and music) assets in OGG format.
  • The backgrounds folder contains all background images in PNG format, as well as all floor region filed in SLUDGE's FLO format.
  • The sprites folder contains all compiled spritesheets in SLUDGE's DUC format.
  • The sprite_sources folder contains TGA sources for all sprites and sprite animations. These are not necessary to compile the game.
  • The sludge folder contains information on SLUDGE licencing and Linux specific engine code changes for creating portable builds.

Helpful URLs


Robin's Rescue, an example point and click adventure game made using the SLUDGE engine







No packages published