Aetolian Curing System (ACS)

Over the past seven years, I have spent countless hours playing and programming for MUDs (Multi-User Dimensions). These are telnet based text-based games, usually based in a role-playing universe. One aspect of the MUDs that I play, Imperian and Aetolia, is the incredibly advanced player versus player combat system. Iron Realms Entertainment, the games’ creators, built these systems directly into their games and combat became the focus of the game’s politics and player interactions.

This advanced combat system comes with a lot of scrolling text at fast speeds; it is sometimes too fast for the eye to even try to follow. In Aetolia, there are well over one-hundred afflictions with over two dozen curatives and elixirs to keep track of, and this is just to keep your character from dying. In order to win fights, one obviously has to kill their opponent, which is rarely an easy feat to do by typing in commands yourself.

To handle this speed, and become competitive in player killing (PK), I wrote a “curing system” that interfaces with Aetolia so I did not have to do the bulk of the work manually. The system’s core is a middle-tier client called Mudbot, originally created by Andrei Vasiliu for the game Imperian. I used a modified version of Mudbot that has a plugin that allows all of the scripting for the MUD to be handled using Lua.

By default, Mudbot comes with many modules that simply were not needed for writing in Lua, so I stripped out Mudbot and used only the Lua module to create an AI to deal with not only keeping my character alive, but selecting attacks that will slow down and kill my opponent. The system I created, dubbed the Aetolian Curing System or ACS, allows players to use any character and use the front-end MUD client of the choice. The system is managed by the player changing a few variables in a settings file before loading the game. The system uses these variables to alter its logic accordingly. It is, as any piece of code, a work in progress. Through the course of working on the system, I had friends and testers constantly picking at it to resolve any issues that arose.

Currently, ACS has over 8000 lines of code spread over many modules used to cure afflictions, attack enemies or provide utility to the player. Due to it being a work in progress and my need to make solid, efficient and good code, it is currently in its third large iteration of large-scale refactoring and rewriting.

The Lua source code for ACS can be downloaded here.

Anyone who may be looking to use it for Aetolia, please send me an email and I will talk to you about getting started with ACS!

2 Comments.

  1. How long ago was this post made? And who in Aetolia are you? I’ve recently returned to the game and my system is also a mudbot one, but I don’t have the sourcecode, just the .dll, so I can’t add in stuff like pre-resto for the new classes. In short, it’s become dated and clunky. If you posted this like…5 years ago, just ignore me.

    • Hello Jessica :) This is Kaed from Aetolia.

      I posted this in June and haven’t played Aetolia since then. If you’re interested in taking the source code and working on it to update it, let me know and you’ll be free to use it. If I remember right, I have pre-restore in there, but nothing regarding the new classes.. and there’s of kinks to work out! Just shoot me an email (It can be found in my resume) if you want to talk more.