Special Attack System

Content and general development discussion, including quest scripts and server code. TMW Classic is a project comprising the Legacy tmwAthena server & the designated improved engine server based on evolHercules.


Forum rules

This forum houses many years of development, tracing back to some of the earliest posts that exist on the board.

Its current use is for the continued development of the server and game it has always served: TMW Classic.

User avatar
Crush
TMW Adviser
TMW Adviser
Posts: 8046
Joined: 25 Aug 2005, 16:08
Location: Germany

Special Attack System

Post by Crush »

The [new TMW Magic System] is already pretty well designed, but what is still missing is the counterpart for warrior characters.

I am currently creating the special system framework over at Manasource and I am pretty confident that it will be at least partially usable for CR1. So when someone has ideas or would like to get involved in designing something in this area, now is a good moment to throw in suggestions.

These are the planned infrastructure facts:

-Up to 268.435.456 (2^28) different special attacks are theoretically possible (this ID space is reserved for physical special attacks only, there are separated dedicated ID spaces for other applications of the special system like magic as well as many unassigned ones).
-The script engine can give and take the ability to use each of these attacks form each character separately at any time. It can also check which special attack are available.
-Usage restriction for specials are handled by the engine. The following restrictions are planned: Shared recharge from the same pool as magic spells in the new system, cooldown time, plain old SP points. These restrictions can be combined and are calculated at runtime by the script engine.
-What happens on the server when a player clicks on the use button of a special attack it can currently use is fully scripted.

These parameters are not set in stone because I am still programming at implementing them. But please understand that I can't do anything you come up with. Additions which sound trivial to you might be pretty hard to do for software architecture reasons. It would be nice when you would try to come up with something which can be done with this framework.
  • former Manasource Programmer
  • former TMW Pixel artist
  • NOT a game master

Please do not send me any inquiries regarding player accounts on TMW.


You might have heard a certain rumor about me. This rumor is completely false. You might also have heard the other rumor about me. This rumor is 100% accurate.
John P
Warrior
Warrior
Posts: 271
Joined: 19 Apr 2009, 00:55

Re: Special Attack System

Post by John P »

Gameplay

I think the GUI mock-up best describes the magic system in action:
Image

Physical attacks should follow the exact same model. With two tabs ("Magic" and "Attack" or something), the user can switch back and forth between the two with a hotkey. 1 would default as the basic strike (And could later be moved or disabled as new attacks are added).

This would also follow Secret of Mana fighting style, where you waited for your attack to recharge if you wanted full attack strength.
ex. Secret of Mana gameplay video: http://www.youtube.com/watch?v=4rYE7ceTsCM#t=0m37s (strike recharges at bottom of screen).
Unlike the Magic System, however, can we consider allowing attack before full recharge for weaker strike?

Acquisition

If you are all dead-set on this runes-on-the-clothes thing, an option might be runes-on-the-weapon (which works if the special attacks are super-special like "flaming sword", not just "double-strike"). This could follow almost exactly the same model as magic.

The second option is completely different learned abilities, which would be completely different to program, I think.

Is this what you were looking for? Your post was borderline too technical for me :wink:
User avatar
Freeyorp101
Archivist Prime
Archivist Prime
Posts: 765
Joined: 04 Nov 2008, 09:17
Location: New Zealand

Re: Special Attack System

Post by Freeyorp101 »

The article seems to describe specials only as targeted magical attacks, was this intended? What about non-attack specials?

What types could we handle? Passive, {active self, active self position}, active toggle, {target position, target area on position}, {target being, target ally, target enemy, target non-enemy, target non-ally}, {target position vector}, in addition to [{recharge toggle}]. Perhaps a flag in the special definition defining whether it can be used before it is fully recharged?

Will the recharge groupings be split for things such as magical and conventional specials? Will there be different effects based on slot types? Are you still wanting to use a procedural rune combination system?

Are we able to send other information associated with particular special attacks too? Charges on a passive special showing current effect, or on an active skill showing the effect should it be activated at that time, for instance?

The rune combination system strikes me as more suitable for a static game world more than one with regular content releases, given the changes implied with the addition of even one new rune, was this your intent?

How would more unique specials be defined, either of magic or conventional types?

Would still be nice to have a more clear cut separation of tmw-manaserv/tmw-eathena systems in the rune combination article, I'm still mostly having to guess at the splits and am still rather unclear on your intentions here.


---Freeyorp
(09:58:17) < tux9th> Freeyorp: your sig on the forums is kind of outdated
User avatar
Crush
TMW Adviser
TMW Adviser
Posts: 8046
Joined: 25 Aug 2005, 16:08
Location: Germany

Re: Special Attack System

Post by Crush »

Freeyorp101 wrote:The article seems to describe specials only as targeted magical attacks, was this intended? What about non-attack specials?

What types could we handle? Passive, {active self, active self position}, active toggle, {target position, target area on position}, {target being, target ally, target enemy, target non-enemy, target non-ally}, {target position vector}, in addition to [{recharge toggle}]. Perhaps a flag in the special definition defining whether it can be used before it is fully recharged?
Passive specials are a different ID group. Target modes are:
-self/untargeted
-hostile being
-friendly being
-any being
-map position

Recharge toggle as well as multiple charges, like described in the magic system article, will maybe not make it into CR1.
Will the recharge groupings be split for things such as magical and conventional specials?
This is currently not planned, but it wouldn't be too hard to do this when really needed.
Will there be different effects based on slot types?
please clarify.
Are you still wanting to use a procedural rune combination system?
yes. I made sure that the ID of a magic special can be calculated from the runes it consists from.
Are we able to send other information associated with particular special attacks too? Charges on a passive special showing current effect, or on an active skill showing the effect should it be activated at that time, for instance?
I am not 100% sure what exactly you mean with that and what your intention is, but it sounds like it's possible.
The rune combination system strikes me as more suitable for a static game world more than one with regular content releases, given the changes implied with the addition of even one new rune
I have no idea how you got this impression. It's common for MMO games that new features change the way a game is played. In my opinion this is one of the best aspects of MMO games, because it keeps the game interesting.
How would more unique specials be defined, either of magic or conventional types?
Define "more unique".
Would still be nice to have a more clear cut separation of tmw-manaserv/tmw-eathena systems in the rune combination article, I'm still mostly having to guess at the splits and am still rather unclear on your intentions here.
The article is 100% intended for Manaserv. I don't know if the eA devs are planning a similar system, but when they do the Manaserv system is not affected by it.
  • former Manasource Programmer
  • former TMW Pixel artist
  • NOT a game master

Please do not send me any inquiries regarding player accounts on TMW.


You might have heard a certain rumor about me. This rumor is completely false. You might also have heard the other rumor about me. This rumor is 100% accurate.
User avatar
Crush
TMW Adviser
TMW Adviser
Posts: 8046
Joined: 25 Aug 2005, 16:08
Location: Germany

Re: Special Attack System

Post by Crush »

John P wrote: If you are all dead-set on this runes-on-the-clothes thing,
I am dead set on runes on clothing for magic but I wouldn't mind when the special attack set available to a character is determined in a different way.
  • former Manasource Programmer
  • former TMW Pixel artist
  • NOT a game master

Please do not send me any inquiries regarding player accounts on TMW.


You might have heard a certain rumor about me. This rumor is completely false. You might also have heard the other rumor about me. This rumor is 100% accurate.
User avatar
Freeyorp101
Archivist Prime
Archivist Prime
Posts: 765
Joined: 04 Nov 2008, 09:17
Location: New Zealand

Re: Special Attack System

Post by Freeyorp101 »

Crush wrote:
Freeyorp101 wrote:How would more unique specials be defined, either of magic or conventional types?
Define "more unique".
Off the top of my head with numbers pulled from nowhere:

Special "foo", on activation, applies effect "bar" to self for 10 seconds. "bar" effects: 10% of damage dealt heals self. Doubles non-raw attack speed. -30 dodge. 10% change on attack to stun target for 0.1 seconds on a shared cooldown of at least 1 second with [effects of a similar type].

Special "foobar", on activation, channels self for 5 seconds. During channel, damage taken is halved. On channel expiration, 30% of the absorbed damage is dealt to a random being that attacked self during channel.


When all specials are procedurally generated I don't see how such things could be defined except as generic templates.
Crush wrote:
Would still be nice to have a more clear cut separation of tmw-manaserv/tmw-eathena systems in the rune combination article, I'm still mostly having to guess at the splits and am still rather unclear on your intentions here.
The article is 100% intended for Manaserv. I don't know if the eA devs are planning a similar system, but when they do the Manaserv system is not affected by it.
When I read statements such as "Every finished spell rune needs one effect syllable. It determines what kind of damage the spell inflicts, how much basic damage and the basic mana cost.", I wonder how you plan on fitting in spells that serve a role other than directly dealing damage into this system.


While attack magic is more than definitely a key part of magical specials, and I do want to gradually depreciate autoattacks in favor of active attacks as gameplay progresses, there should also be room for roles other than dealing damage, whether these be support roles, tanking roles, or even special purpose spells for quests.

There are support spells listed on your article, but it is a very short listing with only three entries. Even then, how are you planning on the compulsory effect syllable affecting these spells?

The summon spells are simply listed as spells without any indication as to how the parser should derive these spells, or even any associated runes to go with them. What is your plan for these? They apparently have some connection with your plans for procedurally generated spells as they are listed on the same page, but I cannot find any explanation of how.

You have stated that you want healing spells to be separate from this scheme, but how then are you intending to award/craft healing spells? Isn't separation of such things impairing player choice/specialization? What limitations are you placing on healing spells a character can have available?

The final part of the page documents unsorted spells. This is the part that reminds me of tmw-eathena more than ever, but if you say that the entire article is intended for tmw-manaserv then so be it.
These seem to be the most creative out of any spells listed on the entire page, which I suppose is why they are having trouble being sorted into a procedural system. It is mainly spells such as these that I am wondering about.

Crush wrote:I am dead set on runes on clothing for magic but I wouldn't mind when the special attack set available to a character is determined in a different way.
Would you consider a rune combination system where the effects are defined in a non-procedural manner? Say, having runes as components and having to obtain a recipe/activation scroll/some npc person (perhaps with an associated skill) to apply to equipment when a working combination is found/discovered/learned.

Crush wrote:
Will there be different effects based on slot types?
please clarify.
As an example, will it be possible for high-end equipment to have specialized slots that enhance and/or change the effect of certain spells?

Are we able to send other information associated with particular special attacks too? Charges on a passive special showing current effect, or on an active skill showing the effect should it be activated at that time, for instance?
I am not 100% sure what exactly you mean with that and what your intention is, but it sounds like it's possible.
A way for the client to display simple information (I would be happy with transmitting a single unsigned integer/short/byte/whatever to be displayed in near or below a special in the GUI) about a passive or active special.


---Freeyorp
(09:58:17) < tux9th> Freeyorp: your sig on the forums is kind of outdated
User avatar
Jaxad0127
Manasource
Manasource
Posts: 4209
Joined: 01 Nov 2007, 17:35
Location: Internet

Re: Special Attack System

Post by Jaxad0127 »

John P wrote:Image
I'd rather integrate these into the planned unified shortcut system. Have each type take a single slot, with number available and total in the lower right corner (avail/total) and the recharge showing the next to be finished (if more than one instance is recharging).
Image
User avatar
Rotonen
TMW Adviser
TMW Adviser
Posts: 3154
Joined: 08 Sep 2004, 19:48
Location: Bern, Switzerland

Re: Special Attack System

Post by Rotonen »

At the given time and blocking tasks (playerset, tilesets, mapping), I'm not willing to comment whether or not specials in any format will be a part of CR1. I am more than willing to see them on dev.themanaworld.org at any point and make the call when CR1 approaches maturation and we push stuff to testing.themanaworld.org.

On the other hand I'm really rather happy to see quality discussion on this topic.
This message used to be meaningful.
User avatar
Crush
TMW Adviser
TMW Adviser
Posts: 8046
Joined: 25 Aug 2005, 16:08
Location: Germany

Re: Special Attack System

Post by Crush »

Freeyorp, your concerns about the magic system are off topic here. When you open a new thread about it I will answer your questions. But to keep this thread focused on physical special attacks I will only say two thing: Special attacks are unrelated to magic and special attacks can borrow concepts from the magic system but they don't have to.

Edit: Never mind, I created one myself:
http://forums.themanaworld.org/viewtopi ... 30&t=11004
Freeyorp wrote:Off the top of my head with numbers pulled from nowhere:

Special "foo", on activation, applies effect "bar" to self for 10 seconds. "bar" effects: 10% of damage dealt heals self. Doubles non-raw attack speed. -30 dodge. 10% change on attack to stun target for 0.1 seconds on a shared cooldown of at least 1 second with [effects of a similar type].

Special "foobar", on activation, channels self for 5 seconds. During channel, damage taken is halved. On channel expiration, 30% of the absorbed damage is dealt to a random being that attacked self during channel.
All this can be done by the script engine when a special is used. Again:

1. The script engine tells the C++ engine which Special IDs (which are just 32bit integers for the C++ engine, nothing more) a character can use and when the character can use them (cooldown, recharge, SP).
2. When the client uses a special the C++ engine checks if the requisites (cooldown, recharge, SP) are met and when this is the case...
3. ...the script engine receives the user, specialID and target. What happens then is entirely up to the script engine.

"Proceduarally generated" can mean different things. For example:
1. The script engine breaks up the special ID into bit groups and interprets them as parameters to functions which calculate the effect (the magic system will do this)
2. The script engine looks up the effect of the special ID in a "hardcoded" lookup table (a conventional system based on predesigned special attacks would do this)
  • former Manasource Programmer
  • former TMW Pixel artist
  • NOT a game master

Please do not send me any inquiries regarding player accounts on TMW.


You might have heard a certain rumor about me. This rumor is completely false. You might also have heard the other rumor about me. This rumor is 100% accurate.
John P
Warrior
Warrior
Posts: 271
Joined: 19 Apr 2009, 00:55

Re: Special Attack System

Post by John P »

If magicians have to manipulate their armor, and thus negate its worth over time, a warrior should, too (unless there is some other way to drain their resources).

Supposing that the basic Rune Syllable "Fire" defaults as an armor defense (proposal from Magic System Discussion)...

Example warrior Rune combinations:
Fire+Strike = No-range attack (based on strength instead of willpower)
Metal+Strike+Reach = Projectile Attack
*Fire+Protect = Self-Fire enhance (for tanking)

Example Archer Rune Combinations:
Water+Shot = No-range attack
Water+Shot+Reach = Ranged water missle

Obviously the names are stupid, but you get the point.

*Providing tanking specials would be cool, but would reduce necessity of mixed parties

--------------------

I suppose runes should not be separated into magic/fighter tabs in order to encourage non-specialization.

I DO think certain equipment should associate with specific elements.
User avatar
Crush
TMW Adviser
TMW Adviser
Posts: 8046
Joined: 25 Aug 2005, 16:08
Location: Germany

Re: Special Attack System

Post by Crush »

I wonder if it isn't redundant to give special attacks explicit elements when we also want to give weapons elemental properties. When melee fighters can use different weapons to inflict elemental damage they needn't elemental properties on their special attacks too, imo.

I am all for letting melee fighters also design their own attacks like mages do, but special attacks with elemental property different from the equipped weapon should be rather the exception than the norm (though it might still be useful in some situations to be able to use a water attack although you have a fire weapon equipped).
  • former Manasource Programmer
  • former TMW Pixel artist
  • NOT a game master

Please do not send me any inquiries regarding player accounts on TMW.


You might have heard a certain rumor about me. This rumor is completely false. You might also have heard the other rumor about me. This rumor is 100% accurate.
Turmfalke
Manasource
Manasource
Posts: 350
Joined: 10 Aug 2008, 18:28
Location: Maligree's Wonderful Garden

Re: Special Attack System

Post by Turmfalke »

I have also wondered, how would a water attack with a fire sword look like? does it creates a small cloud above the target?
I stand beside the holy man
The monarchs fear my wrath
None may move the way I can
Ever the crooked path
a knight
User avatar
Rotonen
TMW Adviser
TMW Adviser
Posts: 3154
Joined: 08 Sep 2004, 19:48
Location: Bern, Switzerland

Re: Special Attack System

Post by Rotonen »

Let's not overcomplicate this. Just make the elemental rune/modifier to be the potential elemental property of the piece of equipment in question.

On the long run players will gather different elemental kits to be at their disposal.
This message used to be meaningful.
John P
Warrior
Warrior
Posts: 271
Joined: 19 Apr 2009, 00:55

Re: Special Attack System

Post by John P »

If a fighter decides to pursue fire specials, he will probably seek out a +fire sword.

Magic users and melee fighters can also have special skills unrelated to elementals, but I think both sides should have elemental specials (being that they are both pooling mana to attack -- especially if the charge-up attack is used).

For example, melee fighters can have special attack techniques (double-slash, etc), while magic users can have other various skills (identify enemy element, identify items, and some other things that I can't think of right now).
User avatar
Bertram
Manasource
Manasource
Posts: 1026
Joined: 07 Sep 2004, 14:55
Location: France

Re: Special Attack System

Post by Bertram »

Hi,

The special system and the interaction between the scripts and the engine is quite clearly defined.
All that we seem to lack is, implementation apart obviously, a start of a simple "hard-coded" table of special.
I'd be glad to see the basics of this system running with a real simple example function put in the script of the tmwdata repo. Can you make patch using git, Crush? :cry:

One thing I didn't find as neatly defined is the SP pools handling. I guess some specials will be taking SP in their "own" pools, some in the first-of-this-family-of-specials pool, some in the main SP bar, and some nowhere? Am I right?
If I'm not too far from truth, I guess that the pools will need to be stacked with convenient attributes... Still right?

There is one thing else lacking I can see coming: The inner targeting system. As for now, ManaServ only handles targeted fights, even if the code for computing areas is already there.
Then, I guess adding area of damage for ManaServ would be a good addition, tiled based for now.

One thing I also don't really get (Mea Culpa) is the link between the runes and the specials.
KISSLY thinking, I thought that the script handling the specials call could have a way to check if a rune was set on some equipment slot and react or not based on this.
I also thought that runes could have some kind of passive script function check their existence and upgrade the player element sensibility.

I've said too much anyway because I truly think we really should focus on specials at first, not forgetting the nice TMWserv todo list. ;)

Best regards.
Post Reply