Wiki

Clone wiki

Karamball / Home

Karamball (on paper)

Karamball (on paper) is a FREE unique action/puzzle game for bright heads and fast hands. It's available for Android tablets and Windows.

Authors: Conceptual design, programming, graphical design and level design by Rado1. Some levels were designed by Fedor and Ema C. Soundtrack Cylinder Six was composed by Chris Zabriskie.

Current version: 1.2, see the full version history

Download

Karamball for Android:

Android app on Google Play

Karamball for Windows can be downloaded from Game Jolt or from itch.io.

Please support further development by downloading, rating, putting comments and financial donation. Thanks!

Screenshots

Title screen Level Level Level Level Level Level Level Game over

How to play

Note: To achieve the best playing experience on Android tablet it's recommended to use a (high-precision) stylus.

Put the required amount of circle mass to a finish of the corresponding color. To change the direction of moving objects, create walls (lines) by dragging you finger on Android screen or by dragging a mouse pointer on Windows. Moving objects bounce all walls; either the walls appearing at beginning of level or walls created by user.

Each level has predetermined mass of circles to be put to finishes, time to accomplish the level, and maximum length of walls created by user. Level progress indicators:

  1. Remaining mass of circles to be put to finishes.
  2. Remaining time in seconds.
  3. Available length of user walls.
  4. The current level.
  5. Maximal number of stars achieved in previous runs of this level.

Object types and their meaning:

| - | - | Wall - bounces moving objects. User can create new walls by dragging mouse with LMB on Windows or by touching the screen on Android. circle | Circle - a movable object which should be placed to a finish of the same color. The displayed number indicates mass of the circle. finish | Finish - a place that absorbs circles of the same color or enemies. obstacle | Obstacle - a movable object which stands in the way or others and bounces the walls and other movable objects enemy | Enemy - a movable object that absorbs mass of circles and other enemies. It is consumed by finishes. mine | Mine - a movable object which explodes by touching with other movable objects. By explosion, a mine blowns away surrounding movable objects. bonus | Bonus - a movable object which when touched by circle, adds 1/3 to the remaining level accomplishment time. key | Key - by touching with a circle, opens all doors of the d\same color. door | Door - blocks entrance and disappears when a key of the same color is activated. accelerator | Accelerator - accelerates movable objects to the shown direction.

Customizing

Changing background music

Windows: To change the default background music, replace the soundtrack1.mp3 file in the installation directory by your own. In addition, you can put more music files with consequent numbers (soundtrack<number>.mp3) that will be played in a loop.

Android: Put one or more music files with filenames soundtrack<number>.mp3 to the /sdcard/karamball directory (or /sdcard/karamball_free directory for free version).

Creating new levels and changing existing ones

It is possible to modify existing levels, create new or delete some levels from the game. Level is defined in a text file and is named level<number>.txt. Level files are located in the install directory on Windows or in the /sdcard/karamball directory (or /sdcard/karamball_free directory for free version) on Android. The game requires continuous numbering of levels started at 1.

Level definition file uses the following format:

#!text

// line comment; from the '/' character until end of the line
/ comment_text

// level specification
# mass_for_success timeout max_length_of_lines

// color for texts, arrows, circles and finishes; default is black (0,0,0)
c r*255 g*255 b*255

// text displayed on level intro page; uses previously set color
t "Text" textX textY textSize*10 textRotation*100

// arrow displayed on level intro page; uses previously set color
> arrowX arrowY arrowSize arrowRotation*100

// wall
| wallX1 wall1Y1 wallX2 wallY2

// circle; uses previously set color
o circleX circleY circleSize circleVelocityX circleVelocityY

// finish ; uses previously set color
@ finishX finishY finishSize

// moving obstacle
+ obstacleX obstacleY obstacleSize obstacleVelocityX obstacleVelocityY

// enemy
x enemyX enemyY enemySize enemyVelocityX enemyVelocityY

// mine
* mineX mineY mineSize mineVelocityX mineVelocityY

// bonus
$ bonusX bonusY bonusSize bonusVelocityX bonusVelocityY

// key; uses previously set color
k keyX keyY keySize keySizeY keyRotation*100

// door; uses previously set color
d doorX doorY doorSizeX doorSizeY doorRotation*100

// accelerator
! accX accY accSize accRotation*100 accRotationVelocity*100

Karamball allows continuous debugging of the edited level file. Just create a level file, open the corresponding level in Karamball and each level reload reads the current version of the file (which can be updated in meantime).

Hint: To create a new level, you do not need to accomplish all the previous ones. Either create a new level as level 1 and when finished, copy it to the appropriate place, or alternatively, you can use a "hidden" button (I) on the Settings page to initialize all known levels to the accomplished state with one star obtained.

Updated