This is a typical Sokoban game where the player need to move the boxes to place them onto the targets. The player can interact with the game by using the keyboard but also with the HUD on the bottom of the screen. To help the player to have a global view of the level, he can zoom-in and zoom-out using either the HUD or the scroll of the mouse.

We added the possibility to save and load a current game using a basic ASCII save file.

The game can manage the levels dynamically. It’s loading them from the Resources/Levels/ folder. A level need to be named : level_X.sok where the X is the number of the level. The number need to follow each others.




  • One player
  • Number of box = Number of target
  • Board game is surrounded by wall that can be passed
  • The target can’t move
  • The player can move in 4 directions: up, down, right and left
  • The boxes can be moved by the player in 4 directions: up, down, right and left
  • The player move the boxes by pushing them.
  • The player can only push one box at a time. Two adjacent boxed can’t be moved
  • The level is finished when the player placed all the boxes on the targets
  • A box can be put on any target


C++ and OpenSceneGraph (OpenGL framework)


Only on Windows.


[github-profile username=”dburihabwa”] [github-profile username=”belphemur”]