A downloadable game

Download NowName your own price

SOKO64+ is a  game written in ugBASIC and that runs on various 8-bit home computers like AMSTRAD CPC 664, ATARI 400/800, ATARI XL/XEGS, COLECOVISION, COMMODORE 128, COMMODORE 64, DRAGON 32/64, MSX, OLIVETTI PRODEST PC128, SEGA SG-1000, THOMSON MO5, THOMSON TO8,  TRS-80 COLOR COMPUTER 1/2/3, ZX SPECTRUM 48K.


Sokoban (Japanese: 倉庫番 or "warehouse keeper") is a puzzle-type video game in which the player pushes crates through a maze and tries to place them in their assigned location. It was created in 1980 by Hiroyuki Imabayashi and it has been ported for numerous platforms, especially home computers and personal computers. 

GAME PLAY

The player controls a character who can move in four directions within a closed area, with an irregular and different shape at each level. 

The area is ideally divided into square boxes and the character moves from one box to another. Crates are scattered around the area, the number of which varies depending on the level; the character can push a crate by moving towards his square, if there is free space behind it. 

Only one crate can be pushed at a time, no multiple crates in a row, and crates cannot be pulled. Some boxes, equal in number to the crates, are marked with markers and represent the objectives: to complete a level the player have to push the crates until they occupy all the indicated positions

The player can move the character using first available joystick (on all targets but Thomson, Olivetti Prodest and Zx Spectrum) or using the arrow keys on the keyboard.

The player could easily end up in dead-end situations, for example if he/she pushes a crate against a corner so that it will be impossible to move it further. In this version, if the player gets stuck, all he/she have to do is give up and start the level over again. By pressing FIRE on joystick or SPACE on keyboard, and then UP, you can repeat the current leve. Otherwise, you can move forward or backward on levels.

ORIGINAL VERSION 

SOKO64 is the original version written by Emanuele Feronato in ugBASIC and it was developed for the Commodore 64 target (c64). It includes 64 8x8 tricky levels by David Skinner. All levels are unlocked from the beginning, for you to try them all. Solved levels will be marked with green. 

SOKO64+ is a new version of the same game by Marco Spedaletti: starting from that source code , in order to run on many ugBASIC's targets, with just a single source code.

The source code is available on this repository.

HOW MUCH HAS ugBASIC HELPED?

This cross-platform game would not have been possible without using ugBASIC: it is an isomorphic language and it has cross compilers that works on Linux and Windows, that directly converts high level algorithms into the assembly equivalent for the given CPU / computer.


ugBASIC is able to handle graphics with double buffering, to use directly PNG/JPG and other standard image formats, to manage additional RAM banks, to read multiple keyboard keys at the same time and to do inline assembly. The labor and time saving is such that it allows to create professional and high performance games in a short time.

Developing for multiple platforms requires very little effort because the source does not have to be adapted or, like this case, it can be adapted limited to the hardware dependent aspects. 

With a single source code you can obtain programs for multiple retro computers, even very different from each other. Moreover, each target can have a dedicated optimizer, which allows to achieve very interesting results while leaving the BASIC code fully readable. 

Updated 4 hours ago
Published 2 days ago
StatusReleased
Rating
Rated 5.0 out of 5 stars
(1 total ratings)
Authorspotlessmind1975

Download

Download NowName your own price

Click download now to get access to the following files:

SOKO64+ for Amstrad CPC 664 (dsk) 190 kB
SOKO64+ for ATARI 400/800 (atr) 90 kB
SOKO64+ for ATARI 400/800 (xex) 23 kB
SOKO64+ for ATARI XL/XEGS (atr) 90 kB
SOKO64+ for ATARI XL/XEGS (xex) 23 kB
SOKO64+ for COLECOVISION (rom) 32 kB
SOKO64+ for COMMODORE 128 (d64) 170 kB
SOKO64+ for COMMODORE 128 (prg) 21 kB
SOKO64+ for COMMODORE 64 (d64) 170 kB
SOKO64+ for COMMODORE 64 (prg) 46 kB
SOKO64+ for DRAGON 32 (bin) 15 kB
SOKO64+ for DRAGON 64 (bin) 15 kB
SOKO64+ for MSX (dsk) 31 kB
SOKO64+ for MSX (rom) 32 kB
SOKO64+ for OLIVETTI PRODEST PC 128 (k7) 20 kB
SOKA64+ for SEGA SG-1000 (rom) 24 kB
SOKO64+ for THOMSON MO5 (k7) 20 kB
SOKO64+ for THOMSON TO8 (k7) 20 kB
SOKO64+ for TRS-80 COLOR COMPUTER 1/2 (bin) 16 kB
SOKO64+ for ZX SPECTRUM 48K (tap) 19 kB
SOKO64+ for TRS-80 COLOR COMPUTER 3 (bin) 17 kB
SOKO64+ for TRS-80 COLOR COMPUTER 3 (dsk) 157 kB

Comments

Log in with itch.io to leave a comment.

Cool!
Enterprise 128k version is possible?

Hi SlashNet, and thank you for the comment!

Not actually because ugBASIC does not support this model of computer, yet: however, it is possible that it may do so in the future. 

The source code was written without dependencies on any specific hardware, and so it should be easy to port it to Enterprise 128, when it will be supported.

Click here to see what hardware is supported by ugBASIC, and there is also a roadmap of future developments.