Open Source remake of a classic match 3 arcade game.
The original game was named Swing Plus -Total Mind Control (Marble Master) and was developed by Software 2000 a German game developer and publisher. It was released in 1997 for PC, PlayStation and Game Boy Color.
My goal was to bring this masterpiece of arcade action back to life. I wanted to recreate the original graphics and game mechanics as accurately as possible. The game is written in Java and runs on Windows, Linux, Mac and Android.
⭐ Spiffy addictive gameplay
⭐ Hot Seat multiplayer mode
⭐ 45 Challenging Levels
⭐ Offline and online highscore
⭐ Particle and sound effects
⭐ Multilingual (German and English)
The objective is to simultaneously disband as many heavy balls as possible. To do this, simply place three balls with the same color in a horizontal row. Now these and all adjoining balls of this color will disappear. Five balls of the same color in a column will shrink to one heavy ball. Every 50 balls you reach the next level and a new color will be added. Pay attention: One stack can only take up to eight balls.
←/→: Move the crane
↓: Drop a ball
N: New Game
B: Change the ball set
E: Disable particle effects
ESC: Exit the game
F2: Toggle Fullscreen
S: Change game size (experimental)
🚀 Manual Setup
If you do not like the setup, you can use the portable zipped version.
Then you have to install Java by your own, which is bundles with the setup.
⚠ Cross Platform Zip - Java JRE not included!
💡 Choose the setup for your platform, which is the preferred installation option.
Only advanced users should choose the Download Zip, wich needs ab installed Java JRE.
The game needs an installed Java runtime environment (JRE) with at least 8.
You can get it for any platform here.
For example on Windows choose:
- Operating System:
- Package Type:
8 - LTSAnd download the
.jar wile type is linked with the
java, you can simply start the game by opening the
Otherwise, start the game with console:
java -jar XSwingPlus.jar
⚙ Configure IDE
To start developing, import the workspace als Gradle project in your IDE.
All dependencies are included in the
lib folder. They should be automatically referenced by Gradle.
To start the game simply run the Gradle task:
This will compile the game and start the game with splash Screen (class
If you use IntelliJ IDEA you can also use the predefined run configurations:
You can build the game for distribution wich wil generate a runnable jar which includes all dependencies, resources and natives.
This will packe the game to the output folder:
💡 Keep in mind, that the game not only needs the resources in the
resfolder, but also the native LWJGL bindings for your platform (
.jnilibfor Mac). The
shadowJarwill copy all natives for all platforms to the build dir for you!
This remake is a free fan project. Software 2000 is not involved in any way.
The company Software 2000 filed for bankruptcy in 2002. But the Swing brand, graphics and sounds
may still be licenced by others. I tried to contact someone from the original team to get permission
to use the original theme - but without success. Another clone of the game for Android and IOS was
also available under the name Color-X-Plode.
The code is licenced under MIT License.
I started the development in 2007 - A time when git took its first steps and version control wasn't the first thing to do. This repository was restored from zipped code backups between 2007 and 2013.
Thank you, Michael Motschmann (MiMo57m), for the great background music tracks.
- Slick2D - 2D Java game library based on LWJGL.
- LWJGL - Lightweight Java Game Library.
- Nifty GUI - Open Source Java OpenGL GUI.
- Java 8 - Programming Language and SDK.
📋 Command Line Arguments
The game has several command line arguments wich can be overwritten. This may be helpful for development or troubleshooting.
# Game resolution = 1024 x 768 fullscreen = false musicVolume = 20 fxVolume = 100 # Startup showOptionPanelOnStart = true checkForUpdates = false uploadHighScore = false # Debugging debug = true configFile = somePath/config.json # Advanced useNativeMouseCursor = false
Is easy to change graphics ot sounds. Just replace them in the
For the balls, there is second theme
/res/balls2.png which can be activated by the key B.
For theming there is a JSON configuration which stores all UI based settings:
Here you can change sounds and images and change settings like their position.
This configuration can even store multiple configurations at one.
Just change the
"configSetIndex": 1 (starting with
0) to switch to a HD version with 16:9 aspect ratio
with a higher resolution.