agentx Posted June 3, 2014 Report Share Posted June 3, 2014 This started as Numerus Bot and became a Mod. It give you a visual end of game summary. The screenshots are from a 2 hour game with Aegis, Petra and me on the Gallic Fields. There is something wrong with the buildings, I have to investigate, but otherwise it would help if other players give it a try. So far it was only tested with a recent SVN on Linux. Would love to make the mod, well, battleproof. charts-mod.zip Quote Link to comment Share on other sites More sharing options...
mimo Posted June 3, 2014 Report Share Posted June 3, 2014 Nice plots. These could be quite useful to understand and improve the AI behaviour. What is the color code in this example ?and what is the % area ? the explored one ? having the % of our territory would be quite useful. Quote Link to comment Share on other sites More sharing options...
niektb Posted June 3, 2014 Report Share Posted June 3, 2014 I suggest to draw small connection lines to improve the easiness of reading the charts. Looking good though, it also opens the way of testing multiple strategies with AI's. 1 Quote Link to comment Share on other sites More sharing options...
sanderd17 Posted June 3, 2014 Report Share Posted June 3, 2014 % territory would probably need some engine code for performance reasons. Looping over every tile in js will be too hard. 1 Quote Link to comment Share on other sites More sharing options...
agentx Posted June 3, 2014 Author Report Share Posted June 3, 2014 > What is the color code in this example ?Quite unexpected question. Petra is already greedy enough in terms of area. The map is per cent explored. Looping over 65k tiles takes ~1 msec, that's acceptable once per minute, but probably not on bigger maps. Lines are not easily available, on the other hand players can be toggled on/off, with only one color left it is acceptable. And it is only the units screen with huge jumps.The game itself was interesting, Petra chose me for the first two rushes and then hit Aegis very hard. Aegis never attacked me, just some tiny border conflicts. However, at some point both bots stopped training, otherwise I'd had no chance. I've seen Mimo's patch, but couldn't test so far. I think if bots continue training, there is no chance for humans, except may be a network of defense towers and fortresses packed with units to pile up resources and finally launch 250 champions armies one after the other. Sometimes I can manage to build traps with strongly guarded honey pots walled on three sides. But that doesn't work always. Anyway I think multiple bots are great to learn and improve tactics. The game is rich enough so there is no ultimate strategy in sight.I forgot the food chart, Petra went up to ~70,000 and did barter like hell, although metal was always above 30 or so. I've compared the buildings chart against the other panel and apparently Aegis lost 71 buildings more than constructed ???.There is still room for more charts, proposals are welcome. I'm thinking about technologies, but that could end in a screen full of tiny icons or a wall of text... 1 Quote Link to comment Share on other sites More sharing options...
Radagast. Posted June 3, 2014 Report Share Posted June 3, 2014 Interesting insights. Thanks for the creation.I think we don't really need straight connection lines as interpolating those might be not really a true representation (because surely the units might die or be created in batches! thus it would be a very steep almost vertical line. thus interpolating would be misleading.).The points show all what is need and they are accurate.I see you have a better feel for colors than me. I picked blue for the highlight of the active tab but your grey + white looks like a good fit.I think it's another mod I will have permanently installed and will start with at all times. Thank you! Quote Link to comment Share on other sites More sharing options...
Stan` Posted June 4, 2014 Report Share Posted June 4, 2014 About the explored percentage if you aim to look at those graphs only at the end maybe you should only refresh it when loading this screen unless you want to see the exploration IRL.What difficulty were you using ? Quote Link to comment Share on other sites More sharing options...
agentx Posted June 4, 2014 Author Report Share Posted June 4, 2014 > only refresh it when loading this screen unless you want to see the explorationNot sure I understand, the screen reuses the dots, so switching metrics refreshes/moves the dots. The data itself is only processed once. Difficulty was default. Quote Link to comment Share on other sites More sharing options...
mimo Posted June 4, 2014 Report Share Posted June 4, 2014 There is still room for more charts, proposals are welcome. I'm thinking about technologies, but that could end in a screen full of tiny icons or a wall of text... as already mentionned, % of territory would be useful. I guess it can be computed with no cost inside CCmpTerritoryManager.cpp an "army strength" : weighted sum of units (for example start with 0 for female, 1 for soldiers, 2 for champions and 5 for heros, and later refine these weights using attack stats) a "defensive strength" : weighted sum of buildings (for example, start with 3 for civcentre or fortress, 1 for tower, 0 for others)these strengths would be quite arbitrary, but would allow a better comparison of military power than the numbers of units or buildings Quote Link to comment Share on other sites More sharing options...
agentx Posted June 4, 2014 Author Report Share Posted June 4, 2014 I think indexes like "defense strength" and "attack strength" are a bit opinionated, although I understand the use case. It might happen a player looses despite the fact the opponent had only half of the strength. Let's say this first set of charts is about building a working economy. Making the charts revealing why a game was lost requires more and probably should take balances into account. What might work as a first approach is relative health, reminding the player not to send half dead warriors into battle and accumulated attack strength separated by infantry and cavalry.Is there somewhere a doc explaining the math of hitpoints, pierce, crush, hack, etc. Quote Link to comment Share on other sites More sharing options...
sanderd17 Posted June 4, 2014 Report Share Posted June 4, 2014 It's not that hard. The damage for each statistic is calculated asAttackValue * 0.9^ArmourValueThen the resulting number is summed for the 3 possible stats (pierce, crush and hack), and together, it's the reduce in hitpoints. If an AttackValue for a certain stat is zero, then it causes no reduce in HP. If an ArmourValue is zero, then the reduce in HP is just the amount of the AttackValue.Then you have the bonuses. Which are just multiplicators if the damage in HP.More elaborate damage (like splash damage) is a bit more difficult, as it takes the distance between the two into account. Quote Link to comment Share on other sites More sharing options...
mimo Posted June 4, 2014 Report Share Posted June 4, 2014 Did I ever say that the attack strength would tell you if you will win or not ? No, it was only supposed to be an indicator of your strength.Then if you want to split it in infantry and cavalry, and health and whatever you like, and combine hitpoints, pierce, crush or whatever you like for the weight, that's fine.But what I would like from such an indicator is for it to stay simple to interpret, and to allow you to have a snapshot of your global strength relative to your opponents without having to look at 20 charts. Quote Link to comment Share on other sites More sharing options...
agentx Posted June 4, 2014 Author Report Share Posted June 4, 2014 Mimo, if you want to propose a strength indicator based on female = 0, champions = 2, and heros = 5, I'd like to ask for details from where you got those numbers? Quote Link to comment Share on other sites More sharing options...
mimo Posted June 4, 2014 Report Share Posted June 4, 2014 From nowhere just as a starting point (as said in my post), it would already be much better than what is available now (i.e. the number of units). Of course, this would be just a starting point and we will have to improve these weight using unit stats (as also said in the post). But this improved weight will certainly take quite some time and trials before having something which suits the most people. So the idea was to start with something simple (to check and implement the concept) and improve it later. But I've nothing against implementing already a better unit weight ! The only thing I would like to avoid is that this "simple summary estimator" transforms in a "lot of complementary estimators". Quote Link to comment Share on other sites More sharing options...
agentx Posted June 4, 2014 Author Report Share Posted June 4, 2014 I think, there should be a method to find out these numbers upfront by reasoning or stochastically and backed by stats. Otherwise each player simply proposes numbers based on his very own experience and tactics leading to endless discussions or a GUI to enter your favorites. What would be an approach to have an objective indicator?PS: Did I mention there is a ticket proposing headless testing to get numbers like this?PPS: Any useful data collected at the lobby? Quote Link to comment Share on other sites More sharing options...
wraitii Posted June 4, 2014 Report Share Posted June 4, 2014 I'm pretty sure Aegis has function that takes a template and returns a "powerfulness" scalar. Quote Link to comment Share on other sites More sharing options...
sanderd17 Posted June 4, 2014 Report Share Posted June 4, 2014 PPS: Any useful data collected at the lobby?The lobby gathers the stats from cmpStatisticsTracker. Nothing more fancy. Maybe your object can also be send, if it's not too big. Quote Link to comment Share on other sites More sharing options...
agentx Posted June 4, 2014 Author Report Share Posted June 4, 2014 > Maybe your object can also be send, if it's not too big.Great idea! 120 dots * 12 metrics * 64bit jsnumbers * x players = 92k max + whatever makes it an object. All needed is convincing players to install it and allow sending data. Well, it would improve the bots a lot and it opens door to visualize individual learning curves or something similar. Quote Link to comment Share on other sites More sharing options...
sanderd17 Posted June 4, 2014 Report Share Posted June 4, 2014 The tracker itself might become part of the public mod (if you want that).I don't see the graphs in the public mod though. They're implemented a bit too hacky. If you could implement it using a nice, new GUI object, that would be better. Quote Link to comment Share on other sites More sharing options...
agentx Posted June 4, 2014 Author Report Share Posted June 4, 2014 (edited) No prob with public tracker. What is a nice GUI Object, examples...? JS, please! Edited June 4, 2014 by agentx Quote Link to comment Share on other sites More sharing options...
sanderd17 Posted June 4, 2014 Report Share Posted June 4, 2014 The different GUI objects are all defined in C++. It's not possible to make new ones from JS. Here you have buttons, checkboxes, lists ... http://trac.wildfiregames.com/browser/ps/trunk/source/gui I think chart could be a custom gui object. Quote Link to comment Share on other sites More sharing options...
agentx Posted June 4, 2014 Author Report Share Posted June 4, 2014 Can't help with C++, not in this life. But I understand your concern. A GUI Object that works like a HTML canvas, with lines, paths, rectangles would be great. Here is an implementation for node.js backed by Cairo: https://github.com/LearnBoost/node-canvas. There are probably others. Quote Link to comment Share on other sites More sharing options...
agentx Posted September 23, 2014 Author Report Share Posted September 23, 2014 (edited) Could anybody - Rada, I'm looking at you - walk me through how to make this work with the new mod selector in SVN? -mod=charts is apparently not enough. Edited September 23, 2014 by agentx Quote Link to comment Share on other sites More sharing options...
Stan` Posted September 23, 2014 Report Share Posted September 23, 2014 try -mod=public -mod=charts Quote Link to comment Share on other sites More sharing options...
niektb Posted September 24, 2014 Report Share Posted September 24, 2014 In SVN you need to create a mod.json file that holds various info to get recognized by the new mod selector. Look for example at Aristeia, Millennium A.D. or Rise of the East. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.