NetBlobbies

NetBlobbies

About NetBlobbies

NetBlobbies is a dropping-blocks game based on the Japanese game PuyoPuyo, and is similar to Tetris in some ways. The objective is to remove the blocks that fall from the top of the screen by arranging them into patterns. NetBlobbies allows you to play against the computer or against an opponent over the Internet.

System Requirements

NetBlobbies is a Java application and requires that you have a Java Virtual Machine (JVM) installed. The JVM must be compliant with JDK 1.1 or later. Macintosh users can get the latest version of Mac OS Runtime for Java at Apple's Java site. JVMs for many other platforms are available at Sun's Java site.

Installation

Unstuff, unzip, or unzip/untar the archive into a new directory. On a Mac, run the "NetBlobbies" application. On Windows, run the "netblobbies" batch file. On Unix, run the "netblobbies" shell script.

Rules

Colored blocks fall from the top of the board. Your goal is to prevent the blocks from reaching the top of the board by removing them. Blocks are removed by maneuvering the falling blocks so that they form groups of 4 or more of the same color. When this happens, the blocks in the group will be removed and any blocks above them will fall down. This may result in new groups of 4 or more of the same color, in which case they too will be removed. It is possible and beneficial to set up chain reactions so that many groups are removed at once.

There are two players in NetBlobbies; the second player is either computer-controlled or another person playing over the Internet. Your board is on the left side of the window; your oppenent's board is on the right side. When the pieces of one board reach the top of the window, that player loses and the other player wins. When you complete a group of 4 and remove those blocks, your opponent will receive grey penalty blocks on their board. These penalty blocks are not removed when they form groups of 4; instead a penalty block is removed when you form a group of 4 colored blocks and one of those colored blocks is adjacent to a penalty block. The number of penalty blocks sent to your opponent is greater when you remove more blocks; in addition extra penalty blocks are sent if you make a chain reaction.

If the above explanation is confusing, it may be useful to watch the computer play itself with the "Demo" option, described below. The rules are actually fairly simple once you've played a game or two.

Playing the Game

When first launched, a window will appear with the title "Select Game Options". To begin a game, choose the game option you want and click the "Start Game" button. "Single Player" is you against a computer-controlled opponent. "Demo" is two computer-controlled players playing against each other. This is useful for new players to see how the game works, or as a sort of animated background. "Listen for opponent" and "Connect to" are used for Internet games; see the networking section. Note that you can start multiple games and play them all simultaneously; you can play against two opponents at the same time if you're very good, or you can start a dozen demo games and fill your screen.

The falling blocks can be controlled using the following keys:
Move left: 'J' or '4'
Move right: 'L' or '6'
Rotate: 'K' or '5'
Drop: space or '0'

A single-player or demo game can be paused by selecting "Pause Game" from the File menu.

Network Games

You can play against another person over the Internet (or a local network). To do this one player will act as the server and the other as the client. The client will need to know the IP address of the server, and both players must agree on an IP port number. The default port is 12000, which is generally not in use, but if it is you can use any other port. The player acting has the server must select the "Listen for opponent on port" radio button (changing the port number if needed) and press the "Start Game" button. This will bring up a status window and wait for a connection from the client. The player acting as the client must select the "Connect to" radio button, fill in the address of the server and port if different from the default, and press the "Start Game" button. The client machine will connect to the server and the game will begin.

Customizing the Game

Many aspects of the game can be customized. Clicking the "Options" button in the main window brings up a window where you can change the number of different colored blocks, and the number of rows and columns in the board. Increasing the number of colors makes it harder to form groups.

You can perform more advanced customization by modifying the contents of the "Resources" folder. The "images.jpg" file contains all the graphics used for the blocks. The left 'column' of the image holds the normal block graphics, the 'columns' to the right contain the frames used as the blocks are removed. The first 'row' is the penalty block graphics. The width and height of each graphic is 16 pixels by default; it can be changed using the 'imageWidth' and 'imageHeight' parameters in the properties file (see below).

The "NetBlobbies.properties" file contains more advanced settings that you can change. Each line should be in the form 'name=value'; lines beginning with a '#' are ignored. The following is a list of recognized properties and their default values:
Name Description Default
imagesLocation Specifies the location of the image file containing the game's graphics. The 'images.jpg' file in the 'Resources' directory. (The exact string will vary because of differences in path separators among platforms, so it will be "Resources/images.jpg" on Mac OS and Unix, and "Resources\images.jpg" on Windows.
imageWidth The width of each individual frame in the images file. 16
imageHeight The height of each individual frame in the images file. 16
playerTickTime Time in milliseconds that it takes for a human player's falling blocks to drop one row. 500
aiTickTime Time in milliseconds that it takes for a computer-controlled player's falling blocks to drop one row. 250
dropTickTime Time in milliseconds that it takes for a human player's falling blocks to drop one row after the player has pressed the 'drop' key. 25
penaltyTickTime Time in milliseconds that it takes for falling penalty blocks to drop one row. 75
blobbieTickTime Time in milliseconds that it takes for blocks to fall one row when blocks underneath them have just been removed. 50
removeDelayTime Time in milliseconds that it takes for blocks to be removed after a group of 4 or more is formed. 200
backgroundColorRed Red component of the background color of the game window on a scale of 0 to 255. 255 (white)
backgroundColorBlue Blue component of the background color of the game window on a scale of 0 to 255. 255 (white)
backgroundColorGreen Green component of the background color of the game window on a scale of 0 to 255. 255 (white)
middleColorRed Red component of the color of the bar that separates the two boards of the game window on a scale of 0 to 255. 0 (black)
middleColorBlue Blue component of the color of the bar that separates the two boards of the game window on a scale of 0 to 255. 0 (black)
middleColorGreen Green component of the color of the bar that separates the two boards of the game window on a scale of 0 to 255. 0 (black)
rowMin The minimum number of rows offered as a choice in the options window. 8
rowMax The maximum number of rows offered as a choice in the options window. 20
rowDefault The default number of rows in the board. 15
colMin The minimum number of columns offered as a choice in the options window. 4
colMax The maximum number of columns offered as a choice in the options window. 10
colDefault The default number of columns in the board. 6
colorsMin The minimum number of colors offered as a choice in the options window. 4
colorsMax The maximum number of colors offered as a choice in the options window. Note that the images file must contain enough images to support this number of colors. 6
colorsDefault The default number of block colors. 4

Version History

1.0: March 17, 1999

Copyright

This program is made available under the terms of the GNU General Public License of the Free Software Foundation. There is no warranty whatsoever for this product, not even an implied warranty of merchantability or fitness for a particular purpose. You may copy, modify, and distribute this program with certain restrictions, see the included "License" file for details.

Feedback

Please contact me at bwn@kreative.net with any comments or bug reports.