It is
my first graphic game and also an evolution of a text-based game which
I created before, named FightBOT.
The combat system, movement
and training systems were implemented in both client and server applications. Most of the logic was handled at the server side, where the client was mostly interpreting the responses rather than making the calculations.
This game
had about 60+ interested players and normally about 10 users online when testing the alpha version.
The final objective of this project was to create a "simple"
MMORPG where every player would participate and change the game
history. It would have characteristics such as races, professions and
planets from a unique futuristic universe that I created.
Other features developed:
- Simple Script Language (Server)
To create NPC (non player characters) and special combat movements I
have created a simple script interpreter. With this feature I was able
to create generic spells and many different player quests without
recompiling and restarting the server. Cool but unproductive - today I would try to plug in another language interpreter such as Python, Pearl or even Javascript.
- Combat System
I have created a different combat system for this game. The main
idea is to involve the player even more in the combat system, where the
player should select actions such as dodge, attack or use some sort of
magic.
- Chat System
Every player could chat with each other. There were several ways of
doing it, it could be a private message, local message (to whom are in
the screen) or world message.
- Quest System
The quest system is a way developed to players interacts with NPC
and acquire missions to gain new skills or more power. Players could
chose answers and define which mission he would get.
- Training System
A special character is placed in the world to train the players.
This consists in training not only the combat system but also new
combat movement or magic.
- Artificial Intelligence
The NPCs are divided into two groups: quests and fightable. Every
fightable NPC have a level of AI which can be easy to kill or really
hard. They can follow the player and attack, or flee. They respond to
player attacks to dodge or attack back.
- Simple Effects
I have developed some simple effects just for visual enhancements.
This include playing sounds when fighting and also painting red the
screen when hited.
- Multi language
The server messages can be easily translated. I was still developing the way to translate the client interface.
- Server Protocol
This project uses the TCP/IP protocol to communicate, using 3
characters to identify the response type and then the parameters.
Moreover, when the character moves around the world it only sends the
changes in the area (like new objects).
- Database
At the time I had no experiences with specific databases such as
SQL Server, PostgreSQL and so on that was the reason why I have used
registry files (.INI) to persist data. The 3D version server was the first project that I have used a real SQL server.
Download Client and Server (beta)
|
No comments:
Post a Comment