Author Topic: Global Damage Multiplier in Custom Game Options  (Read 469 times)

-Archmage-

  • Moderator
  • Dragon
  • ********
  • Posts: 5,886
  • Make it so.
    • View Profile
    • My Website
Global Damage Multiplier in Custom Game Options
« on: 6 June 2016, 03:49:49 »
What I propose
A simple damage multiplier in the settings where you set up a match, that affects all units, without requiring manual XML modification. This is similar to a hardcore mode in many other games, BUT offers much more control to the player, allowing for many more gameplay possibilities.

Why I'm bringing it up
I've found one of my biggest complaints about MegaGlest is that the combat feels relatively sluggish and uneventful. In my Magitech-Refit mod 7 years ago, I upped damage significantly because I found the combat was more 'hardcore', with battles becoming more dramatic, and with less units standing there continuously hacking away to little avail.

How it can work for everyone
Firstly, the default would always be 1.0, So unless anyone specifically changed this setting, the original experience would be completely unaffected. This feature would allow people who enjoy a different pace and a relatively more realistic combat feel to enjoy the game more. Many of you who like the game the way it is may think I'm just playing the game wrong. But MegaGlest is all about the player having a good time, and there are lots of other potential players that would surely enjoy having this option available to them.
Egypt Remastered!

Proof: Owner of glest@mail.com

MoLAoS

  • Ornithopter
  • *****
  • Posts: 433
    • View Profile
Re: Global Damage Multiplier in Custom Game Options
« Reply #1 on: 5 October 2016, 06:29:31 »
This is pretty simple. A variable in the world class that initialized to 1.0. Then you simply add something like:

damage equation crap * world->getDamageMultiplier();

-Archmage-

  • Moderator
  • Dragon
  • ********
  • Posts: 5,886
  • Make it so.
    • View Profile
    • My Website
Re: Global Damage Multiplier in Custom Game Options
« Reply #2 on: 5 October 2016, 06:35:06 »
Yeah, the logic is super simple. Implementing it is a different story for those of us who aren't good coders. :P
Egypt Remastered!

Proof: Owner of glest@mail.com

MoLAoS

  • Ornithopter
  • *****
  • Posts: 433
    • View Profile
Re: Global Damage Multiplier in Custom Game Options
« Reply #3 on: 5 October 2016, 06:40:30 »
No I mean, literally I wrote all the code you needed. Okay well not the get function. Unless MegaGlest is calculating damage in more than one area, which is a violation of OOP, you just need to assign a variable to World and then apply it in the damage equation.

In world.h:
int damageMultiplier;
int getDamageMultiplier() {return damageMultiplier;}

In wherever damage is calculated:
damage equation crap * world->getDamageMultiplier();

Since this is modified in game you don't even need to mess with the config file or anything.

The most work is adding an editbox in the UI to modify the variable at game set up.

titi

  • MegaGlest Team
  • Airship
  • ********
  • Posts: 4,227
    • View Profile
    • http://www.titusgames.de
Re: Global Damage Multiplier in Custom Game Options
« Reply #4 on: 2 November 2016, 23:36:02 »
The real problem is where to place such a switch in the already very crowded custom game menu ? And to be honest I don't get the point of this change yet.
Try Megaglest! Improved Engine / New factions / New tilesets / New maps / New scenarios

-Archmage-

  • Moderator
  • Dragon
  • ********
  • Posts: 5,886
  • Make it so.
    • View Profile
    • My Website
Re: Global Damage Multiplier in Custom Game Options
« Reply #5 on: 3 November 2016, 06:49:19 »
I really think my original post sums it up pretty well.

When it comes to strategy games, the more options the better!  8) Have you played Civilization? The game has endless possibilities, partially because it has so many options on the create a game screen(especially with mods).

You could also hide it behind the advanced toggle as with other advanced features so that the menu is kept simpler for new players.

Currently, if a player wants differently paced or more realistic combat, they'd have to modify every single XML file for the whole tech tree. And then give it to anyone they wanted to play multiplayer with. Further, tech tree XMLs could even specify their own default multiplier. This would allow every faction to be designed to play against the Megapack at a 1.0 multiplier, while also playing differently within other tech trees due to the tech tree specific multiplier.
Egypt Remastered!

Proof: Owner of glest@mail.com

 

anything