2003-2005 (Delphi) 2D Game Project
This project was developed when I was in High School. It is my first graphic game and also an evolution of a text-based game which I created before, named FightBOT.
This project includes a DirectDraw client and a server both developed using Pascal (Delphi/Lazarus). The combat system, movement and training systems were ready in both server and client. This game had about 60 interested players and normally about 10 users when I was testing the beta 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.
Some of the features I developed are:
- 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.
- 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).
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.
Download Client and Server (beta)