Original Post
Hello, I am working on a Turn based Strategy rpg, and one of the issues that I'm having is that In the projects that I've worked on in the past, I have primarily hardcoded almost everything. Now I'm working on making an engine for this game that contains no game specific data, and I'm currently discussing with the other developer about how to implement special attacks and spells, so that we can be more flexible and allow players to modify the game if they wish.
Our first idea was to just read from one of our data files basic information, such as the energy cost of the attack, the AOE, the range,what animation the user should do, what attack animation should hit the target, the damage done (negative for healing), accuracy, and what buffs/debuffs to affect the target on hit.
However, we plan on having a good deal of our skills be a bit more complex than that would be able to handle. But we're at a loss at how to implement a scripting system that would be able to handle more interesting attacks (something like Chain Lightning, or summoning reinforcements for example)
I've heard that LUA might work for this, but we'd prefer to roll our own scripting system out. If someone has experience in this, or can link a relevant article/tutorial about this, I would be grateful. Thanks!
Our first idea was to just read from one of our data files basic information, such as the energy cost of the attack, the AOE, the range,what animation the user should do, what attack animation should hit the target, the damage done (negative for healing), accuracy, and what buffs/debuffs to affect the target on hit.
However, we plan on having a good deal of our skills be a bit more complex than that would be able to handle. But we're at a loss at how to implement a scripting system that would be able to handle more interesting attacks (something like Chain Lightning, or summoning reinforcements for example)
I've heard that LUA might work for this, but we'd prefer to roll our own scripting system out. If someone has experience in this, or can link a relevant article/tutorial about this, I would be grateful. Thanks!