Leaderboard
Popular Content
Showing content with the highest reputation on 2021-09-11 in all areas
-
2 points
-
2 points
-
Yeah, but it should be straightforward in this case. The Problem is that "marshland" would be part of the terrain, while the fields are are just actors placed on top of the terrain. So no problem adding an aura.2 points
-
I was going through the tread again and I would again like to discuss or at least understand why rice fields would be historically inaccurate. @Nescio @Genava55 @Thorfinn the Shallow Minded From every source I find from my not very scientific research https://www.researchgate.net/publication/301949120_Rice_in_China https://en.wikipedia.org/wiki/Han_dynasty#Metallurgy_and_agriculture https://en.wikipedia.org/wiki/Society_and_culture_of_the_Han_dynasty#Clothing_and_cuisine http://www.china.org.cn/english/2002/Oct/44854.htm It reads the rice was of course more cultivated in the southern parts of the china, but that it still was a staple food during that period. So it doesn't seem wrong to me to include rice fields, even when it wasn't grown in all parts of the country to the same extent. My reasoning is than the models looked really great and unique as far as I remember. Unfortunately now, neither DE nor the Han mod include them, so I can't have a quick look at them again. If it is so extremely historically inaccurate, because rice was not the "main" crop, would it at least be possible to include them as a second type of field? Maybe in P2 with different stats? [Edit] Just as an idea: It doesn't look like the city layout/ fields around the CC thing is going to change towards more realism, so we might as well really lean into that and even give the rice fields a small aura that slows down units that walk over them (cause it's harder to walk through muddy/ flooded fields). Then you can have an extra small defense around your CC through rice fields.2 points
-
https://github.com/andy5995/petra_extreme/blob/faa5d1a086fc61af3a89dccb408ab4cfc7cc6e15/simulation/helpers/InitGame.js#L44-L48 // Sandbox, Very Easy, Easy, Medium, Hard, Very Hard, Extreme // rate apply on resource stockpiling as gathering and trading // time apply on building, upgrading, packing, training and technologies let rate = [ 0.42, 0.56, 0.75, 1.00, 1.25, 1.56, 2.5 ]; let time = [ 1.40, 1.25, 1.10, 1.00, 1.00, 1.00, 1.0 ];2 points
-
A Quick Introduction Hello Everyone! Since this is my first post on the 0AD forums, i would like to start with a quick introduction. I've come to know about 0AD quite recently and been playing it since May 2021 (single-player). I have played quite a few RTSs already (namely Age of Empires II, Age of Mythology, Warcraft 3 and StarCraft), but this was the first game that i ever saw a Batch Training mechanic and i love it! Fun aside though, i also started doing some tests to try and use this mechanic to it's fullest potential. In this regard, 0AD sets itself apart from those other games i mentioned because it is an Open Source Project so I could go through the code more easily to unearth the formulas, modifiers, etc in order to make my analyses. So without further ado, let's do some math! The Mechanic Unveiled First things first: How is Batch Training implemented? As far as resource costs and population growth is concerned, there are no changes, but training time (for each individual unit) is greatly reduced using the following formula: BatchTime = BaseTime * (#Units ^ Mod) Where: BaseTime = The time it takes to train a single unit #Units = The size of the group Mod = Modifier, a value that is intrinsic to the Building Type and determines the reduction in Training Time. List of Modifiers: Houses: 1.0 (meaning, Batch training in houses does not reduce training times) Corral, Market, Siege Workshop, Elephant Stable, Special Buildings: 0.7 Barrack, Stable, Fortress, Civic Centre, Carthage Embassies: 0.8 Let's illustrate this with an example: Unit: Spartan Hoplite – From Civic Center (Mod: 0.8) BaseTime = 10 secs #Units 1 by 1 - Time (s) Batched Time (s) 2 20 17.41 3 30 24.08 4 40 30.31 5 50 36.24 So, as seen in the exemple above, Batch Training reduces the training time of units considerably and, on the surface, it appears to be always better to Batch train instead of training 1by1. However there is a tradeoff. You'll only have said units at the end of the entire Training period (which is longer than the time to train a single unit). What this means is that 1by1 will give you readily available units sooner, but in smaller quantities, while Batching will give you readily available units later, but in larger quantities. This is a point to consider, specially in the early game, where we want to gather resources as fast as possible to build up our economy and our army. If we call the amount of time a unit is out on the map ActiveTime (as in it can perform actions such as move, gather, fight, etc), we can say that the method that gives us more ActiveTime overall will be better. Analysis Let's use our Spartan Hoplite to understand this problem. Spartan Hoplite – From Civic Center (Mod: 0.8) BaseTime = 10 secs Let's say we train 2 units using both methods: From our table we gather that 1by1 will produce a unit after 10 secs and another after 10 more seconds, while batching will produce 2 units after 17.41 secs. This means that both methods don't generate any ActiveTime in the first 10 seconds (since no units are out yet) and will start generating the same amount after 20 secs (when the second unit of 1by1 gets done). So what we can compare is the amount of ActiveTime generated after 10 secs but before 20, for both methods. Do note that each unit out on the map generates 1 sec of ActiveTime for each in-game second. This means that 2 units will generate 2 secs for each in-game second and so on. With that in mind we can do the calculations and reach the following table: #Units = 2 Time Elapsed (s) 1 by 1 Batching #Units Produced ActiveTime(s) #Units Produced ActiveTime(s) 0 0 0 0 0 10 1 0 0 0 17.41 1 7.41 2 0 20 2 10 2 5.18 #Units = 3 Time Elapsed (s) 1 by 1 Batching #Units Produced ActiveTime(s) #Units Produced ActiveTime(s) 0 0 0 0 0 10 1 0 0 0 20 2 10 0 0 24.08 2 18.16 3 0 30 3 30 3 17.76 #Units = 4 Time Elapsed (s) 1 by 1 Batching #Units Produced Total ActiveTime (s) #Units Produced Total ActiveTime(s) 0 0 0 0 0 10 1 0 0 0 20 2 10 0 0 30 3 30 0 0 30.31 3 30.93 4 0 40 4 60 4 38.76 As we can see, although batching reached the total amount of units faster than 1by1, that amount of Active time generated in the same period heavily favors 1by1. Now let's see if this trend continues and calculate the percentages to see by how much 1 by 1 is beating Batching. # Units 1 by 1 Batching Percentage (%) Total ActiveTime (s) Total ActiveTime(s) 2 10 5.18 51.8 3 30 17.75 59.17 4 60 38.74 64.57 5 100 68.81 68.81 6 150 108.42 72.28 7 210 157.97 75.22 8 280 217.76 77.77 9 360 288.04 80.01 10 450 369.04 82.01 27 3510 3519.02 100.26 Interesting! As we increase the amount of units trained, Batching slowly catches up to 1 by1 and by the time we reach 27 units, Batching will match 1by1 in Total ActiveTime generated. We can also see that any number of units above 27, Batching will start becoming more and more efficient. Naturally, 27 units costs an unfeasible amount of resources and time (specially in the early game) so we can conclude that by our metric of ActiveTime 1by1 is by far more productive than any amount of batching we can get in the early game. Conscription In the City Phase (last phase) we get access to the Conscription technology (in the barracks and the Stable). This technology lowers the Batch Training modifiers by 10% (Mod = 0.8 to Mod: 0.7) and that is a huge change. Lets do the same calculation, but now with Mod = 0.7. # Units 1 by 1 Batching Percentage (%) Total ActiveTime (s) Total ActiveTime(s) 2 10 7.51 75.10 3 30 25.27 84.23 4 60 54.44 90.73 5 100 95.74 95.74 6 150 149.69 99.79 7 210 216.68 103.18 This means that in the late game (after researching Conscription), given enough resources, any Batch amount > 6 will be more efficient than training 1by1. That is also valid for all the buildings that naturally have Mod = 0.7. Discussion So, the main question that arises from this analysis is: Is the Batch mechanic useless in the early game? My answer is NO and here is my reasoning. THE GOOD: - Batching is great for early game rushes and timing attacks: since we'll be able to pump units much faster that by building 1by1 and we can't afford to build multiple barracks or stables in the early game. - Batching is great for dumping excess resources: Stockpiling resources isn't advisable, since resources don't produce anything while sitting in the bank. Unfortunately it happens sometimes, so if we find yourselves with excess Food, we can just build a Stable and Batch train some horses to explore the map and harass our opponent. - Batching gives options instead on limiting them: If Batching was universally better than 1by1 then there would be no point in having having a choice. By having it's drawbacks, Batching gives more variety to the game by enabling certain strategies. THE BAD: - Batching is less flexible than 1by1: By Batching, we sink a lot of resources and have to wait a considerable amount of time for them to bear fruits. This means that if we need to cancel some of our productions in other to gather resources to build an upgrade or advance phases, the amount of time lost training that group can be great. - Batching eats a lot of population: Population is also a resource. So if we want to Batch train a large group we need to have space available. Also, we'll need to quickly build houses to open more space to not get capped and keep producing out of our other buildings. THE UGLY: - Batching is eclipsed by 1by1 for economy: Since much of our goals in the early game is to boost our economy as fast as possible (and we do that by maximizing ActiveTime), batching does the exact opposite of what it's expected of it. And now in A25, the introduction of the Autoqueue mechanic basically kills batching even more for early game economy. Closing Remarks Well, that's basically all i had to say about the subject. I hope this post wasn't too boring and you were able to enjoy it. I would also like to read your opinions and comments on the matter. If you agreed or disagree with this analysis and why? Any concerns or constructive criticisms are always welcome. See you on the forums and have fun! ===================================//================================== TL;DR (just in case) Which is more efficient in the early game: training in batches or training units 1by1? Well, 1by1 will give you readily available units sooner, but in smaller quantities, while Batching will give you readily available units later, but in larger quantities. By comparing the Total ActiveTime (the amount of time a unit is on the map, ready to move, gather, fight, etc) in both approaches, we get: - From the Barracks, Stable or Civic Center: 1by1 is more efficient if the batch size is smaller than 27. Since batches of 27 are basically impossible in the early game, for economy purposes, 1by1 if far better than any amount of batching. -Batching is better than 1by1 in strategies involving rushes or timing attacks. ==================================================================== EDIT 1: So, considering what @Jofursloft and @Freagarach have said in the their posts, i redid the calculations for batching and 1by1 considering more productions cycles and the ProgressTimeout delay that autoqueue gives. To avoid making this post bigger than it already is, i placed the the calculations and the result tables in the attached pdf. In general, smaller batches (2 to 3 units) break even with 1by1 by the 3rd production cycle, while bigger batches (5 and upwards) break even by the second production cycle. Things are a bit less efficient if you use autoqueue, but not by much. So, as long as you can batch units constantly, batching will always be better than 1by1. Also, the bigger the batch size, the better. Batching Revisited.pdf1 point
-
This mod adds the map "Mainland balanced" (https://code.wildfiregames.com/D4232) Thanks @badosu for fulfilling the community's interest in balanced maps by providing a nice bunch of balanced maps for a23 and a24 Currently, only the starting food surrounding players is modified. Also, straggler berries are not modified yet (which can lead to imbalances). And the biome only slightly affects the total amount of food, and it currently doesn't affect the berry/hunt ratio, this is something I will change later. This removes Jungle (too laggy) and Nubia (wood too imbalanced) biomes until they get fixed. Alpine Mountains is also included (https://code.wildfiregames.com/D2830, ) The mod is now available through the in game downloader! (mod.io). Manual download here otherwise (updated a26, current version 1.0.1): feldmap-1.0.1.pyromod feldmap-1.0.1.zip a26 archive: Old (a25 version):1 point
-
Hi, second topic before I forget. To clarify a bit, the AI plops down a civic centre on my side of the river and the builders are yet to arrive. They have to take the loooong way round, so there is time before I notice anything at first. But, I can actually see what is going to get built there (due to vision from a nearby outpost) - so I simply send a scout cavalry to deal with it with one hit. - The AI keeps doing this and I keep one hitting it. Is the AI bleeding resources this way? - Could the solution be to have the future placement of AI structures invisible to the human player - until the first building animation progress is made? This way I would only notice the stream of builders coming in and would have to deal with them once they are knocking at the door. Although, thinking about it - the invisible placement should be able to block placing my own structures down on the same spot - so it could be possible to detect where the AI is trying to build. But maybe make it impossible to deal damage to an invisible 0 HP structure - and maybe set a timeout so if the AI is unable to reach the spot with the builders for some time (if I keep intercepting them) - then it auto cancels (and regains the resources). - What do you think? Thoughts, suggestions.1 point
-
Yeah, it's not entirely clear what is covered under "Action" sounds. I would think that attack notifications would be a part of the UI sounds instead, but it isn't?1 point
-
Agreed. I think the water textures should be re-rendered to be more still and brown.1 point
-
@Stan` Sorry, I should have paid more attention to this - of course, it's still a separate mod. Am I correct that I can nevertheless work with svn instead of git to remove those strings and create a patch? Or do I have to use git? Should the patch be a patch file that I shall attach here when done? In case I do have to use git (as the mod is in GitHub), shall I fork it in GitHub and apply the patch there? As I'm not so familiar with git (maybe a bit more with svn), I would prefer svn, if that's possible. Sorry that my questions are a bit too "technical" here for public discussion. Anyway, thanks for your help.1 point
-
@Genava55 Indeed it's hard to keep track of everything. My biggest problems with civ design when it comes to art has always been the lack of cohesion of information. 60 threads of pictures everywhere with random discussion happening in the middle of them. I think @Sundiata managed to get it organised the best for the Kushites probably because there have been little other voices talking about it. Of course there are the civ wiki pages but those only describe units accurately most of the time. I think it could be beneficial to have an organised place to all of this, publicly editable but with reviews so people could make suggestions without it being a complete mess. They have to be removed from the han_china mod on Github before they are even included in the game.1 point
-
I guess it should be doable for you. here is an example of such an history string: https://github.com/0ADMods/han_china/blob/927c2d48d352868092685c74dcf4cb2d19a65ff2/simulation/templates/units/han/siege_tower.xml#L61 point
-
What, when and where? I mean what were the arguments, when the debate happened and where on the forum?1 point
-
It seems like Petra never uses formations, but this is just a minor mistake and not too relevant in comparison to other mistakes.1 point
-
We prefer to actually make the PetraAI harder by smarter, but maybe this should be included as a temporary feature. Altough I guess we should also change the construction times on extreme.1 point
-
@andy5995 Cool, thank you! Are there plans to add your mod into the game, or shall it remain as mod?1 point
-
Thank you very much @andy5995, how did you tweak the resource gathering bonus for the AI? Which file and which command controls the AI's eco bonus?1 point
-
The build time is the same as a "very hard". But the gather and trade rate is quite a bit higher. https://github.com/andy5995/petra_extreme/blob/faa5d1a086fc61af3a89dccb408ab4cfc7cc6e15/simulation/helpers/InitGame.js#L44-L481 point
-
Is this an easy task? (for me) Where can I find more info about it? Thank you!1 point
-
Yes but no errors != Fine. We need to keep actor files consistent for variants. This allows for instance a mod to replace all projectiles at once by changing one file not 300.1 point
-
I think that when talking about mathematics related to a game like 0ad there are 2 things needed: a good knowledge of math and a good experience in the gameplay. Fortunately I have both. Here you make 1 mistake for each: You are considering the case in which we train in batches but you analyze with charts only the first batch. Let's consider the first example in the chart you did (the one with 2 units). What you have to consider is that after 20 seconds 1 by 1 training method seems the to be the most efficient. But you have to consider that the player will continue to train units in batches, which resolves to the following conclusion: Time Elapsed (s) 1 by 1 Batching #Units Produced ActiveTime(s) #Units Produced ActiveTime(s) 20 40 160 (2 mins 40 secs) 2 4 16 10 30+20+10=60 ... 2 4 18 5.18 25.18*2 + 5.18*2=60,72 ... As you can see, after another 20 seconds the batch training method does way better than 1by1 for what concerns Active time. After 2 mins and 40 secs it's 2 units ahead. Obviously the gap of speed between 1by1 and batch training method becomes more evident when you apply the same logic I did with higher batch training numbers. You need to have more experience in the game. 1) Even if there is not a definite rule about it, for early game is not intended only the first minute of playing (wouldn't make sense) but something like the first 12 mins of playing. In these 12 minutes, the gap of speed in terms of economic development between 1by1 training and batch training methods becomes huge. 2) A good player never uses the same batch dimensions but variates it (when I train women in the beginning of the game I like to train them 6+3+2+4+4). 3) You can build houses while training in batches without being slowed down (just manage the correct number of wood you are collecting). In any case, I would suggest you to spectate a pro level match. You will notice that by using the batch training method it's possible to get easily 100 population within 7 minutes, and reach 150 within 10 minutes.1 point