From Free Software Directory
This is the approved revision of this page; it is not the most recent. View the most recent revision.
Jump to: navigation, search


3D block slider puzzle for kids...looks like a 2x2x2 rubic cube BUT it's a slider not a twister

    1. Seven Game Introduction

Seven is NOT another Rubic's Cube. It's a whole new kind of puzzle. A 2x2x2 arrangement of cubelets with one missing allows sliding permutations. After a randomization, the goal is to restore the cube to its original configuration based on color and numeric hints.

Dragging the cursor rotates the cube for a better view angle.

Clicking the cursor on a cubelet adjacent to the empty space will slide it into that empty space. On laptops you may also hit <return> when the cursor is on the cubelet of choice to select and slide it. On MacBooks, a 2-finger tap on the touchpad does the job.

As indicated on screen, <h> will toggle a help screen, and <c> will toggle color schemes.

Works on Macs running OS-X and PCs running GNU/Linux.

Uses the Ada programming language and fully modern OpenGL methods with textures, shaders and uniforms. Achieves version 3.3 core profile contexts, and compiles and runs on both GNU/Linux and Mac OS-X systems. This project serves as a testbed for learning the complexities of modern OpenGL and GLSL.

Focusing on portability and freedom, no coding effort or compromise has been made to accomodate proprietary operating systems. It relies on a thin SDL2 binding from Dan Vazquez, a thin OpenGL binding from "Lumen", a PNG reader by Stephen Sanguine, and SFML-Audio (because of its elegant audio interface).

The Ada bindings used are thin, so the relationship to C++ methodology is quite transparent. Developers should note that these Ada bindings are usable as a standalone library for most any OpenGL project that uses Ada.


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

Linux users should then cd to seven_install_directory, then type "seven_gnu" to start the game. You may also double click the icon for seven_gnu in file manager.

Mac users note that this game may be initiated in two ways also. First, by opening a terminal, navigating to the seven_install_directory, and typing "seven_osx" on the command line. Second by navigating to the installation directory in Finder and clicking the "" icon named "Seven". Note also that a 2-finger-swipe simulates the mouse wheel on a MacBook.



Verified by

Verified on


Verified by


Verified on

1 November 2016

Leaders and contributors

Rufas Cube (Fastrgv)primary developer

Resources and communication

AudienceResource typeURI

Software prerequisites

Required to buildgnat

This entry (in part or in whole) was last reviewed on 1 November 2016.


Property "Submitted by" (as page type) with input value "{{{Submitted by}}}" contains invalid characters or is incomplete and therefore can cause unexpected results during a query or annotation process.
"{{{Submitted date}}}" contains an extrinsic dash or other characters that are invalid for a date interpretation.

"primary developer" is not in the list (Maintainer, Contributor, Developer, Sponsor, Unknown) of allowed values for the "Role" property.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the page “GNU Free Documentation License”.

The copyright and license notices on this page only apply to the text on this page. Any software or copyright-licenses or other similar notices described in this text has its own copyright notice and license, which can usually be found in the distribution or license text itself.