Author Topic: Editable stat boosts upon level up  (Read 1224 times)

Ishmaru

  • Behemoth
  • *******
  • Posts: 1,071
  • um wat??
    • View Profile
    • DelphaDesign
Editable stat boosts upon level up
« on: 14 November 2011, 04:14:03 »
This came up talking Wyvern abut Annex having units level up. https://forum.megaglest.org/index.php?topic=6517.msg78479#msg78479

The issue with level ups are that they raise hp and ep and vision range, hp and vision is fine but ep causes a big problem. Many units such as Eml Walkers, tanks, Mrls, or any weapon thats not a machine gun, use Ep as a cool down timer. For example Tanks have a max of 4 ep and requiring tank to regen 4 ep to fire again. If the tank levels up it will get some bonus ep, so now tank has a max ep of 6. This causes the tank to take its first two shots in rapid fire then go back to its normal firing rate, which is really strange, not to mention mess up balance.

Don't mean to be a pain but would it be problematic to allow moders to edit the stats and amounts of when your unit level up? A system like GAE https://docs.megaglest.org/GAE/Custom_levels would be the most helpful for moders. Or something similar :)

Would this be an issue?

 Thanks again!
« Last Edit: 18 June 2016, 15:28:27 by filux »
Annex: Conquer the World Release 4 For Pc Mac + Linux
https://forum.megaglest.org/index.php?topic=9570.0
Annex is now on Facebook!
https://www.facebook.com/AnnexConquer

MuwuM

  • Ornithopter
  • *****
  • Posts: 426
  • No Game without Move(ment)
    • View Profile
    • MuwuM - Lexicons
Re: Editable stat boosts upon level up
« Reply #1 on: 14 November 2011, 11:23:13 »
I think this would be a very useful feature. For realisation the only issue would be wether the GAE code works with MG or has to be modified (multiplayer).

Omega

  • MegaGlest Team
  • Dragon
  • ********
  • Posts: 6,167
  • Professional bug writer
    • View Profile
    • Personal site
Re: Editable stat boosts upon level up
« Reply #2 on: 14 November 2011, 18:58:10 »
And I think the syntax should be EXACTLY the same as in GAE, for compatibility purposes.
Edit the MegaGlest wiki: http://docs.megaglest.org/

My personal projects: http://github.com/KatrinaHoffert

softcoder

  • MegaGlest Team
  • Battle Machine
  • ********
  • Posts: 2,239
    • View Profile
Re: Editable stat boosts upon level up
« Reply #3 on: 14 November 2011, 22:31:16 »
Omega, I don't see the need for the 'capitalization' of words in this case. I think the message was well communicated by Ishmaru and your comment simply adds noise to the thread and little value. I wouldn't mind if you had something additional to add but Ishmaru's comments and link are sufficient in this case.

Ishmaru, could you explain this further? Are you now talking about a change to attack-boost or are you talking of the unit levels (which is something totally different)? Either way please expand.
« Last Edit: 14 November 2011, 22:37:04 by softcoder »

MuwuM

  • Ornithopter
  • *****
  • Posts: 426
  • No Game without Move(ment)
    • View Profile
    • MuwuM - Lexicons
Re: Editable stat boosts upon level up
« Reply #4 on: 14 November 2011, 22:47:53 »
What Ishmaru (and me) want is the ability to modify unit levels to make them as configurable as attack-boost instead of the default percentage figures, so level-up's could be used more effectiv in many mods.

GAE does it like this:
Code: [Select]
<levels>
<level name="elite" kills="6" defaults="false">
   <multipliers>
      <max-hp value="5" />
   </multipliers>
   <static-modifiers>
      <hp-regen value="10" />
      <armor value="15" />
      <attack-strength value="50" />
   </static-modifiers>
</level>
</levels>

I think I'd like the syntax of the attack-boost much more, but the compatibility issue that Omega mentioned is important, too.



Further explaination:

At the moment a level-up is done by percentage bonus: they are given a +50% max HP, +50% max EP, +50% armor, and +20% sight boost, which stacks with each level.
This leads to the point that a unit with 450 live has 3417 life after only 5 level-up's wich is about 7.6 times of starting value.

That make it impossible to use more then 3 level without creating overpowered late-game-units, that were extremly weak in early-game.

That's why GAE added the ability to manually set the level-up behaviour.
(click to show/hide)

Because this feature was very usefull for modding it's now requested to be ported to MG, too.
This could be done by GAE code/syntax or a new code/syntax wich would be like attack-boost, but static.

(click to show/hide)

Edit by Omega: Code boxes inside of spoiler boxes need an extra blank line separating the [/code] tag from the [/spoiler] tag.
« Last Edit: 18 June 2016, 17:39:57 by filux »

Omega

  • MegaGlest Team
  • Dragon
  • ********
  • Posts: 6,167
  • Professional bug writer
    • View Profile
    • Personal site
Re: Editable stat boosts upon level up
« Reply #5 on: 15 November 2011, 00:11:34 »
I think I'd like the syntax of the attack-boost much more, but the compatibility issue that Omega mentioned is important, too.
Regardless of what softcoder considers "noise", I again stress that the syntax use the same as GAE, as we don't need to make another rift between the two engines. GAE's syntax covers everything (of course, you'd have to remove the effect-strength line, as MG doesn't have effects) and above all, ensures compatibility. It's a major disadvantage to modders to have the engines do the same thing different ways, without any advantage at all. It just makes porting mods considerably more difficult and places a larger burden on the modders.
Edit the MegaGlest wiki: http://docs.megaglest.org/

My personal projects: http://github.com/KatrinaHoffert

Ishmaru

  • Behemoth
  • *******
  • Posts: 1,071
  • um wat??
    • View Profile
    • DelphaDesign
Re: Editable stat boosts upon level up
« Reply #6 on: 15 November 2011, 03:26:09 »
Yes, MuwuM summed up what I wanted nicely.

Thanks softcoder!
Annex: Conquer the World Release 4 For Pc Mac + Linux
https://forum.megaglest.org/index.php?topic=9570.0
Annex is now on Facebook!
https://www.facebook.com/AnnexConquer

MuwuM

  • Ornithopter
  • *****
  • Posts: 426
  • No Game without Move(ment)
    • View Profile
    • MuwuM - Lexicons
Re: Editable stat boosts upon level up
« Reply #7 on: 15 November 2011, 07:29:45 »
Omega would it be acceptable for you, using my syntax, when it also support GAE syntax?

Would look like

(click to show/hide)

Edit by Omega: Also, spoiler tags must start on a new line, otherwise the code block is less than a line tall and practically unreadable.
« Last Edit: 15 November 2011, 21:56:26 by Omega »

Omega

  • MegaGlest Team
  • Dragon
  • ********
  • Posts: 6,167
  • Professional bug writer
    • View Profile
    • Personal site
Re: Editable stat boosts upon level up
« Reply #8 on: 15 November 2011, 22:17:26 »
No. That doesn't solve the issue I pointed out at all: compatibility. If a modder created a level up that increased stats but only used the MG format, then it's still incompatible. Ideally, only the parts that actually differ should be changed. In this case, you want particles, just use the particles tag in the level tag. So for the example on that:

Code: [Select]
<levels>
<level name="level_name" kills="5" default="false">
<!-- Both engines -->
<static-modifiers>
<max-hp value="0" />
<max-ep value="0" />
<hp-regeneration value="0" />
<ep-regeneration value="0" />
<sight value="0" />
<armor value="0" />
<attack-strength value="0" />
<attack-range value="0" />
<move-speed value="0" />
<attack-speed value="0" />
<production-speed value="0" />
<repair-speed value="0" />
<harvest-speed value="0" />
</static-modifiers>
<multipliers>
<max-hp value="1" />
<max-ep value="1" />
<hp-regeneration value="1" />
<ep-regeneration value="1" />
<sight value="1" />
<armor value="1" />
<attack-strength value="1" />
<attack-range value="1" />
<move-speed value="1" />
<attack-speed value="1" />
<production-speed value="1" />
<repair-speed value="1" />
<harvest-speed value="1" />
</multipliers>
<!-- MegaGlest only -->
<particles value="true">
<particle-file path="particles.xml" />
</particles>
<!--
If specified, radius will mean all units within this radius of the
leveling unit will be also be given the stat boost. If not specified or
set to zero,
-->
<radius value="3" />
<!--
If radius is not zero, a target must be set, stating which units can
be affected by the level up boost. So if set to ally, allies within
the radius will recieve a level up boost.
-->
<target value="ally" />
<!--
Giving all these units within the radius a boost in stats
could be extremely overpowered if permanent, so a time limit
would be necessary for such a feature to be of use. Measured
in seconds, if set to zero, the boost is permanent.
-->
<time value="10" />
<!--
Likewise, boosts could be overpowered if they stacked, especially with
large boosts, which could be a gamebreaker. If false, a unit can only
have one boost at a time.
-->
<allow-multiple-boosts value="false" />
</level>
</level>

The difference with this is the removal of MegaGlest only stat modifier tags, as they are useless when the static and modifier boosts do the exact same thing, but won't cause engine incompatibility. You could still add particles with the particle tag, which would presumably apply the particles permanently to that unit, in the same syntax as all the skills use particles.

Personally, I'm not entirely sure of the use of letting other units receive boosts on one unit leveling up (especially since that could be very overpowering: letting every unit in a group get +50% HP and EP, for example, just because one of the units got a level up), but if it were to be used, there'd likely have to be some way to set a time limit, as we'll presume we won't permanently increase the stats all these units that didn't even actually level up themselves (while still allowing a permanent boost by setting the timer to zero).

Personally, I'd say just implement the static modifiers and multipliers tags, and possibly the particles, but the concept of giving boosts to nearby units upon leveling seems like a lot of work for a feature that could end up being a game breaker.
Edit the MegaGlest wiki: http://docs.megaglest.org/

My personal projects: http://github.com/KatrinaHoffert

 

anything