Blockeroo should run on all 1.x and 2.x Series 60 mobile phones. It will not run on any 3.x devices. It does not support Scalable UI and so it cannot take advantage of the increased screen sizes available on some 2.8 devices e.g., the N90. Nevertheless, it should run adequately in compatibility mode on such devices.
Before you can run Blockeroo, you need to download one of the Blockeroo installation files, otherwise known as sis files. Once downloaded, copy the sis file to your mobile device and install it using the device's software installation system. There are two different Blockeroo installation files. Consult the following table to determine which installation file is suitable for your device. By downloading these sis files you are agreeing to the terms outlined in the Blockeroo License Agreement. You should read this agreement carefully and ensure that you agree to all of its terms before downloading and installing either of these sis files.
|Installation File||Series 60 Version Numbers||Series 60 Phones|
|blockerooS6067.sis||1.x, 2.0, 2.1||7650, 3650, 3600, 3620, 3660, N-Gage, N-Gage QD, 6600, 7610, 6260, 6620, 6670, 3230|
|blockerooS608.sis||2.6, 2.8||6630, 6680, 6681, 6682, N90, N70|
The Blockeroo installation files are not Symbian Signed. For this reason, when you try to install Blockeroo, a warning message will pop up indicating that the supplier of the software is unknown. You should then decide whether or not you want to install Blockeroo. Please note that you should always carefully consider whether you want to install non signed software on your device and Blockeroo is no different in this regard. If you choose to continue with the installation, you will be presented with a license agreement. Once you have agreed to this license agreement, Blockeroo will be installed.
To start Blockeroo you simply need to click on the Blockeroo icon, shown in Figure 1 below, in the Series 60 Menu screen. On some Series 60 phones, the Blockeroo icon is located in the MyOwn folder after installation.
Figure 1: Blockeroo icon
After starting Blockeroo the Start Screen, depicted below in Figure 2, will be displayed. The Start Screen is divided into two columns. The first column on the left depicts a bot playing Blockeroo in single player mode. Note that the bot is playing on reduced playing area. A larger board is used when Blockeroo is played in single or multiplayer mode, as we shall see in the following sections. The column on the right is called the Welcome Panel. Its contents change every ten seconds, iterating between the welcome message, the single player high score table, the current key configuration, e.g. which key is used to rotate a piece and the credit screen.
Figure 2: Blockeroo Start Screen
To start a practice game press the left soft key labelled Options and select the top most menu item, Practice. You will now be presented with a new screen, shown below in Figure 3, that allows you to configure the practice game. There are two settings, Name and Level. Select the Name setting item and click on the centre select key to enter a new name. Names are limited to two characters in length. The name you enter here will appear in the start screen if you score enough points to make it on to the high score table. The Level setting item can be used to configure the starting level of the game. There are ten levels in total, level one being the easiest and level ten the hardest. Once you have configured the practice game to your liking press the left soft key, labelled Ok, to start the game. Press the right soft key, labelled Cancel, to return to the start screen. Pressing Cancel also discards all the settings that you have entered.
Figure 3: Configuring the Practice Game
The premise of the game is very simple. Pieces appear at the top of the screen and gradually fall towards the bottom. Only one piece falls at any one time. This piece can be controlled by the player. You can move the piece left and right and down. You can rotate the piece and cause it to drop to the bottom of the screen. Once the piece reaches the bottom of the screen or another block it can no longer be moved, your score increases and a new piece appears at the top of the screen. Each piece is composed of a number of blocks. The aim of the game is to create complete horizontal lines of blocks in the playing area. Once you create a line, the line will flash, disappear and your score will increase. All of the blocks above the line will drop down a single line to take its place. It is possible to create two, three or four horizontal lines. The more lines you create in one go, the more you will score. Creating lines also has another advantage. If the blocks reach the top of the screen the game will end. Creating lines reduces the height of the highest block and hence improves your chances of staying alive. The game's level increases every ten lines. As the level increases the pieces drop at a faster rate but the scores awarded for placing pieces and creating lines increases.
The controls available in the practice game are described in the following table. Please note that it is possible to alter the default key assignments.
Moves the current piece left
|Right||Moves the current piece right|
|Down||Drops the current piece to the bottom of the screen. A new piece will appear at the top of the screen|
|Up||Rotates the current piece left|
|5||Rotates the current piece right|
|8||Moves the current piece down one place|
|1||Pauses / Restarts the game|
|Right Soft Key||Quits the game|
Figure 4 illustrates the practice screen. The screen is composed of four separate areas. The large area in the top left is the playing area. Directly underneath the playing area is the drop control. This area is designed to help you drop your pieces into the correct locations. The right hand side of the screen is divided into two areas. The area in the top right indicates what the next piece will be. The area at the bottom displays your score, the number of lines that you have cleared and the current level.
Figure 4: The Practice Screen
Blockeroo supports up to eight players in Death match mode. You can play against other human players or a mixture of human players and bots. Each player has his own board and plays his own game of Blockeroo. However, players can attack each other by clearing two or more lines by dropping a single piece. When a player clears two or more lines simultaneously he sends one or more lines of damage to one of the other players. The number of lines of damage sent is equal to the number of lines cleared minus 1. A line of damage is a row of random blocks that appears directly above a player's highest block. Damage is of course bad as it increases a player's height and hence hastens his death. In addition to sending lines of damage to each other, players are periodically awarded weapons which they can use for either attack or defence.
In order to play a multiplayer game one of the game's participants must start a Blockeroo server. All the other players should start Blockeroo clients. A Blockeroo server has quite a lot of work to do. Not only must it coordinate communication between all of the players, but it must also run the computationally intensive bot AI code. Therefore the player with the newest, fastest phone should run the server. Please note, that you still need to start a server even if you are only playing a multiplayer game against bots.
To start a server, press the left soft key to bring up the Options menu and navigate to the Death match menu. There are two options: Join and Start Server. The player nominated to run the server should select Start Server. All other players should choose Join.
The player running the server will then be presented with a new screen containing a number of different setting items, depicted below in Figure 5.
Figure 5: Start Server Screen
These setting items allow the multiplayer game to be configured. Their meaning is explained below:
Name: A two character name that is used to identify the player who is running the server during a game of Blockeroo.
Select Strategy: Each player in Blockeroo can have up to seven opponents. When a player successfully clears two or more lines or uses a weapon how should he decide which of the seven should receive the damage? Thankfully, Blockeroo presents quite a neat solution to this problem. Each player can configure a setting called his targeting strategy. This targeting strategy automatically determines which opponent the player will attack when he clears two or more lines or uses an offensive weapon. There are five different targeting strategies that can be chosen from. These are described briefly below:
When you have configured the game's options to your satisfaction, press the left soft key labelled Ok. If the Search for Players setting was set to Yes, Blockeroo will start to search the local bluetooth network for other Blockeroo players who have chosen to join a game. Once it has detected all available players, the player who started the server will be presented with the Choose Players screen. If the Search for Players setting was set to false, the Choose Players screen will be displayed immediately.
Figure 6: The Choose Players Screen
The Choose Players Screen is displayed above in Figure 6. It consists of seven setting items that are used to select the players that will be invited to take part in the death match game. By default the Choose Players Screen is configured to invite all human players detected during the bluetooth scan. If less than 3 human players are found, bots will be added so that three opponents are selected. These are only the default settings and this screen may be used to invite players in any configuration you choose. For example, you could choose to play against a single human player and no bots or indeed five human players and two bots. It is also possible not to issue an invitation to a discovered human player. You may wish to do this if you are running two Blockeroo servers in the same vicinity. Once you have selected your chosen opponents press the left soft key labelled Ok to start the game. Depending on the number of opponents that you have chosen, it may take a few seconds for the game to start. Please be patient.
Players not running a server should select Join from the Death Match menu. These players are only allowed to configure two options, their name and their chosen targeting strategy. Figure 7 illustrates these options. These settings are identical in meaning to the settings of the same name described in the previous section.
Figure 7: Joining a Death Match
Once the player has configured his settings to his satisfaction he should click the left soft key labelled Ok. Doing so announces the player's interest in joining a death match game. If the player does not click this button, the phone running the server will not be able to find him. It is advisable for all players joining the death match to click on this Ok button before the server is started. When the user presses the Ok button the software will first check to see whether bluetooth is switched on. If it is not, a dialog will be erected prompting users to turn it on. If users do not turn on bluetooth they will not be able to join in a death match game. A progress dialog will then be displayed with the words "Waiting for Server Invitation". This dialog will remain on the screen until the player is invited to join a death match game. Once the invitation has been received the death match game will begin.
If your device cannot be discovered by the server, open the system bluetooth settings and ensure that your phone's visibility is set to "Show to All".
The death match screen is depicted below in Figure 8. It is divided into four separate areas: the playing area, the drop control, the next control and the info control. The drop control and the next control are identical to their counterparts which appear in the practice game. The playing area is almost the same as the playing area in the practice game but there are a few subtle differences. These will be explained later. The info control however, is totally unique to the death match game. It has three purposes: to manage a player's weapons, to manage a player's targeting strategy, to provide information about the other players.
Figure 8: Death Match
The goal of the death match game is simply not to die. The last surviving player wins the game. A player dies when a new piece appears at the top of the screen that cannot move down a single line. You can hasten the death of other players by sending them lines of damage or by attacking them with weapons. You can also improve your chances of survival by employing certain defensive weapons.
The info control provides information about the other players in the game, i.e., your opponents. There is a single box dedicated to each opponent. It displays the opponent's name and three bar charts. The left most bar chart indicates how close the opponent is to death. The higher the bar, the closer to the player is to the way of truth. The middle bar chart indicates the total number of points of absorption and rebound the opponent has. These concepts will be explained below when the weapons are discussed. The bar chart on the right indicates the number of weapons possessed by the opponent. The colour of the opponents’ names is significant. The name of the opponent who last attacked you is coloured in red. The names of any opponents that have died are coloured in grey. The box of the opponent that you are currently targeting is drawn with a lilac background. Finally, if a player disconnects, a cross is drawn through his box.
The opponent that is currently targeted is determined by the targeting strategy. The current targeting strategy is displayed in the info control. Note, that the player in Figure 8 has chosen the Best strategy. You can iterate between the targeting strategies by pressing the ‘7’ button. The info control will be automatically updated and the targeted opponent highlighted. If you select the manual strategy you must manually select your opponents. You can do this by pressing the '9' key.
Blockeroo’s players are awarded weapons when they achieve certain milestones. Weapons are granted for dealing the killing blow to an opponent or obtaining a certain number of Blockeroos. A player can hold more than one weapon at any one time. However only one weapon, the current weapon, is displayed in the info control. This weapon can be used by pressing the ‘0’ key. Once used it disappears. A player can iterate between his weapons be pressing the ‘*’ key. Some weapons are offensive in nature, some are defensive and some possess both qualities. Needless to say offensive weapons affect the currently targeted opponent. The weapons are described in the following table.
|Smart Bomb||Four lines of damage are delivered to the targeted opponent.|
|Scatter Bomb||One or two lines of damage are inflicted on every opponent.|
|Absorb||Once this weapon is used the player can absorb 8 lines of damage. Absorb is cumulative. Hence, if a player has two Absorb weapons and he uses them both, one after the other, he will end up with 16 points of protection.|
|Rebound||Once this weapon is used, any lines of damage dealt to the player will be redirected to the opponent that sent them. If that player has also rebound protection, the lines will be bounced back and so forth. Rebound can only rebound 4 lines of damage. Rebound is also cumulative.|
|Slow||Halves the current speed of the falling blocks. This lasts for 10 blocks. Slow is also cumulative.|
|Speed||Doubles the current speed of the falling blocks of the targeted player. Speed is also cumulative. Note that speed and slow cancel each other out. Let's say Player P has eight more slow blocks to come and then he gets hit with speed from player X. He will now receive two fast blocks before his piece drop speed returns to normal.|
Removes the player’s top four lines. If the player has less than four lines then all the blocks on the player's screen are deleted.
Three useful numbers are displayed at the top of the playing area. Each number is preceded by a letter which indicate its meaning. The left most number, preceded by an 'L' displays the users current level. This value will periodically increase if the server has been configured to increase levels. If will also change if the player uses the slow weapon or is the target of a speed attack. The second and third numbers, preceded by the letters 'R' and 'A', indicate the number of points of rebound and absorption the player currently has. Using the Absorb and Rebound weapons will increase these values. The values will decrease when the player is attacked.
It is important to note that lines of damage only appear on a players screen when he drops a piece. The main reason for this is to prevent the bots from getting confused and to save CPU cycles. Each time the bots receive a new piece they perform some computationally expensive calculations to determine the best location to place the piece. If the lines of damage appeared while a bot was moving a piece, it would need to rerun these algorithms to take the new landscape into account. It was decided that this would be too time consuming, hence the restriction. This restriction can create some confusion. Consider the following scenario. Player A attacks player B. Player B is still moving his current piece so the damage does not appear on his screen immediately. He then uses an Absorb weapon and drops his piece. Surprisingly, he sees that he has received points of damage despite the fact that he has just used a defensive weapon. Please note that this is not a bug and it is intended behaviour. If he had used his weapon before player A had attacked him he would not have received the points of damage. In addition, although he has received some damage he still has a full 8 points of absorption remaining.
When all but one player is dead the game will end. A high score screen will be displayed on each player’s phone. It will remain for 15 seconds after which juncture the game will start anew.
The bots were designed to challenge a human player at Blockeroo without consuming too many CPU cycles and not as an academic exercise to create the perfect Blockeroo playing AI. They do not use the next piece as doing so would dramatically increase the amount of computation required to identify the best location for a given piece. The bots have largely been designed to good at playing death match. This means they attempt to clear two or more lines with a single piece so that they can attack other players. This is of course a risky strategy but it makes them fun to play against. This is also not a very good strategy for playing in the start screen which is very small. For this reason the AI often does not appear to play very well in the start screen. In the bot's defensive, I would like to add that it is difficult to play Blockeroo in such a small playing area. Finally, the AI is not perfect for two reasons. Firstly, the heuristics used to control the bots could be further refined so that they play better when they receive an unfortunate sequence of pieces. Secondly, the bots play Blockeroo, like I play Blockeroo and to be honest I am not really that good. I guess they never stood much of a chance.
The death match game can be paused by pressing the '1' key. When a player pauses the game, the game is also paused for all of his opponents. Furthermore, only the player that paused the game can restart the game. If another player presses the pause key when the game is already paused, there will now be two players pausing the game. The game will now remain paused until both of the pausing players un-pause the game. If a player who has paused the death match quits the game he is no longer considered to be pausing the game. If he is the only player pausing the game, the game will restart. Players who have paused the game will see the string "Game Paused" displayed on their playing area. All other players will see the string "Waiting".
Although it should be theoretically possible to play Blockeroo with 7 human opponents this is unlikely to work very well in practice. When playing with more than three human players you may experience some lag. This seems to happen mainly with older devices. The game still functions but the handset is unable to communicate with the server. After some period of time, network connectivity returns and the lagged client is suddenly flooded with commands from the server. This usually results in the player's death. For this reason, if you are playing with human opponents I recommend that you restrict the total number of players (including bots) to four to reduce network traffic and avoid lag. It should also be noted that I only had access to three phones during development so I can only confirm that it is possible to play against two other humans.
Blockeroo suspends its self when the phone upon which it is running receives an incoming call. If the start screen is displayed, the game is paused and the Welcome Panel stops updating. As soon as the call is terminated the bot resumes its game and the Welcome Panel continues to iterate between the various messages. If a call is received during a practice game, the practice game is paused. It cannot be un-paused by pressing the '1' key until the call is terminated. If a phone call is received during a multiplayer game, the person who receives the call automatically pauses the game. He will not be able to un-pause the game until the phone call has terminated. If the phone call is received while the scores screen is displayed the death match game will restart as usual after 15 seconds. However, as soon as the game is started it will be automatically paused by the receiver of the call.
It is possible to redefine the default keys used in Blockeroo. Simply select the Define Keys menu item from the Options menu on the Blockeroo start screen. This will display the Define Keys screen. The keys that can be assigned to a Blockeroo command are as follows:
The arrow keys
The number keys
# and *
You are free to assign any key to any command. However, only one key can be assigned to one command at any one time.
If you have any feedback or questions about Blockeroo please send an email to firstname.lastname@example.org.
I'd like to thank my dad who helped produce some of the bitmaps and to give special thanks to Libby for sharing many of her weekends with the bots.