Network Bomberman:

Network Bomberman:
Design Document
Approaching the Design:
Although every system requires a design strategy, this system is
already single player capable which should make the approach to the
design easier. However, looking at the system as it is, it becomes
clear that a number of features need implementing to enhance the
player’s game experience on a more basic level.
These features include:

A Menu System / GUI
This will provide the player with a better means of
controlling and customizing the game to its needs.

Music and Sound Effects
Introduction of a game soundtrack and sound effects
should make the game more enjoyable to play, and
enhance its atmosphere.

Multiplayer Options
The option to play the game with multiple other players
will most definitely increase the value of a gaming
experience. A multiplayer game always has more user
interactivity, which is a major part of an entertainment
system.

Finishing Touches
Although the game is playable as it is there are a number
of things that need touching up. For example, at current
the game does not end, and the player cannot die or kill
any of the other players. This reduces the potential
satisfaction from playing the game, as the player cannot
complete his main objective – to win.
As the multiplayer aspect of the game is what I will be aiming to
implement, I will outline a few of the steps and decisions I will have to
make to introduce this into the game.
Firstly, as a multiplayer game needs multiple players to function,
it must be decided how the players will all become part of the game.
Generally multiplayer games tend to work in the following way:
1. All of the players customize their game options and
get ready to play.
2. The first player (host) creates the game, and waits
for the others to join.
3. Each of the other players join the game, and are
informed of the number of players currently in the
game.
4. When everyone is ready, the host starts the game.
5. Each player in the game negotiates with the host to
load the correct map/player positions.
6. The game starts and throughout, each player sends
data on their current positions and actions, and
these are interpreted and updated by the rest of the
players.
7. When a player wins the game, everyone is informed
and given choices on what to do next.
8. The players either exit, or start another game.
Although menus and point and click GUIs are a lot more user
friendly and more pleasing to the eye, in terms of storing player
names, game names etc. I think it would be much more efficient to
use a command prompt type interface to initialize the network game.
I think that the main problem I will encounter is the transmission
of data between the players. I will have to devise a protocol of some
kind to allow regular, organised data interchange between the players.
Setting up the net game and connecting should be no problem.
However, synchronising the sending and receiving of the players’
actions should be the most difficult task.
As there is so much data to transmit to the other players, I think
that the best way of transmitting the data is to store it in memblocks,
which can be sent and interpreted at their destination, to update any
changes in the game.
System Breakdown:
This screen is displayed while the game is loading and the
network game is being initialized and set up. It may be displayed
more than once depending on when the game has media to load into
memory, or settings to be adjusted.
This is the menu screen. Once loading is complete, the player
can make a choice of whether to start a new game, join another game,
change game settings, receive instructions on how to play and join a
game, or exit. The screenshots to follow will show what happens in
each of these cases.
This screenshot shows what happens when you choose to start a
network game on the main menu. The command prompt-type
interface prompts you for the game name and the name of your player
and stores them before the game is initialized.
Once the settings have been entered by the user, the host is
displayed with this screen. When new players join or leave, the text
shows these changes and updates “players:” with the new number of
players. Once there are at least 2 players in the game, the host is
given the option to start.
When a player attempts to join a network game, they can either
enter an address to connect to, or leave it blank to search for games.
The game then connects to the address, and once a game is found its
name is displayed with the number of players, the player then enters
their name, and is greeted with the “Waiting for Players” screen above.
This is an in-game screenshot. There are 2 players currently
playing. The player names and scores are displayed at the top of the
screen. Thanks to the programming behind the game, the two
characters are being independently controlled by the players in the
game.
User Interaction:
Controls:
Arrow Keys: Player Movement
Up Arrow – Move Up
Down Arrow – Move Down
Left Arrow – Move Left
Right Arrow – Move Right
Other Functions:
Control Key – Place Bomb
Escape Key – Quit Game
The controls for network bomberman are fairly simple. After
entering the network and game settings via the keyboard, the player
controls the position of their character with the arrow keys. The
player cannot move past the red (indestructible) blocks, or the green
bushes.
Although the green bushes can be destroyed with a bomb and
may sometimes reveal a powerup. Powerups come in 2 forms, the
first being a flame powerup, which increases the blast radius of the
player’s bombs. The second being a bomb powerup which increases
the amount of bombs available to the player at any time, up to a
maximum of 4.
Credits / Acknowledgements:



The bomberman bitmap used in the menu and loading screens
was sourced from google images (www.google.com/images).
The in-game music was produced by “The Prodigy”.
The sound effects were sourced from the internet, and the halflife mods “Day of Defeat” and “Counter-Strike”.