Jump to content

Introducing the Official community mod for 0 A.D. Empires Ascendant


wraitii
 Share

Should these patches be merged in the Community Mod? II  

47 members have voted

  1. 1. Add Centurions: Upgradable at a cost of 100 food 50 metal from rank 3 swordsmen and spearmen. https://gitlab.com/0ad/0ad-community-mod-a26/-/merge_requests/27

    • Yes
      34
    • No
      6
    • Skip / No Opinion
      7
  2. 2. Alexander - Remove Territory Bonus Aura, add Attack, Speed, and Attack de-buff Auras https://gitlab.com/0ad/0ad-community-mod-a26/-/merge_requests/26

    • Yes
      26
    • No
      9
    • Skip / No Opinion
      12
  3. 3. Unit specific upgrades: 23 new upgrades found in stable/barracks for different soldier types. Tier 1 available in town phase, tier 2 available in city phase. https://gitlab.com/0ad/0ad-community-mod-a26/-/merge_requests/25

    • Yes
      25
    • No
      18
    • Skip / No Opinion
      4
  4. 4. Add a civ bonus for seleucids: Farms -25% resource cost, -75% build time. https://gitlab.com/0ad/0ad-community-mod-a26/-/merge_requests/24

    • Yes
      34
    • No
      7
    • Skip / No Opinion
      6
  5. 5. Cav speed -1 m/s for all cavalry https://gitlab.com/0ad/0ad-community-mod-a26/-/merge_requests/23

    • Yes
      15
    • No
      22
    • Skip / No Opinion
      10
  6. 6. Cavalry health adjustments https://gitlab.com/0ad/0ad-community-mod-a26/-/merge_requests/22

    • Yes
      19
    • No
      15
    • Skip / No Opinion
      13
  7. 7. Crush (re)balance: decreased crush armor for all units, clubmen/macemen get a small hack attack. https://gitlab.com/0ad/0ad-community-mod-a26/-/merge_requests/20

    • Yes
      21
    • No
      16
    • Skip / No Opinion
      10
  8. 8. Spearcav +15% acceleration. https://gitlab.com/0ad/0ad-community-mod-a26/-/merge_requests/19

    • Yes
      33
    • No
      4
    • Skip / No Opinion
      10
  9. 9. Pikemen decreased armor, increased damage: 8hack,7pierce armor; 6 pierce 3 hack damage. https://gitlab.com/0ad/0ad-community-mod-a26/-/merge_requests/18

    • Yes
      18
    • No
      18
    • Skip / No Opinion
      11
  10. 10. Rome camp allowed in p2, rams train in p3 as normal, decreased health and cost. https://gitlab.com/0ad/0ad-community-mod-a26/-/merge_requests/17

    • Yes
      36
    • No
      6
    • Skip / No Opinion
      5
  11. 11. Crossbow nerf: +400 ms prepare time. https://gitlab.com/0ad/0ad-community-mod-a26/-/merge_requests/15

    • Yes
      13
    • No
      18
    • Skip / No Opinion
      16
  12. 12. adjust javelineer and pikemen roles, rework crush armor https://gitlab.com/0ad/0ad-community-mod-a26/-/merge_requests/14

    • Yes
      12
    • No
      22
    • Skip / No Opinion
      13


Recommended Posts

Right now the community mod includes all the simulation/components/*.js files, but it doesn't actually change any of them. This makes it incompatible with other mods that might change those .js files. Can those .js files be removed from the community mod? I am writing a mod to estimate instantaneous player income, which has to touch a few of those files. My mod needs to touch those files to collect data to show on the GUI, but it doesn't cause any desyncs with vanilla 0ad and is compatible with vanilla 0ad, so it would also be compatible with the community mod if the community mod didn't include those .js files.

Edited by causative
  • Like 2
Link to comment
Share on other sites

2 hours ago, causative said:

Right now the community mod includes all the simulation/components/*.js files, but it doesn't actually change any of them. This makes it incompatible with other mods that might change those .js files. Can those .js files be removed from the community mod? I am writing a mod to estimate instantaneous player income, which has to touch a few of those files. My mod needs to touch those files to collect data to show on the GUI, but it doesn't cause any desyncs with vanilla 0ad and is compatible with vanilla 0ad, so it would also be compatible with the community mod if the community mod didn't include those .js files.

Well, one of my ideas for future community mod development will involve BuildingAI.js, which is in components.

That being said, either

1. the unused components files could be removed from the community mod.

2. You could try to add this to the community mod for a27 :D

Are you making the mod for a26 or a27? At this point I would recommend making it a27 compatible, since the release is "coming soon", and since there is unlikely to be another community mod update until after a27.

  • Like 1
Link to comment
Share on other sites

I don't use BuildingAI.js in my mod. Why not just remove any files from the community mod that the mod doesn't touch? The community mod includes all 4610 files under the simulation directory but only touches about 260 of them.

Edited by causative
  • Like 1
Link to comment
Share on other sites

1 hour ago, causative said:

I don't use BuildingAI.js in my mod. Why not just remove any files from the community mod that the mod doesn't touch? The community mod includes all 4610 files under the simulation directory but only touches about 260 of them.

I agree that in the future the community mod should do as you suggest. 

As for immediately doing what you suggest, there are adoption hurdles associated with a changing mods, and I think there is a general desire to not do too many updates unless we have to (because of adoption fatigue issues). Doing as you request would require all players to download a new version of the community mod, which may or may not happen, and would cause confusion within the playing base as to what is new in the new version of the mod. 

A lot of people have a lot of ideas they want to launch in the next iteration of the community mod. Given timing, however, it's probably easier to just wait until "coming soon" comes.

 

  • Like 2
Link to comment
Share on other sites

1 hour ago, causative said:

The community mod includes all 4610 files under the simulation directory but only touches about 260 of them.

Well the idea was to make modding more accessible to everyone, and towards a centralized test environment where balance changes and minor content additions can be play tested on the fly, all in 1 mod.

having them all already in gitlab makes it easier for everyone to try making changes of their own.

Ideally, your gui mod should be fine in a27 if most players are using vanilla 0ad as I expect. Right now, because of a couple of bug fixes for Han, the community mod is much more mainstream than I think it should be.

Link to comment
Share on other sites

Well, couldn't you have all the files in gitlab, but have a script that only copies over the changed files when it's time to put out a new verified patch version?

Something like (bash, rsync):

# make a directory to put just the community mod files that
# are different from a26
mkdir ~/cm_minimal/
# If ~/cm/ contains the (non-zipped) community mod,
# and ~/0ad/a26 contains a source distribution of 0ad alpha 26,
# this command will gather all the files from the community mod
# that are different from a26 or not present in a26, and put 
# the filenames in files.txt, while excluding cached.xmb files
rsync -ric --dry-run ~/cm/ ~/0ad/a26/binaries/data/mods/public/ | cut -d " " -f 2 | grep -v "cached.xmb" > files.txt
# this command will read the files from the previous step
# and copy them into cm_minimal
rsync -a --files-from=files.txt ~/cm/ ~/cm_minimal/

 

Edited by causative
  • Like 2
Link to comment
Share on other sites

1 hour ago, Stan` said:

I think it was for the validation script (entvalidate.py) to be able to run. 

Not sure why @wraitii added the js files though. 

The advantage of it being a copy of public is easy to review patches and for them to be easily backported to vanilla.

I agree with @causative that a filter when building the mod for mod.io would be reasonable, tho I'd build it around git diff --name-status

  • Like 1
Link to comment
Share on other sites

5 hours ago, Player of 0AD said:

@real_tabasco_sauce   What about making the default weapon of the immortals the bow, not the spear? The spear is only advantageous against melee cav and structures.

I see the complaint, but I have to say, wouldn't it be nice if the melee version was more useful? In that case, it would be fine to start them as spearmen.

This would be an easy change, but I am keen to see if the melee buff brings any improvement to the situation first.

  • Like 1
Link to comment
Share on other sites

38 minutes ago, real_tabasco_sauce said:

I see the complaint, but I have to say, wouldn't it be nice if the melee version was more useful? In that case, it would be fine to start them as spearmen.

This would be an easy change, but I am keen to see if the melee buff brings any improvement to the situation first.

I don't see why we need a change in that regard

Link to comment
Share on other sites

1 hour ago, Fabius said:

Curious suggestion, can we test giving Rome a Cretan merc archer and see how it does in terms of improvement and balance?

I think this is a very good idea because they lack any long ranged unit. It would make the Romans more comfortable to play with, without making them completely OP compared to the rest.

 

The Immortals should spawn as melee by default because the Persians need a melee champion. With that being said, I think it would be better if the Immortals had an option to switch to sword mode as well.

  • Like 1
  • Confused 1
Link to comment
Share on other sites

@Player of 0AD,

Well its not really a pure buff, but a rebalance:

  • reduce melee armor.
  • infantry melee units slightly faster.
  • increase melee damage.
  • decrease ranged damage.

If you are worried about a change in the meta, that is expected. However, this is just for the community mod for playtesting.

Edited by real_tabasco_sauce
  • Like 1
  • Sad 1
Link to comment
Share on other sites

@Helicity

Infantry being armor focused is what makes them suck. In 0ad there are 2 types of players: those that snipe and those that don't. Players that snipe find it easy to deal with pikemen because they can target the ranged units behind them and simply ignore the damage of the pikemen. Players that don't snipe are frustrated by their low-dps units struggling to kill pikemen while their lower armor (persians) melee units die much faster than enemy pikes. Given equal force composition, a player who snipes will win 100% of the time.

This overall situation describes a25 and a26, which has been called 'meatshield meta'. The core of the issue is that melee units are balanced such that they have huge armor and low damage. This results in them being used simply as a "meat shield" to save your ranged units which account for the vast majority of the damage of armies.

In order to give melee units combat value (killing potential) they need to do way more damage than they do currently. 2x damage would make melee units quite powerful, but with the current armor they would be quite OP. Reducing armor is done to allow their balance to settle at a higher damage value, so that they can have a higher combat value.

 

  • Like 1
  • Thanks 1
Link to comment
Share on other sites

12 hours ago, Helicity said:

I think we should do the opposite. Persian infantry seem to lack very well armoured units, so I would not oppose giving them something closer to a pikeman.

maybe a shield bearer? ;)

  • Like 1
  • Haha 2
Link to comment
Share on other sites

Squishy is kind of Persia's signature flavor in military matters, at least as the Greeks liked to tell it. Although arguably the Persian soldiers were actually just as well or slightly better armored than was the norm at the time, it's just that the Greeks were extreme outliers by wearing insanely protective kit.

Regardless, if you want to represent that idea in game I think the trick is to make Persian units tanky per cost but squishy per individual. For instance suppose you dropped the shield bearer's cost from 50 Food 50 wood to 50 food 10 wood. The trick is then to balance that against the economic windfall they would get from cheap CS.

  • Like 1
Link to comment
Share on other sites

1 hour ago, ChronA said:

at least as the Greeks liked to tell it.

Exactly, the Greeks would derogate the Persians in any way they can since the Persians were their enemy and the Greeks won the battle. In reality, the Persian soldiers might not have been as fragile as the Greeks claimed.

2 hours ago, ChronA said:

Persian units tanky per cost but squishy per individual. For instance suppose you dropped the shield bearer's cost from 50 Food 50 wood to 50 food 10 wood. The trick is then to balance that against the economic windfall they would get from cheap CS.

They already have great economy. Units die too quickly in 0ad and you can never reinforce as fast as units are killed, so having resources and price bonus doesn't help. More durable units for a higher price is more suitable for them.

  • Like 1
Link to comment
Share on other sites

@BreakfastBurrito_007 the current meta is such that unless we lower the damage of everything, your melee units die before they can even reach the enemy. I am totally for raising the damage of melee, but we also must slow down the rate of killing. Battles are just way too fast for any type of units or mixture. Pikeman is the only one which can live for a reasonable length.

The solution is: after we get a good melee damage value relative to ranged, we multiply the damage of everything by a factor 0.5. This will slow down the killing. You might think that requiring 20 shots to kill a spearman is ridiculous, but be reminded that most players enter battles with 50-100 ranged units at a time, which means at least 3 to 4 spearman will perish in the first second.

  • Like 1
Link to comment
Share on other sites

Why not take some advice from history about the role of skirmishers and ranged units vs the role of spearmen?

Historically, Hellenistic city-states would go into battle with a large force of hoplites in phalanx, which would meet in melee with the enemy phalanx of hoplites. There would also be thousands of less-equipped skirmishers and infantry around with slings and throwing weapons. The role of the skirmishers would be to harass the enemy skirmishers, protect the flanks, and generally be an irritation before the hoplite vs hoplite battle begins. Once the hoplites start fighting, the skirmishers have little to do, because they can't shoot at the hoplites once they meet, or they would hit the backs of their own hoplites. Also, hoplite shields and armor were really good protection against missile weapons aimed at the front.

So, hoplites can tank a lot of ranged fire especially when shot from the front, and friendly fire was an important consideration in who the slingers and javelineers could hit. The norm of 0ad where the skirmishers fire right into the melee and miraculously only hit enemy units is unrealistic and ahistorical. And from a gameplay perspective it devalues hoplites. Once the melee starts, the shooting should stop.

Perhaps there could be a friendly-fire rule where slingers, skirmishers, and archers will do friendly fire damage, and won't automatically target an enemy if a friend is adjacent to it, unless the enemy is a higher value target.

Edited by causative
  • Like 1
Link to comment
Share on other sites

  • Stan` changed the title to Introducing the Official community mod for 0 A.D. Empires Ascendant

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...