Latest Entries »

So far, we have implemented the BombermanServer, BombermanClient, Player and Field classes. Although they are not a hundred percent completed, the program now is able to connect up to 4 clients and interact with each other.

For simplicity, we are currently just using filled rectangles to represent the 4 characters.

Here is a picture of how the test looks like:

In addition, there is background music running when the applet started.

After analyzing the Bomberman online game structure, in the design phase, we listed out all the necessary classes that will be using in building the game and designed their UML diagrams as the followings:

 

What Classes we need?

First, we need a BombermanClient class that handles the client side. It handles the connection with the server.This class also includes an inner class that takes care of the authentication. User will not be able to get into the game if login failed but they can create new account and save into the game’s database.The hostPayer will set to true if that is the 1st player that successfully logged into the game. He/she then determines the game setting. For example, how many players should be in a game, time limit and select game field.

The sendMove() and receiveMove() methods synchronizes the movement of other players.

 

The Player class is used to created player objects. It contains fields that will store player information that retrieved from the game database.The value stored in movingSpeed, numOfBomb, bombType, bombPower, alive, and isAbleToMove will change when a player gets a corresponding item.The location indicates the current coordinates of a character.

The Player class includes all the methods that are necessary to control the movement of a character.

The checkBock() method determine if any block that blocking the player to move.

The reset() method changes all the items that a player collected to 0.

The Field class is for creating a field object that based on the fieldID the hostPlayer selected.The randomBlocksDistribution() and randomItemsDistribution() method place the blocks and items in random places.
The Bomb class simulates the bomb object.Since the kickBomb item allows a player to move bombs, this class also includes methods that can control the bomb’s movement.The explose(bombPower: int) method will automatically executes after 4 seconds of the object is created. It makes the objects that in the four directions, and destroy them.
The Block class is used for creating block objects.
The Item class is for creating all kind of items that based on the itemType.Items will be randomly created in locations based on the randomItemDistribution() in the Field object.The itemEffect(itemType: int) method will change the value of collected item on a player object.

Finally, we need a server class to handle the interaction with all the client applications.

For the Game Database, we have 3 tables to store server information, user profile, and game history for each user:

 

Bomberman (ボンバーマン) is a Japanese video game originally developed by Hudson Soft in 1983 and nowadays it has more than 50 variations across different platforms. It had once listed on many people’s favorite game list. This semester, our team is going to create a multi-player online game using Java programing language that based on this one.

The old Bomberman

The first generation of Bomberman is a single player adventure-style game. Player controls the character to move around the maze-based platform, using time bombs to blow up the rocks and find the way to the next level. As the game level increases, different enemies appear and they can kill the character by just touching it. In order to win the game, the player need to use their own strategies to open paths to hide or kill the enemies by using the time bombs. For more information you could check here.

The new Bomberman

Today’s Bomberman video game has change a lot, but the basic game rules are based on the original one, and instead of a single player adventure-style game, now it has became a multi-player battle-style game. For additional information about the latest generation, you could check here.

Game rules

In the new Bomberman game, no matter you are playing single 1 V.S. Com or multi-players verse each other, there’s no game level involves because their goal now is to kill others and to become the last one survives. The weapons available in this game are bombs only, but you can increase the bombs’ power or change the type of bombs by getting items. The beginning bomb power is one, meaning when it explodes, it can only affect the tiles in the current spot, and the top, bottom, left, and right, and one bomb can trigger another bomb to explode if in range.

At the beginning of each game, players can adjust the game setting as they want. For example, they could change the time limit, number of match, select battle map, and game mode, etc. Also, in the new Bomberman game, there are more items available to collect to improve the interest of the game. Those items are for increasing players’ bombing power, and some for making the characters not that easy to die. The details for each item will explain bellow.

Game play

For now, let’s take a look of the game play:

Game mode and time limit

There are two game mode players can select: the Basic mode and Survive mode.

In the Survive mode, there’s no time limit. Players have to kill each other and become the last one survives in order to win. However, if all players die at the same time, the game will draw. When this happens, the match will not count, and the game restarts again.

In the Basic mode, Players have to kill each other within the specified time limit. If there are two or more play still remain in the battle field after the time ends, game will draw, same thing as all players die at once.

Number of match

Players can select how many consecutive wins in order to finish a game battle. The first one gets the maximum wins, he or she becomes the final winner, and the game ends.

Maps

In this game, there are several maps players can choose. Beside the graphic looks different, each of those maps has different effects add to the characters.

The classic one looks like the following, which has some indestructible tiles blocking the ways to limit players’ movement. Also, it helps players to trap and kill others by placing a bomb between those tiles.

 Item list

In different version of Bomberman, the available items may change, but the universal ones are the following:

Icon Item Name Description
Fire Up Increase bomb power by 1 tile
Fire Down Decrease bomb power by 1 tile
Bomb Increase Increases the number of bomb the player can place at a time by 1
Bomb Decrease Reduces the number of bomb the player can place at a time by 1
Roller-Shoes Increases the player’s speed by 1
Clog Decreases the player’s speed by 1
Pierce Bomb Changes player’s bomb to be able to penetrate through multiple soft blocks or items
Power Bomb Increases bomb power to the maximum range, but only the first bomb the player places take the effect
Full Fire Increases bomb power to the maximum range
Power Glove Gives the player the ability to pick up, carry, and then throw bombs
Bomb Kick Gives the player the ability to kick bombs by walking into them, then the bombs will slide to the other side of the screen unless a tile or another player blocks them
Invincible Suit Makes the player invincible to all dangers in a short period of time

Character Animation