2003-2005 (Delphi) 2D Game Project

NPC Dialog
Taking Damage
Loading Screen
Login to Server
Server Application
Player flying
Preparing to Fight
Map Editor

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