ABx

Ancient Greece Fantasy Online RGP

by trill41

Advertisement

Fantasy Online RPG at time of the Trojan war.

I guess this a technical project, not so much an art project, so bear with me for the poor art.

License

The source code is licensed under the MIT License and can be downloaded from the repository. There is detailed description how to build and run the server and client. Contributions are welcome.

The Goals

  • Instanced world
  • Primary and secondary professions (classes)
  • Big skill pool
  • Diverse skill builds and team builds
  • Focus on tactics rather than kill everything that moves
  • Cooperative and competitive game formats
  • PvP and PvE

Features so far

  • Uses a single TCP stream for the game protocol. This is not a shooter or action game, more like a classical online RPG.
  • Database back-end is currently PostgreSQL.
  • Instanced world.
  • Encrypted Game and Login Protocol.
  • Lag compensation: Client prediction.
  • Network traffic compression:
    • Delta compression (send only state changes)
    • Send only relevant messages to each player, e.g. a Player doesn't need to know when an Actor moves far away from the Player
  • The system is designed to scale:
    • It can spawn any number of server which may have heavy load (game, file server) even on different hardware.
    • Automatically spawn File and Game Server when needed.
  • Chat system even across different game server:
    • Local (map) chat
    • Guild chat
    • Team chat
    • Trade chat
    • Whisper
  • Friend/ignore list
  • Persistent Mail
  • Automatic generation of server scenes (height fields, navigation meshes etc.) from Urho3D's scene files.
  • Lua API to script Games, NPCs, Skills, Effects, Items etc.
  • Navigation using Recast/Detour
  • Server and Client runs on Windows and Linux
  • Game AI, Behavior Tree
  • Mumble voice chat integration with extended support (Context, identity, overlay), which provides spatial voice chat, see Positional-Audio.
  • Item system:
    • Item drops, when foes are killed they may or may not drop a random item. Each Item has a certain drop chance on a certain map.
    • Player inventory and account chest (account wide storage).
    • Players can exchange Items and Money with other Players.
    • Player can sell items that dropped or otherwise obtained to a Merchant and gain money.
    • Players can buy items from the Merchant which the Merchant has in stock.
    • Dynamic item price taking availability and drop chance into account.
    • Players can craft new items for Materials and Money from special NPCs.
  • Autoupdate asset files: It downloads only the differences and patches existing files. This greatly reduces time and bandwidth.
  • Minimap, a small map of the scene the player is in, which also shows other actors.
  • Class system with primary and secondary class. The player has a fixed primary class and a changeable secondary class.
  • Skill system. Depending on the primary and secondary class of the player, different skills are available to the player.
  • Skills are implemented a simple Lua scripts and can be added/removed/changed quickly.

Videos

https://devtube.dev-wiki.de/video-channels/trill_channel/videos

Chat

I made a Telegram Channel https://t.me/trill41​ where we could talk about this projects.

Last updated March 21, 2021
Status
In Development
Platforms
Engine
Urho3D
Release Date
November 24, 2019
Advertisement

Latest from
trill41

Animations
March 21, 2021
Multiple height levels
November 21, 2020
New navigation mesh
November 03, 2020
Autonomous movements
April 04, 2020
Debugging Game AI
February 18, 2020
Linux and Open Source
January 01, 2020
Event system
August 24, 2019
Friend Foe identification
August 07, 2019
Projectiles
July 28, 2019
Advertisement