Commanders

Get some help with creating maps or modding.
Need a map editor or other tools, look here!
Post Reply
felipe
Trained
Trained
Posts: 63
Joined: 05 Jun 2012, 20:19

Commanders

Post by felipe »

Hi gentleman's

I like to play using commanders, but for what I read in this forums, seems to me that people generally don't use them.
The number of units associable to commanders is hard coded, I made a patch (against rc2) to make the number of starting units (6 by default) and the multiplier applied the level of commander (2 by default), read from two of the unused variables in brain.txt.

Making the number of units modifiable by mods (I tried some test play with 8/3 or 12/2 or 18/1 or 12/4 :twisted: ), can make people start using commanders ?

I can send the patch and some mods to test out some different values.

Or, no interest at all ?

Cheers
User avatar
psychopompos
Trained
Trained
Posts: 470
Joined: 08 Nov 2007, 09:18
Location: UK

Re: Commanders

Post by psychopompos »

cmdr survivability is low when you can kill them through their own attached units or friendly structures. or said units pin them in position.
one of the best uses for a cmdr is defence, since their 'fire support' option allows some player control of defensive structures.
MOTHERBOARD - MSI P7N PLATINUM¦-¦PROCESSOR - C2D E7300 @ 4.00GHZ
MEMORY - 4 Gig (2x2gig) ddr2 1066mhz¦-¦OPERATING SYSTEM - WINDOWS 7 (ULT)
GRAPHICS - BFG GTX 260 OCX (requires ForceWare drivers for good openGL)
User avatar
Iluvalar
Regular
Regular
Posts: 1828
Joined: 02 Oct 2010, 18:44

Re: Commanders

Post by Iluvalar »

It's just a matter of fine tuning.

I believe that 6+2*lvl is perfect because commanders make sens if you plan to spread armies on different position. They not really worth it if you use less than 3 commanders. So since it's easy to reach ~12 units per commander. This mean you control in between 36 to 60 units. That more than enough. If we try to balance commander by giving them more units, they gonna be used only when the power is very high, and be useless in normal matches. That's not what we are aiming for.
Heretic 2.3 improver and proud of it.
felipe
Trained
Trained
Posts: 63
Joined: 05 Jun 2012, 20:19

Re: Commanders

Post by felipe »

Ok, I understand your's statements.

I still think that making commanders more "moddable" can make them more appealing.

Increasing the number of units can make them useful in high oil maps or commanding cyborgs... or light body vehicles.
Changing the commander turret (already possible) can make harder finding and killing them.

I'm not proposing to change the values in the base game.
Only to be possible to change it in mods !
Opening up possibilities.....

Just my 0.2c.

Feli
User avatar
NoQ
Special
Special
Posts: 6226
Joined: 24 Dec 2009, 11:35
Location: /var/zone

Re: Commanders

Post by NoQ »

In the "battle for wesnoth" opensource game i have recently checked out, they have a similar system of experience levels and commanders and a similar campaign system with units transfered to the next level, so, much like in warzone, experience has a lot more importance in campaign than in sk/mp. Their solution is to make an adjustable experience rate multiplier for sk/mp games; before an sk/mp game you just set that you need 30% less experience points to advance the unit to the next level, and it gets sort of reasonably balanced. In our case there is also a problem that experience is more important in skirmish than in multiplayer, but this solution handles that as well: you can set different modifiers for skirmish and multiplayer when necessary.
raycast
Trained
Trained
Posts: 131
Joined: 12 Sep 2012, 19:16

Re: Commanders

Post by raycast »

I believe DyDo-AI for example was very good at shooting down your commanders via VTOL strikes. In the 2.3.x days when playing with DyDo AI I quickly gave up on using them. It's fairly hard to protect a single unit in offense in multiplayer against suicide VTOLs. Usually, you have to live with losing a few units on a VTOL attack, but if your defenses are good you can shoot down quite a few VTOLs before they get away. Yet, commanders are mostly useful in managing offensive and defensive groups, often in a location where you do not have a full defense set up and instead rely on it not paying off to send in 5+ VTOLs to kill a single unit.

Experience levels in multiplayer could IMHO use some boost. This will add an interesting level of complexity if you actually have a chance of getting ~30% of power bonus by having your units survive. Right now at the end of the games I barely see "veteran" units. That's 64 kills with a single unit, probably a lot of that when eradicating the base, and 128 for the next level. So the factor of 30% will make at most one extra level reachable. Maybe instead we should make the progression shallower, instead of doubling for each level, 150% of the previous levels kills are required? That would be 0-4-6-9-13.5-20.25-30.38-45.56-68.34 instead of 0-4-8-16-32-64-128-256-512.

In campaign, units can level up pretty quickly. In the first missions there is a lot of low-powered stuff to kill such as scavengers. It's easy to have even the early units survive through that, then upgrade them. Later on, in particular commanders can level up pretty fast, so you could do "commander duty" to get more top-leveled units. But in MP, you usually don't have the time to prepare by slaughtering hundreds of scavengers. :lol2:

Quick poll: On your next multiplayer games, note the highest ranks your units got at the end of the game.

But here is one more idea to add a fresh twist to the whole experience thing:

Attack units get that extra strength, commanders can carry more units. I'm not sure if repair units benefit, and they certainly don't get experience unless by recycling. But the units I'd like to talk about are sensor units and artillery. How about giving sensors (and maybe artillery) a range bonus?. Say, regular has +1, elite has +2 and a hero+1 (a unit assigned to a hero commander) unit has a range bonus of 3. This would mean that high-level mobile artillery and sensors can easily take out a turtle artillery station. The idea is, I'd like to make it attractive to actually go and recycle an experienced unit into a sensor or artillery (well, artillery needs more discussion: they do benefit from the accuracy bonus - plus they can get a lot of kills to level up, too.)
User avatar
Avestron
Trained
Trained
Posts: 314
Joined: 03 Jul 2009, 02:23

Re: Commanders

Post by Avestron »

Perhaps Sensors, repair & construction units could gain experience on the basis of the duration of contact. Ideally a seperate branch of experience (green for sensors and blue for repair/ construction).

Couple this with locking type of experience on recycle and you'll never get a veteran repair drone-gone-attack droid.
Image
felipe
Trained
Trained
Posts: 63
Joined: 05 Jun 2012, 20:19

Re: Commanders

Post by felipe »

NoQ wrote:In the "battle for wesnoth" opensource game i have recently checked out, they have a similar system of experience levels and commanders and a similar campaign system with units transfered to the next level, so, much like in warzone, experience has a lot more importance in campaign than in sk/mp. Their solution is to make an adjustable experience rate multiplier for sk/mp games; before an sk/mp game you just set that you need 30% less experience points to advance the unit to the next level, and it gets sort of reasonably balanced. In our case there is also a problem that experience is more important in skirmish than in multiplayer, but this solution handles that as well: you can set different modifiers for skirmish and multiplayer when necessary.
I like this !!!
Taking a look at the c++ code seems easy to me to implement.
I already made a patch that in case of "non campaign" apply a multiplier of 1.3, seems to work fine.
If you (or someone else) can suggest an appropriate .txt file to add the multipliers, I'll make the changes.

This is the patch for the commanders number of units, works fine in rc3.
The patch apply the default values (6+2*LEV) in brain.txt.

Code: Select all

diff -r -u warzone2100-3.1_rc2/data/base/stats/brain.txt warzone2100-3.1_rc2.mod/data/base/stats/brain.txt
--- warzone2100-3.1_rc2/data/base/stats/brain.txt       2012-08-20 19:33:02.000000000 -0300
+++ warzone2100-3.1_rc2.mod/data/base/stats/brain.txt   2012-10-06 17:49:17.000000000 -0300
@@ -1,2 +1,2 @@
 ZNULLBRAIN,Level All,0,0,0,0,0,ZNULLWEAPON,0
-CommandBrain01,Level All,1,1,1,1,1,CommandTurret1,0
+CommandBrain01,Level All,1,1,1,6,2,CommandTurret1,0
diff -r -u warzone2100-3.1_rc2/data/mp/stats/brain.txt warzone2100-3.1_rc2.mod/data/mp/stats/brain.txt
--- warzone2100-3.1_rc2/data/mp/stats/brain.txt 2012-08-20 19:33:05.000000000 -0300
+++ warzone2100-3.1_rc2.mod/data/mp/stats/brain.txt     2012-10-06 17:48:56.000000000 -0300
@@ -1,2 +1,2 @@
 ZNULLBRAIN,Level All,0,0,0,0,0,ZNULLWEAPON,0
-CommandBrain01,Level All,1,1,1,1,1,CommandTurret1,0
+CommandBrain01,Level All,1,1,1,6,2,CommandTurret1,0
diff -r -u warzone2100-3.1_rc2/src/cmddroid.cpp warzone2100-3.1_rc2.mod/src/cmddroid.cpp
--- warzone2100-3.1_rc2/src/cmddroid.cpp        2012-08-20 19:33:08.000000000 -0300
+++ warzone2100-3.1_rc2.mod/src/cmddroid.cpp    2012-10-06 19:15:02.000000000 -0300
@@ -170,7 +170,7 @@
 /** This function returns the maximum group size of the command droid.*/
 unsigned int cmdDroidMaxGroup(const DROID* psCommander)
 {
-       return getDroidLevel(psCommander) * 2 + MIN_CMD_GROUP_DROIDS;
+    return getDroidLevel(psCommander) * getBrainStats(const_cast<DROID*>(psCommander))->dMult + getBrainStats(const_cast<DROID*>(psCommander))->minDroids;
 }
 
 /** This function adds experience to the command droid of the psKiller's command group.*/
diff -r -u warzone2100-3.1_rc2/src/droid.h warzone2100-3.1_rc2.mod/src/droid.h
--- warzone2100-3.1_rc2/src/droid.h     2012-08-20 19:33:08.000000000 -0300
+++ warzone2100-3.1_rc2.mod/src/droid.h 2012-10-06 20:29:22.000000000 -0300
@@ -59,9 +59,6 @@
 /* Misc accuracy modifiers */
 #define        FOM_PARTIAL_ACCURACY_PENALTY    50      // penalty for not being fully able to fire while moving, in %
 
-/* Minumum number of droids a commander can control in its group */
-#define        MIN_CMD_GROUP_DROIDS    6
-
 enum PICKTILE
 {
        NO_FREE_TILE,
diff -r -u warzone2100-3.1_rc2/src/stats.cpp warzone2100-3.1_rc2.mod/src/stats.cpp
--- warzone2100-3.1_rc2/src/stats.cpp   2012-08-20 19:33:09.000000000 -0300
+++ warzone2100-3.1_rc2.mod/src/stats.cpp       2012-10-06 15:57:50.000000000 -0300
@@ -1131,7 +1131,7 @@
                //read the data into the storage - the data is delimeted using comma's
                sscanf(pBrainData,"%255[^,'\r\n],%255[^,'\r\n],%d,%d,%d,%d,%d,%255[^,'\r\n],%d",
                        BrainName, dummy, &psStats->buildPower,&psStats->buildPoints,
-                       &psStats->weight, &dummyVal, &dummyVal,
+                       &psStats->weight, &psStats->minDroids, &psStats->dMult,
                        weaponName, &dummyVal);
 
                if (!allocateStatName((BASE_STATS *)psStats, BrainName))
diff -r -u warzone2100-3.1_rc2/src/statsdef.h warzone2100-3.1_rc2.mod/src/statsdef.h
--- warzone2100-3.1_rc2/src/statsdef.h  2012-08-20 19:33:09.000000000 -0300
+++ warzone2100-3.1_rc2.mod/src/statsdef.h      2012-10-06 15:55:06.000000000 -0300
@@ -485,6 +485,8 @@
 struct BRAIN_STATS : public COMPONENT_STATS
 {
        WEAPON_STATS    *psWeaponStat;  ///< weapon stats associated with this brain - for Command Droids
+       UDWORD          minDroids;
+       UDWORD          dMult;
 };
 
User avatar
Terminator
Regular
Regular
Posts: 1077
Joined: 05 Aug 2006, 13:46
Location: Ukraine
Contact:

Re: Commanders

Post by Terminator »

For commanders it would be better to have own "skills". For exemple "mega-evasion" for a few seconds or something so whan he will be focusing he has a chance to stay alive.
Death is the only way out... sh*t Happens !

Russian-speaking Social network Group http://vk.com/warzone2100
Post Reply