A downloadable game for macOS and Linux

Rufaswap is a simple permuted picture puzzle where the challenge is to restore the picture elements to their proper order. Two elements are selected with cursor clicks to initiate a swap. User controls the level of difficulty.
It uses a thin SDL2 binding from Dan Vazquez, a thin OpenGL binding from "Lumen", a PNG reader for Ada by Stephen Sanguine, and SFML-Audio (because of its elegant audio interface).
Works on Macs running OS-X and PCs running GNU/Linux.

At the command line type: rufaswap_gnu ( or rufaswap_osx )
To swap two blocks, click the cursor on them. The first selection is highlighted, whence you may either click it again to deselect, or click another to swap.
Press (n) or (p) to go to the Next or Previous picture;
Press (m) or (f) to make puzzle harder or easier [More or Fewer slices];

Press (u) to toggle Uneven random partitioning;

Press (esc) to quit.

You may use your own PNG picture files or the ones provided.

Mac users note that this game may be initiated in two ways. First, by opening a terminal, navigating to the <install_directory>, and typing rufaswap_osx on the command line. Second by navigating to the installation directory in Finder and clicking the "rufaswap.app" icon named "RufasSwap".

More information

Published 1 year ago
PlatformsmacOS, Linux
Tags2D, Casual, kids, Relaxing, Singleplayer

Install instructions

Unzip the archive and you will see a new directory appear with a name like <bundle+date>", that you should rename to something like <install_directory>.

Users should then cd to <install_directory>, then, at the command line, type the executable name to start the game.

Mac users may navigate to the installation directory in Finder and click the "rufaswap.app" icon named "RufasSwap".

The <install_directory> should contain subdirectories named "data", "libs", "pix".

## Build instructions for Rufaswap

Two [pre-compiled] binary executables are provided, one for gnu/linux and one for OS-X. The static OSX executable is intended to have minimal runtime requirements: rufaswap_osx. The other binary, rufaswap_gnu, is intended to run on 64-bit linux in the presence of the directory "libs", which contains some dynamically loaded libraries that can be, but need not be present on a target system: SDL2, SFML.

Build scripts are now described:


<ocmp.sh>: build script for generating a portable executable that will run on most OS-X platforms whether or not they have non-standard libraries such as SDL2, SFML installed. I used this to build the executable that I deliver, named rufaswap_osx.


<lcmp.sh>: utilizes the relocatable libraries that I deliver in this bundle under ./libs/. I use this to build the gnu/linux executable that I deliver, named rufaswap_gnu, which should run in the presence of ./libs, whether or not your system has the libraries in it. If this binary does not run on your linux distribution, then you will have to try to recompile it yourself with this script.


swap7apr17.tar.gz (114 MB)

Leave a comment

Log in with your itch.io account to leave a comment.