Home

Awesome

screenshot

WorldCupSokerban

This is a soccer-themed, 3D sokoban puzzle game that runs on Windows, Mac OS-X and GNU Linux

Click on the large 7zip file under releases for all source & binaries, or try this link:

https://github.com/fastrgv/WorldCupSokerban/releases/download/v3.6.8/sb16dec24.7z

Type "7z x filename" to extract the archive.

GitHub Note: Please ignore the "Source code" zip & tar.gz files. (They are auto-generated by GitHub). Click on the large 7z file under releases to download all source & binaries (Windows & Linux). Then, type "7z x filename" to extract the archive.

===================================================================================

alternate download link:

video soker-ban girl:

World Cup Sokerban


What's new:

ver 3.6.8 -- 16dec2024

See complete revision history at end of file.

WorldCupSokerban Description

This is a soccer-themed, 3D sokoban puzzle game that includes 3 embedded solvers.

It has undo (u) and restart (r) functions. Comes with many puzzle files, each typically having dozens of "levels". The next (n) and previous (p) keys move between levels. The (Lshft) and (Rshft) keys move between the different puzzle files (there are currently 60). The (z) key creates a setpoint (reZero) so that subsequent restarts restore that setpoint.

To move the "pusher" use the arrow keys, ijkl keys, or wasd keys. The objective is to kick all the red and blue balls into the goal nets. Notice that these strange soccer balls roll in two perpendicular directions only!

The (=)-key or the (,)-key or the (.)-key trigger embedded solvers that helps you when you get stuck. You can single-step to a final solution, or to just part way toward the solution, in order to give you a hint. This feature is essential to learning to solve on your own.

Note: all 3 solvers can fail if the puzzle is too large or difficult, so the default timeout is 10 seconds.

The mouse can be used to control the game viewpoint. The mouse wheel adjusts the eye distance; a left button drag changes view angle; a right button click restores the default view settings.

Works on PCs running Windows, OSX, or GNU/Linux.


Features:


Embedded Autosolver Function

Three autosolvers are now embedded within this application so that pressing the ("=")-key at any time initiates an attempt by the primary solver [puller] to solve the present state of the current puzzle within a limited amount of time. If successful then you will see an onscreen prompt to continue to press the same key to single-step toward the solution. Otherwise you will see no such prompt. These embedded solvers are good for small and dense layouts; but not so good at large, sparse, or difficult puzzles.

Similarly, the 2nd alternate solver [ibox] is initiated with the (",")-key. The 3rd alternate solver [hbox5] is initiated with the (".")-key and is the most capable.

Thus, you can give yourself a headstart toward a correct solution by limited use of this feature. Once you think you can solve it yourself, stop using the equal-key and proceed manually. This really helps when you cannot see what your next move should be.

Embedded autosolver failure might imply the present state of the puzzle is impossible to solve, or simply that the autosolver failed due to time constraint, or insufficient capability.

Finally, a single command-line argument (decimal float) specifies a persistent timeout interval to wait for the internal autosolver before giving up. The default is 10.0 seconds. A new setting remains in effect until a different setting is specified using another command-line argument.

For example:

* binw64\sokerban.exe 30.0

initiates the Windows version using 30 second timeout rather than the 10 second default.

The default method used by embedded solver Hbox5 [ (.)-key ] can now be reset using the k-key, where k is 0..5.

Summary:

solver keys [within parentheses]:

6 method options for hbox5:

For further details see:

External Autosolvers

There are three external autosolvers without time constraints, and larger memory constraints. There are many large or sparse puzzles the first two solvers cannot handle, but they are pretty good at solving the small dense ones. Hbox5 is the most capable.

To run type: [exeName puzzleFile LevelToSolve]

EG on windows type:

external_solvers\iplr3r.exe games\pico_22.sok 3

...to solve the 3rd level in file pico_22.sok.

EG on linux type:

external_solvers/hbox5_gnu games/pico_22.sok 3

EG on OSX type:

external_solvers/ibox3r_osx games/pico_22.sok 3

what is special about this project?

It uses the Ada programming language and modern OpenGL methods, with textures, shaders and uniforms. Compiles and runs on Windows, OSX, GNU/Linux systems.

Focusing on portability, transparency, and open source freedom, this project relies exclusively on F.O.S.S. tools: a thin GLFW3 binding, a thin OpenGL binding, a PNG reader by Stephen Sanguine & Dimitry Anisimkov, OpenAL Audio with a homebrew binding, and a GNAT compiler.

The linux-build can run on multiple Linux distros! The Windows build can run on Win10 + Win11.

I am short of testers, and would appreciate any feedback... Open source Ada developers are welcome to help improve or extend this app. Developer or not, send comments, suggestions or questions to: fastrgv@gmail.com


Setup & Running:

Mac/OSX users should read "osx-setup.txt". Windows users should read "windows-setup.txt".

Unzip the archive.

After the archive is unzipped...


Open a commandline terminal, and cd to the install directory.

You will see a new directory, that may be renamed.

Users should then cd to the install-directory, then, at the command line, type the executable name to start the game.


Mac users type:


Windows users type

from the installation directory. Or to set the standard default of 10 seconds wait before giving up for internal solvers type:


Linux users can type:

Here too,

sets internal solver wait to 30 seconds.

You can also run the windows EXEs on Linux under wine thusly:

Note: I suggest that Windows users DO NOT try running the linux executables under WSL [Windows Subsystem for Linux]; that mode is not supported. Simply use the windows version.

If an older Linux system complains that /dev/dsp/ cannot be opened, prepend the command with "padsp",EG: "padsp (ExeName)".


The install-directory should contain subdirectories named "data", "libs", and "games".

The linux executable must have access to ./libs unless your system already has the libraries it contains. Then, at the command line type:

Remember, the WASD or IJKL or arrow keys control movements.

View Controls:

Also, the keyboard controls are:

You can download my hbox5 stand-alone sokoban solver for greater details:

Other controls, as indicated by the help screen:

Note also that a specific sokoban file may be loaded by naming it on the terminal window command line with the following syntax:

where [sokerban] can be sokerban_gnu, sokerban_osx or binw64\sokerban.exe

For example on linux you could type

to tackle level 2 from the original_50 sokoban file. In this single-file mode, you can still use the next-level(n) & previous-level(p) keys, however, the next/previous files (R-shift/L-shift) keys are disabled.

================================================================

Build Requirements:

================================================================

Build instructions:

cccgnu.sh/cccosx.sh/ccc.bat are the build scripts for the autosolvers "hbox5", "iplr3r" and "ibox3r".

The following build scripts work for GNU Ada [with its own g++], which are in the ~/buildScripts/ directory:


Please read ~/docs/gnuAdaOnWindows.txt.



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 sokerban, which should run in the presence of ./libs.


If the delivered linux binary does not run...

if you have wine installed, this should work:

OR you can:


License:

This app is covered by the GNU GPL v3 as indicated in the sources:

Copyright (C) 2024 fastrgv@gmail.com

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You may read the full text of the GNU General Public License at http://www.gnu.org/licenses/.


Media Files:

General Note

The particular choice of sound and image files delivered are not essential to the function of the game and are easily replaced. This software is primarily intended as a tutorial example of modern OpenGL methods. The only requirements are that sounds be in WAV format and images be in PNG format.

It is my intention to use media with copyrights or licenses that are compatible with GPLv3. Please notify me if you believe there is an incompatibility, and it will be removed ASAP, eg a CC-by-NC license is NOT GPL compatible.

SoundFiles

Andres Cantor sound downloaded from YouTube and trimmed with FFMPEG. Kick sound is from freesound.org so is covered by the Creative Commons CC0 License; see the file creativeCommons.txt.

ImageFiles

...for textures were freely [no copyright indications] available on google images. Files for text-textures were created using gimp and are also covered by the GNU GPL v3 license. The pusher man is modified from a skin by Anders Widell, so thanks to Anders for that. An alternate pusher is also available that was obtained from OpenGameArt.org and created by felixschuett with a CC0 license.


Download Site for all my games:

https://github.com/fastrgv?tab=repositories https://www.indiedb.com/members/fastrgv/games https://fastrgv.itch.io https://sourceforge.net/u/fastrgv/profile/ https://gamejolt.com/@fastrgv/games

Tags: sokoban, puzzle, soccer, football

Older Revision History:

ver 3.6.7 -- 4jan2024

ver 3.6.6 -- 16dec2023

ver 3.6.5 -- 14dec2023

ver 3.6.4 -- 13dec2023

ver 3.6.3 -- 7oct2023

ver 3.6.2 -- 24sep2022

ver 3.6.1 -- 16sep2022

ver 3.6.0 -- ddmmm2021 (not delivered)

ver 3.5.9 -- 29oct2021

ver 3.5.8 -- 14oct21

ver 3.5.7 -- 24mar21

ver 3.5.7 -- 4mar21

ver 3.5.6 -- 20feb21

ver 3.5.5 -- 27oct20

ver 3.5.4 -- 20sep20

ver 3.5.3 -- 10jun20

ver 3.5.2 -- 3apr20

ver 3.5.1 -- 14mar20

ver 3.5.0 -- 20jan20