Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 2021-08-31 in all areas

  1. String "%(unit)s can't be controlled.", patch on my local machine to fix missing translation (if I guessed the place of issue correctly): - "message": sprintf(markForTranslation("%(unit)s can't be controlled."), { - "unit": cmpIdentity.GetGenericName() - }), + "message": markForTranslation("%(unit)s can't be controlled."), + "parameters": {"unit": cmpIdentity.GetGenericName()}, + "translateParameters": ["unit"],
    2 points
  2. Well you already got the development version of the game so I suppose by browsing the js code. If you're interested in random map generation that would be binaries/data/mods/public/maps/random global scripts are in binaries/data/mods/public/globalscripts components like the ones handling unit behaviors are in binaries/data/mods/public/simulation/components They can call global scripts and helper scripts binaries/data/mods/public/simulation/helpers All things related to the user interface is organised in pages and is here binaries/data/mods/public/gui You might find more documentation here https://docs.wildfiregames.com/
    2 points
  3. By default the installed mods are sorted by name. You can sort them by version, by folder, by dependencies, by website and by display name. For enabled mods, the top one is the first one that gets overriden by all the mods below it.
    2 points
  4. In this case it would be JavaScript programming.
    2 points
  5. Ok, I got it working fine now it seems. Maybe there is importance of what order the mods are installed? In working order on my system: -Autociv -BoonGUI -Shiny Thanks for good work
    2 points
  6. 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.pdf
    1 point
  7. You can clone SVN anywhere and if you want it to use its own config files and replays just pyrogenesis with the -writableRoot flag.
    1 point
  8. I'd like to, but I have a yet to make a concrete migration plan.
    1 point
  9. Would in binaries/data/mods/mod/gui. Not sure where you'd add it though
    1 point
  10. Yes. Saturday at 05:44 dump was created successfully Perhaps deleting this file will fix the problem - but I cannot guarantee Perhaps your antivirus is now blocking the system function MiniDumpWriteDump(). If the game continues to create empty crashlog.dmp on crash - you need to somehow tell the antivirus that the whole process pyrogenesys.exe is not a virus.
    1 point
  11. The error says that the game does not have permission to write the file crashlog.dmp (in directory "logs") It may be worth trying to remove it - in its current state it will reproduce the error
    1 point
  12. Just recently looked at arcanist and thought it's trouble. Then came across https://gitlab.haskell.org/ghc/ghc/-/wikis/why-not-phabricator and have to say the section "one year of arc on #ghc" is a hilarious read. Not going to use it ever. I think facebook took over maintenance of phab, not sure what their plans are yet. Guess little short term implications for wfg but a possible switch would be a good opportunity to migrate to git as well.
    1 point
  13. Maybe fix the minidump recording? crashlog.txt: errno = 13 (Insufficient access rights to open file) OS error = -2147024865 (Ein an das System angeschlossenes Gerät funktioniert nicht.) I see a comment in code like this: // a dump file is essential for debugging, so write it before // anything else goes wrong (especially before showing the error // dialog because the user could choose to exit immediately) wdbg_sym_WriteMinidump(ep); Perhaps a service exception is triggered and already on the minidump record it finally crashes... Try remove empty file crashlog.dmp in directory
    1 point
  14. Also, an importent step is to come online on IRC, such that we may help you faster with certain problems.
    1 point
  15. An alternative civ ranking: All civs are OP! Athenians: OP hoplite spam, OP Iphicrates, OP sword cav Britons: OP wardogs, OP chariots, OP boom, OP sword cav Carthaginians: OP mercenaries, OP Hannibal, OP Marhabal, OP elephants Gauls: OP champs, OP boom, OP sword cav, OP Vercingetorix Iberians: OP team bonus, OP fire cav, OP swordsmen, OP Indibil Kushites: OP pikemen, OP pyramids, OP champs, OP elephants Mauryans: OP elephants, OP sword units, OP pop bonus, OP monk hero, OP champs Macedons: OP spearcav, OP pikemen, OP champs Persians: OP cav, OP pop bonus, OP elephants Ptolemies: OP team bonus, OP boom, OP pikemen, OP elephants, OP heroes, OP colonies Romans: OP spearcav, OP army camps, OP consular bodyguards Seleucids: OP pikemen, OP champs, OP elephants, OP colonies Spartans: OP hoplite spam, OP team bonus, OP Leonidas, OP Brasidas, OP skiritai, OP champs
    1 point
  16. Well you did you reported an untranslated string
    1 point
  17. yeah good point. You are right the latest installed mod is shown on the bottom of the list. Gonna edit my comments to clarify that.
    1 point
  18. I don't think so. This would hugely increase the bandwidth that is needed to play multiplayer and there are so many good and even open source solutions out there that focus solely on communication, that it seem unnecessary to implement something specifically for 0 A.D.
    1 point
  19. I have no C++ knowledge, so I cannot provide any support in programming. But I am very willing to contribute to your mod and 0 A.D. in general, probably most by testing and reporting back? Please let me know what makes sense.
    1 point
  20. And to expand on your comment /further information for anyone experiencing something similar: Under normal circumstances mods are not able to wreck your installation as the changes are not permanent. When there are errors or you can't start 0 A.D. anymore, you just have to find your user.cfg file and change the line with: mod.enabledmods to only "mod public". Alternatively you can find the folder with the mods and delete them and everything should work again.
    1 point
  21. I like the way Hyrule: Conquest does it better, as it shows you details of each hero as you select them and then you click a button to choose. I don't have the skills to make anything like that though. Yes, this is intended. You can use your hero at the start to boost your econ or go scouting or any number of things. Yes, I would like to background pause the match until the heroes are chosen, but again I will need help with that. The mod currently is in a lot of flux. Ima wait to worry about translations until it's more stable.
    1 point
  22. I suggest that it is among the three heroes: Cauceno, Viriato and Sertorius. Caucene, because he did the feat of crossing the columns of Hercules, and attacking the Romans at their base in North Africa. What did denotes a certain naval mastery of Lusitanian. About it, says Apiano: Viriato for obvious reasons which I won't elaborate on. Especially, I think it would be interesting to add Sertorius as the third hero of the lusitanian faction. In spite of being of Roman origin. Sertório was certainly, after Viriato, the greatest "general" who led the lusitanian in a war as intense or more intense than the one waged by Viriato. There was a moment when the Romans mobilized 130 thousand men against the Portuguese of Sertorius. This also implies an increase in the gameplay of the Lusitanian faction. This is because, with Sertorius, it is mentioned by Plutarch that Sertorius' troops created a naval flotilla, siege weapons and other weapons, previously only used by the Romans. In other words, the Lusitanian faction could have available weapons already available in the Roman faction. Finally, I think, that Roman weapons could be made available to the Lusitanians in the third and last phase of development.
    1 point
  23. Created a screenshot for clarity (String from https://github.com/0ad/0ad/blob/master/binaries/data/mods/public/simulation/helpers/Commands.js. The translation is really missing, about the situation, I don’t know why you could not control the unit
    1 point
  24. yes works usually without errors but not always. sometimes (me) you spin the map as first action. or you type accidentally the wrong number. i want have me always at the bottom / footer. then i may send the wrong.
    1 point
  25. at the beginning of a TG. that points to the CC. automatically
    1 point
  26. Thanks a lot, das hilft! BTW, your sig is hilarious! And as usual - when I read the English sentence with a different pronunciation/emphasis in my head, I understand it well. I have added the missing German translations. Now we are back to 100% translated (as of today). Not sure, though, if these strings are also for e.g. the "Delenda Est" mod, or only for vanilla a25. PS: @wowgetoffyourcellphone pointed out that we shall not yet worry about translating his mod, as it is subject to change and some parts of it might flow into the standard game anyway (and will then be translated). These are my words, and I hope that I correctly reflect his post, which by the way makes perfect sense to me.
    1 point
  27. Thank you! Some other things I observed/I have questions about: Would you like to consider the addition of a short explanation on the screen where the heroes are displayed? E.g. "Select your hero..." or something similar and with additional text (just brief) about what this means during the game, e.g.: "You can train this hero in your civic centre". Or should it be obvious enough to the players? Is it intended to be able to train a hero already from the very beginning (i.e. no need to come to phase II oder III first)? Furthermore, the match starts already before one has selected a hero. I.e., if I study the currently available information and am hesitant which one to select, the enemy (also team mates? I have not checked this) has already created buildings etc. Is this on purpose or are there plans to pause the game until all participants have found their hero? (which would be preferable from my point of view - similar to the "I am ready" button on the previous screen where you select the team, maps, etc.) PS: How I can help translate your mod? Is it in Transifex? Do you use shared strings with vanilla a25 plus your extra strings for new stuff, or do you have all your strings separate?
    1 point
  28. Yes, coop _is_ cool. (https://trac.wildfiregames.com/ticket/2459)
    1 point
  29. This is great, good job!
    1 point
  30. Be careful when doing this, because sometimes if you are losing the fight and your troops are still trickling in, then you run the risk of throwing away units.
    1 point
  31. Since unit batch training was introduced i followed one simple rule. 1. Single training for eco 2. Batch training for military usage (champs, healers and citizens whose only purpose was to train up exp for war) Done.
    1 point
  32. Sorry, I have to correct myself here. After adding a new batch to the queue, the structure waits one progress_timeout, which is 1 second before starting the next item, be it manually added or by the AutoQueue.
    1 point
  33. (Bear in mind that the AutoQueue is artificially made less efficient and one loses 0.2 seconds (i.e. one turn) after each entity/batch has been produced while the AutoQueue is on.) See corrected post below.
    1 point
  34. 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
  35. Why the heck are allied CCs not included in 'Diaspora' as dropsites?
    0 points
  36. Not sure if it is BoonGUI or Shiny mod that are causing trouble. It was working fine yesterday. I did notting inbetween so strangely today I got the same looking error beaviour as yesterday. I just see the background image and the white line in the start screen. And theese errors appear: https://pastebin.com/deuSGaAU Removing Shiny from folder and then disabling it removes errors.
    0 points
×
×
  • Create New...