Jump to content

All Activity

This stream auto-updates

  1. Past hour
  2. I also have another idea that comes to mind quite often: when defeat is clearly inevitable, Petra should type “gg” and resign. Ragequit behavior could be added as well. Watching it try to rebuild from scratch somewhere on the map with just 4 units against my full army is a bit of a waste of time. You’re welcome. Here’s a new attempt: 1v3 on the same map that I shared earlier. This is the first time I’ve won a 1v3 on Very Hard. The Petras had random civs and random behavior: two Germans and one Carthage. The Carthage Petra could have been much more effective here if it had built siege ships. commands.txt metadata.json
  3. Today
  4. As per the Terms of Use of the multiplayer lobby registering multiple accounts is prohibited. Please contact me via private message so we can sort out which of these two accounts to delete again.
  5. I definitely agree with this. Even just the ability (as you mentioned above this) to locate a tower or fortress and go around it would greatly improve it. Other thoughts I have: it wastes time killing women when there are more important targets near by, it never targets high-priority targets like Siege Rams, Heroes, and ranged units, and (as I’ve definitely said in other topics), it never upgrades it’s old sentry towers.
  6. Yep, that diagram shows what happens in circle placement (I was doing some diagrams a time ago to visualise dynamics.) As I mentioned in another post, I think this is similar to football formations. In a circle, players on the borders most of the time face early pressure and frequent 2v1 situations, at least in the 1111 vs 2222 setup. But with random groups, river or stronghold dynamics are different. That's why I avoid playing circle placement, or at least I make variations like 2v2v2v2 or FFA. Almost always, they send me to the border; most players want to be in the pocket, because the border in circle placement is like that football position that receives more tackles. The game has so much possibilities worth of being explored
  7. Hello everyone. I was playing for a long time with auto-password and I didn't remember it. Then I decided to create a new username thinking that all usernames and passwords are stored in the game config. Now I am logged into a new account and can't log in my old one. I remember only username of my first account. Please, help or suggest me what to do to find my old password. Thank you!
  8. @ittihat_ve_terakkiThank you.(This emote is funny)
  9. Here’s another one. This time the placement is “circle”, in the previous game it was random. So in this match the 2 Petra were evenly spaced around me and could launch joint attacks. However, the outcome didn’t change. commands.txt metadata.json
  10. Here is your Mainland Balanced 1v2 Very Hard Aggressive Romans. The map being mainland doesn’t really affect the process much, you just need to set up your defense accordingly. I still played slow and relaxed. After a while, Petra starts to lose momentum. Petra is always predictable, it launches an early attack, loses. Once it regains strength, it attacks again. By the second or third attack, it starts bringing rams. If it manages to defeat you, it’s usually only because it overwhelms you with numbers, which makes dealing with Petra’s armies much harder in 1v3+VH situations. Still, as I said, I think it’s possible with better management and strategy. If you build your game around Petra’s weaknesses, you can achieve it. commands.txt metadata.json
  11. Alright that was a funny game with how your horseman disabling their market. The thing with this map is the enemy can only come in one side. I would like to request you to 1v2 it in an open map like mainland or foothill where they can expand fast and be a manace. I was able to 1v2H AI and it felt like 1V2ing VH AI from 0.27.1. In a chokepoint of any rts its a fun way to play it, but I am going to miss being able to 1v3VH. But hey if any of you can show your replay that you can 1v2 or even 1v3 them in an open land map, I a casual too can do it, you just have to prove it. Thank you bro. Also my setting(1v3ing them) at that time was 300pop limit and low resource, no treasure. commands.txt
  12. 1v2 on very hard isn’t that difficult, I’ve done it many times. I’m sure @Seleucids can push it even further. (There was a YouTube video of her where she played 1v7 on very hard but I don’t know that game details enough to fully understand what was going on and the video quality wasn’t good enough to catch the info. Also it was previous versions of the game. The graphics were also terrible because of the mod she was using, it made everything look like an x-ray.) Today I did 1v2 very hard and it can be seen how effortless it is. I'm not even playin agressive or doing weird tricks. I could have played more harder and finished the game faster but I preferred a more relaxed run. With better preparation and ideas it's possible to do 1v3 or more. commands.txt metadata.json
  13. @wowgetoffyourcellphoneTrying to do that would probably crash and burn your only server.
  14. I don't think she can either win 1v2. In her 1v1v2, two of the AIs were fighting each other, so she actually played 1v1 for a while. @Seleucids, for your test to be successful, you need to play 1v2, against two very hard AIs that are in the same team, with teams locked. And the AIs need to be at their best, so choose two strong civs, like Romans and Seleucids.
  15. We need to host our own LLM and train it to defeat @borg-.
  16. ????????????????????? And here I thought @Seleucidsactually 1v3.... can you please word it properly next time and not sound deceiving. I would like to see you actually 1v3ing those AI or is 1v2 your limit? Oh and I'm talking to seleucid here not you Ittihat.
  17. Yesterday
  18. Yes, the calculations mentioned are basically flight archery: arrows falling vertically to a target, which is, by far, not the way it was done. For "flat" archery, the simplest way to fix the approximate calculation is to evaluate the y (named z in the code, doesn't matter) CDF between -1.5 and infinite (meaning it never goes above the target but hits instead, it should actually be some big number, but far away from the target the probability density is low anyway, and all considers the distributions are the same as before, thus ignores physics, other methods could be considered), and get 86.67%, which multiplied by 73.35% from x gives a total of 63.57%. If one wants to apply the circular correction, the infinite part has to be ignored, thus only a half-square (73.35%*73.35%/2) is semi-circularised (the factor pi*1.5*1.5/(3*3) is still valid, since it should be half of both, which cancels out), giving: (63.57%-(73.35%*73.35%/2))+((73.35%*73.35%/2)*pi*1.5*1.5/(3*3))=57.8%. I got the probabilities numerically (counting points falling on those shapes, which could be readdressed if wanted), and got 63.6% and 59.7%, which confirms the calculations. For just the square and circle from before I get 53.8% (which indeed is (73.35%)^2) and 46.1% (which was calculated as 42.26%, the approximation of circularisation gives then a 4% difference, which is 2% for semi-circularisation).
  19. The X and Y values are for a horizontal circle where the arrow will land, right? My thinking is that a much bigger range of different Y landing points would still hit the target because of the low, high velocity trajectory followed by the arrows. I suppose as a result the variation in X landing positions probably contributes a lot more to overall accuracy than the Y variations. I did a test: basic carthaginian archer at 60m with 0 techs versus hero (infantry hero): 1:42 to 3:47, duration of 100 shots according to unit fire rate. 87 damage dealt at 2.016 damage per hit gives us 43/100 shots hitting the hero. metadata.jsoncommands.txt I think if archers need a buff, we could boost their accuracy some and maybe their move speed slightly.
  20. Petra has some pretty obvious flaws. For example, if I take one of Petra towers, it's basically the beginning of the end for Petra. It doesn’t think like “There’s a tower here, I shouldn’t pass until I have enough units.” If there’s a tower (or fortress) in the way, their units will just walk right by it.. and die. Most of the new units it produces end up behaving suicidal because of that. Sometimes I even send all my resources just to keep Petra alive. Now plays better than the previous version, but what it really needs now isn’t stat boosts: it’s improvements in behavioral intelligence. Petra needs to be able to analyze the map and adapt to the situation. Also whenever I play against a random very hard Petra, it almost always launches an attack around the minute 10. This typical behavior doesn’t feel random to me at all, it seems like a very specific play style. Petra could behave in more diverse ways. Petra never harasses with cavalry or sneaks rams around for a surprise attack. Its predictability is, in my opinion, its biggest disadvantage, even in "random" mode. Btw I checked the replay and this is 1v1v2. Green and Yellow had already weakened each other before you attacked them. I’m sure you can handle a 1v3 as well. It’d be great if you shared the replay of it too.
  21. Or better pathfinding, or larger bodies of water. So is depth somehow taken into account already? Maybe, haven't played many water scenarios.
  22. An amazing piece of advice: recommending a blacksmith in phase 1. ChatGPT just scrapes a chaotic mess off the internet (95% from this forum) and regurgitates it like it’s been filtered through a drunken brain. It has zero real understanding of the game. Even if it somehow managed to play, it’d still be stuck at a singleplayer level. Multiplayer strategies, as mentioned in the topic, are a completely different thing. Real opponents can instantly ruin whatever plans you come up with. You’re racing both against other minds and the clock. You usually don’t even get to trade at all (depends on the map and your opponents). And if you’re playing against Petra, you don’t really need any serious strategy anyway. Just produce a solid number of units and it will do. When would you ever actually need a strategy with Petra? Only if you’re playing 1v2+ on very hard.
  23. Careful. It's not the distribution that you are multiplying, it's each value. Otherwise, you would be changing the amplitude (height), not the standard deviation (width). And this works only because you are applying it to a normal distribution of mean 0 and standard deviation 1. On a side note, there are many "bell shapes": Cauchy, hyperbolic secant, etc, the normal distribution is a Gaussian, and before you mentioned "variance", keep in mind that's the square of the standard deviation. I counted 3 given the phrase I quoted. But now I went to the code and I understand what's going on. You calculate first values for normal distributions for x and y (mean 0, standard deviation 1), and then you multiplied them by the distance spread (which changes the standard deviation of the resulting Gaussian, as explained before). Well, this shouldn't give you a square (I thought you were integrating with wrong limits to get the probabilities, but I think that's the part you are doing with a CDF calculator). This is the relevant part of the code: const distanceModifiedSpread = ApplyValueModificationsToEntity("Attack/" + type + "/Projectile/Spread", +this.template[type].Projectile.Spread, this.entity) * predictedPosition.horizDistanceTo(selfPosition) / 100; const randNorm = randomNormal2D(); const offsetX = randNorm[0] * distanceModifiedSpread; const offsetZ = randNorm[1] * distanceModifiedSpread; data.position = new Vector3D(predictedPosition.x + offsetX, predictedHeight, predictedPosition.z + offsetZ); Which I'm going to simplify, in python, and fix distanceModifiedSpread = 60, for 100000 points: N = 100000 predictedPosition = {'x':10,'z':10} distanceModifiedSpread = 60 for _ in range(N): randNorm = (random.gauss(0,1), random.gauss(0,1)) offsetX = randNorm[0]*distanceModifiedSpread offsetZ = randNorm[1]*distanceModifiedSpread data_position = (predictedPosition['x'] + offsetX, predictedPosition['z'] + offsetZ) I get this density plot: So, not a square. That's acceptable enough, but bear in mind that your calculations are approximations. When you used the CDF calculator to integrate a Gaussian with mean 0, standard deviation 1.35, between -1.5 and 1.5, and got 73.35%, and multiplied by itself, you are indeed calculating the probability of hitting a square. Then you multiply that by a factor telling you how much smaller is the circle respect to the square, but that multiplication is having the hidden assumption that the probability distribution is the same in all points of that square (that's what multiplication really means, weighing all elements the same way, and that's why integrals and convolutions are more powerful). If you want to get the exact result, you have to multiply first and integrate later (or use the CDF calculator, but that's for the weak :P). The actual CDF can be found for example in https://en.wikipedia.org/wiki/Rayleigh_distribution, since it's related to the problem of having a "two-dimensional vector Y=(U,V) which has components that are bivariate normally distributed, centered at zero, with equal variances , and independent".
  24. Concerning the size of the ships and now the water depth. 1. I've had a number of situations where my "fleet" got tied up in knocks and I could not move them until I untangled them. "Smaller" ships may resolve this type of concern. 2. I've also built a dock where the water depth was too shallow for the larger boats, so I ended up with ships that could not go anywhere and had to be destroyed.
  25. Further thinking about my 1D simplication case, I find that we can obtain the actual probability quite easily. Since x and y are independent, we can just take the square of the probability, which means probability of x being within +-1.5m of target times the probability of y being within +-1.5m of target. Next, since infantry is considered as a circle, we further multiply it with the area of circle divided by area of square. So, the exact probability of archer hitting target at 60m is 73.35% x 73.35% x pi x 1.5 x 1.5 / (3 x 3) = 42.26%. A spread upgrade would make it 54.77%. Pretty low! Would anyone perform experiment to prove it correct or prove it wrong?
  26. Thanks for trying to understand my imprecise description. Random normal distribution is a bell shape of standard deviation of 1. If we multiply it by a spread of 2, it becomes a fatter bell shape, with standard deviation of 2. Spread is calculated like 2.25 x 60 / 100. It doesn't change like the way you relate with area. Consider it like a radius of a circle, centered on the landing point of projectile At 100m the circle is large, so shooting is inaccurate, at 50m the cirlce is smaller, more accurate. You are right that the area changes by 4 times, but spread is more like a radius, not area. This is a 1D value, not 2D. The random distribution is 2D. Multiply the 2D distribution with the 1D spread factor to make the distribution fatter, larger, more spread out. x y are not position of the landing point of projectile, but the random values to be added to the position of the landing point to make it spread out randomly. With spread, the landing position is no longer a point, but a 2D normal distribution centered on that landing point. You are right to point out that they "shouldn't" be independent. But as fact, the source code calculated them independently, probably to speed up computation. So the condition x^2 + y^2 = R^2 did not hold. x is just a random value with normal distribution, and y is just another random value with normal distribution. Together, x and y has no relationship. That's why the CDF is not circular. It is weird, but it is the current fact. Also seems you tried to understand "independent" as separate, and counted 3 spreads. When I mentioned independent, it is in the sense of random variables. Since it is 2D, there are only two independent random variables. Spread is a constant factor, like 2.25 for archer. At distance of 60m it is adjusted to 2.25 x 60 / 100. Multiplying the spread would make the random normal distribution larger, fatter, more spread out. And I guess your final intuitive interpretation is correct.
  1. Load more activity
×
×
  • Create New...