Deployment view of this application is showed like this :
One processor is used as server game. On that one, there are J2SDK
1.4.1 which is used for running server game application. Web server
Tomcat 3.2.1 is on that processor too, which is used to publish
folder where game.htm is put. World of game and saving
object are taking place on that processor too.
Database of game use Microsoft Access XP with GameData.mdb file.
Communication between server game application and database is connected
by JdbcOdbcDriver.
Three processor are used to represent three players. Threre is
web browser Internet Explorer 5 which has been supported Java Virtual
Machine 1.4 on each that one for running game applet. Comunication
between server and applet game uses socket TCP.
Here is view of design object in this game system :
Player will be showed up a world map which has been placed states
which create a certain of plot of story which will be passed through
by hero. Composition of that states is taken from world of game
object initailisation process. State is places which will be passed
through by hero. States is structed in a series and interdependent
each other, so a certain state can be showed up and stoped in after
mission in the previous state has been completed by hero.
States are initialized as town or dungeon. Town is place where
hero is taking a rest and doing transaction with people. Dungeon
is place where hero is enganging in adventure and battling monsters.
At each state, player can save his playing status and next time
he can load it from that state. Game will be over after hero has
completed mission on the last state.
Before starting game, every state in game including each aspect
in there like town and dungeon will be initialized first. Initialisation
is using world of game object which is send from server game as
vector object by socket TCP.
Administrator develop world of game and then save it as object
file. Server game respond client with sending world of game object
which has been selected by administrator.
Hero's adventure is taking place on town or dungeon. Each town
or dungeon has area map which determine hero's move on that area.
Maping area on this game using 2D tile based engine method that
is dividing area become tiles with certain size in pixel which is
filled by certain value which represent certain condition.
0 : Area that can't be passed through by hero
1: Area that can be passed through by hero
2 to (object total+1) : area in object, each value represent
each object
(object total+1) to (object total+1+people total) : respond
area from people's job
(object total+2+people total) : way out area
Maping area is based on objects location in that area. Value 0
is placed at house's wall, plants, tree, pole, or objects which
can't be possible passed through by hero. Value upper than 0 can
be passed through by hero but each value has spesific condition
which has been explained before.
Hero has status hp (health point), mp (magic point), maxHp, maxMp,
level, attack, defend, speed, agility, point, and nextPoint.
Who do an action first depend on its position at battle queue.
Each hero or monster has speed status which determine wait time
to enter as element of battle queue vector.
Battle thread is waiting to run again until contents of battle
queue vector have reached heroes and monsters total which are still
alive in battle. Battle thread itself is thread for preparing hero
or monster action based on its position at battle queue.
In saving process, game creates SavePack object which is included
heroes team information, equipment of heroes team as weapon, armor,
accessoris, and item, all states information, money, and player
login. Game send SavePack object as mentioned to server game by
socket TCP and then server game save it as file.
For loading process, game request server to send SavePack object
which has been stored there based on player login by socket TCP.
After SavePack object have been received, every information in that
one will be initialized to the game.