Hi,
it will be designed for crom or fury server?
idea looks great
Hi,
it will be designed for crom or fury server?
idea looks great
The plan is to have it available for both servers. But I am not sure if I will enable both from the start yet. Crom is currently the focus as that is where the majority of the population resides.
I want to say thanks to @Lurvi for the great suggestion of using the aoc combat log to bring combat data into the application. This is going to delay the release a bit but I think this will make everyoneâs life a LOT easier and provide us with some amazing statistics and metrics that can be reliably used to reward/deduct participants elo rating.
Here is a list of some of the things I thought can be accomplished with using this data:
I will say this idea really excites me. I am working on it now and will keep you guys updated.
I also think this could easily be extended to create some interesting open world warzone game modes.
If this is proven successful I will start developing this for open world (Fury). Think 6 v 6 v 6 v 6 in gateway to khitai or 3v3v3 on whitesands, 12 vs 12 in eiglophian mountains. The possibilities seem endless and honestly really exciting. If someone tried to grief there name would appear in the parse.
but what about the limited range when logging? you cant catch the entire map I believe
The plan is to create a small windows application which will parse the combat log for every player. That parse will be sent to the server for validation. Basically the game process will be handled completely by the windows application.
You sign up for matchmaking through the website.
A Matchmade game is made
The server tells the windows application running on your machine that a game is ready.
The windows application will be brought into focus and the game will proceed from that interface.
Within the windows application the only thing the user will need to do is provide the aoc install directory (like with any parser). They will then type /logcombat on
If any user does not have a valid combat log running they will not be able to ready up for the match.
This will verify that we get a complete parse of the entire game. I have already finished creating the parser.
How many Crust were hurt in the making of this parser?
You canât really rely on combat logs for such things. Itâs a mess then it comes to real combat, especially in pvp. You wonât be able to determine k/d from logs. Even if you somehow resolve problem with range (your combatlog is limited in range around your character). So you canât determine it from 1 person perspective. And forcing everyone to log is not a good idea, because of the different languages (logs gonna be in the same language, as client, which means: russian, german, spanish, french, polish. And some things are not accurate in different languages. For example, some offhand attacks are not shown in russian logs.). Even if you find a way to write combatlogs in english, by using some game key you are gonna hit troubles with synchronizing this mess.
And all of this doesnât matter because of such things:
Sometimes people became âStrangersâ in logs (happens then they die and for some other reasons). Take a look:
[23:09:55] Strangerâs Upheaval hits Mr.Goo for 124 slashing damage.
[23:09:56] Strangerâs Curse of Gwahlur hits Mr.Goo for 13 unholy damage.
[23:09:56] Strangerâs Upheaval hits Mr.Goo for 124 slashing damage.
[22:57:45] Strangerâs Curse of Gwahlur hits you for 30 unholy damage.
[23:11:30] Strangerâs Life of Set (Rank 6) heals you for 231.
Some damage you just canât attach to specific person. For example, this is how âArmageddon Fallsâ look in logs:
Your Armageddon Falls hits you for 52 slashing damage.
Mr.Gooâs Armageddon Falls hits Mr.Goo for 166 slashing damage.
Does the game count all this damage to the person who applied original debuff? Or does it ignores all selfdamage? Or 42?
And there is quite a lot of limitations, timing issues, mechanic stuff and yada yada. I can see problems in implementing any item on your long list. But I think those reasons are enough?
The plan is that every player will be running the combat parser. This will allow for the server to make reasonable assumptions by checking the source of damage against the receiver of damage.
The important thing to note is that this is all post-processing. Itâs not real-time. The only real-time action is the streaming of the data related to the ongoing game.
Iâm sure there will be issues, but I think the fact that heâs willing of give it a shot far outweights ceasing all development because there could be some situations where creative solutions must be implemented.
Well, I wrote about crucial technical problems which will make it almost impossible to implement. Did you actually read my post?
Combatlogs have huge amount of useful information, but you canât really rely on them in some cases.
As I understand, the main reason for parsing for now is to determine k/d, so you can free end user from annoying hand posting k/d? Maybe you should consider ocr for this? In this case will be enough to provide 1 screenshot from any player.
K/D is not the goal. the goal from the combat logs is to get meaningful features extracted from the logs. He proceeded to list all of them. K/D was just one of the many features he listed.
Nothing you listed makes this impossible at all.
Care to propose at least some workarounds for the issues I listed?
Iâll let the man with the plan explain. Heâs thought about many of the issues you brought up and seems confident about some possible solutions.
Exactly the only way this can reliably work is to have everyone have the combat log running. You need the log of the damage dealer and the one having damage dealt to them.
Would it be out of line to ask players to use the english client? If that is too much to ask then I can create a translation of each ability/combo and translate a given text to english. Regarding things missing in particular language logs. The only time that would be an issue would be if say a russian white hit a russian and no one else was around to have that hit parse on their log.
The stranger problem is completely solvable when everyone is parsing. The ones listed above are actually from a third parties parse. You can find the name of stranger by going to Mr.Gooâs parse to see who hit him with that damage at that given time stamp.
Another situation is when say a necro dots someone and they run far away. Part of that damage will only appear on the victimâs log. So to validate dots you would always start from the victimâs log. And marry up the Stranger logâs to the damage dealer.
What if 2 necroâs dot are ticking on the same second interval on a victim and the victim runs out of range before the dot ends?
Mark of the devourer is a dot that lasts for 30 seconds and ticks every 5 seconds starting at 0.
So for 2 necro dots to be at the same second interval (every 5 second 2 dots appear on log) and for both necroâs to be out of range of the victim at the same time then the second dot would need to hit 5 seconds after the first.
Necro 1 dots victim 1 at 11:59:41
Necro 2 dots victim 1 at 11:59:46
and at 12:00:06 the victim is out of range of both necros.
[11:59:41] Dirtydannyâs casts Mark of the Devourer.
[11:59:41] Dirtydannyâs Mark of the Devourer hits You for 62 unholy damage.
[11:59:46] Bigboyâs casts Mark of the Devourer.
[11:59:46] Bigboyâs Mark of the Devourer hits You for 72 unholy damage.
[11:59:46] Dirtydannyâs Mark of the Devourer hits You for 58 unholy damage.
âŠ
[12:00:06] Strangerâs Mark of the Devourer hits You for 72 unholy damage.
[12:00:06] Strangerâs Mark of the Devourer hits You for 58 unholy damage.
To find who each stranger is on the victimâs log you simply back track 5 seconds at a time until you see X casts Mark of the Devourer. At that point you should see 2 mark of the devourer casts on the same second. Since Bigboyâs dot ticked before Dirtydanny then every subsequent stranger tick from the dot will apply Bigboyâs name as the attacker for the first dot and Dirtydannyâs name as the attacker for the second dot.
How does it work in the game? Does that damage go to the attacker or is simply ignored and seen as self damage? I am not sure.
self dmg of a sort afaik, dont think you can see who triggered it
This is actually not true. If damage is done out of range it will always be displayed as stranger on the player taking the damage. The only way this can be solved is having player B between player A and player C. This way the range is doubled and it will not display stranger from player Bâs log. However, I do not see this scenario by a melee combo possible and it is outrageous to even mention it.
The only scenario I can see stranger being a problem is when dots and hots are active on a player when the caster dies. For example, if there is a fight far away from the respad and a healer/dotter dies, then all its hots/dots will say âStrangerâs xx spell heals xx for xxâ, or âStrangerâs xx spell hits xx for xx damageâ and this might result in inaccurate parsing of kills/deaths, healing and to some extent the damage done.
This is incorrect, you seem to lack a little bit of knowledge in how the combat log works. Here let me shed some light on few details.
Only buffs/debuffs are displayed with Player casts spell unless you are the one casting the spell. In that case you will get two messages, one that says âYou start casting spell xxâ and âYou successfully cast spell xxâ. Iâve seen some special cases where Flame Lash shows up but thatâs about the only hostile spell I observed in any combatlog I recently studied.
You might think "but I saw âplayer casts mark of the devourerâ " in your combat log. Yes you did, but if you paid attention you will see the buff that increases the damage done/healing recieved from it, not when it is actually cast. If you want to see start of a dot you will have to track this entry âPlayer afflicts target with Spell(Rank x)â which I guess is the same method you were thinking of, doable.
It comes up as self-inflicted damage, Iâm not into the pvp meta so Iâm not sure how much of a problem armagedon fall actually is. I donât see it as a problem but then again Iâm not invested in the current pvp meta.
On a sidenote: If there is a player using russian letters in their character name it will show up as ??? In the combat log.
Another thing you can track using the combat log is to see who is running what buffs/potions. Crit potions, combat rating potions, exiles runes, gold potions etc can all be detected in the combat log. You can even go as far to keep track on how many times a protection buff has been cast or how many times a soldier stance danced in the minigame which might be very interesting to see. You can keep track on which manifestation is used by bear shamans, how often bubbles are used etc. There are probably a lot more things you can track to generate some interesting stats.
Yes, this is least of the problem. But you still need to consider crashes and relogs. If you relog, while logging is running - it stops writing, but log will be technically still open.
But if someone played few years and knows casts on his language - switching could be a problem.
Even in Mr.Gooâs logs that would be stranger:
[23:56:33] Strangerâs Intense Heat hits you for 18 fire damage.
[23:56:35] Strangerâs Intense Heat hits you for 18 fire damage.
If I remember well, âIntense Heatâ is AOE damage on dot tick. So it might look like:
[23:56:35] Strangerâs Incinerate (2) hits Mr.Goo for 20 fire damage.
[23:56:35] Strangerâs Intense Heat hits Mr.Goo for 20 fire damage.
[23:56:35] You absorbed 5 points of damage from Stranger attack
[23:56:35] Strangerâs Intense Heat hits you for 18 fire damage.
Same thing with âPestilential Blastâ:
[23:49:48] Strangerâs Pestilential Blast (Rank 7) crits Mr.Goo for 169 unholy damage.
[23:49:48] Strangerâs Pestilential Blast (Rank 7) crits you for 417 unholy damage.
And same thing from all AOE damage from dotâŠ
And this is also fun thingy:
[22:40:05] Strangerâs Spell hits Mr.Goo for 1286 piercing damage.
[22:40:07] Strangerâs Spell hits Mr.Goo for 1864 piercing damage.
[22:40:49] Strangerâs Spell hits Mr.Goo for 1055 piercing damage.
Although that you can see from Mr.Gooâs perspectiveâŠ
Although, this:
[23:19:35] You absorbed 92 points of damage from Stranger attack
[23:19:35] You mitigated 92 points of damage from Stranger attack.
[23:19:35] Strangerâs Spell hits you for 328 slashing damage.
I appreciate the responses, this is all very helpful. I do not have a lot of knowledge on how the combat log works entirely, last night was the first time I looked at one.
But wonât the victimâs log have the entirety of the dot? So you can easily backlog to see who inflicted the dot earlier in the log and replace Stranger with that name. Isnât dot damage inflicted even after the necro dies calculated into the kill calculation?
I canât say I donât lack some knowledge on how the combat log works :). Instead of looking at the âCastâ log for a given spell on the victim you could look for the first inflicted spell in a dotâs given life span. I.E mark is 30 seconds long so you can easily find the first hit which will always have the playerâs name associated with it. You may have to get more creative with something like sin poop bomb but I still think you could determine the attackers name from the victimâs log.
Does the whole name show as ??? or just the russian characters?
Thanks for mentioning that, this was something I noticed last night when I was testing this dual boxing. You can easily see all the buffs a character has and I think it gets parsed out after every death as well. Well when I zoned in I noticed it showed the buffs alongside the shield of the risen.
I thought about this one as well. Since we will have the start time and end time of the match via the windows application I can grab all of the combat logs for today and find all parse information that falls between the start and end time of the game. I donât think this will be a problem.
I understand that, I wouldnât mind trying to translate everything but that would be a LOT more work imo.
You can find Strangerâs name by parsing backwards (victimâs log) to the initial hit which would have the strangerâs name.
You can find Strangerâs name by parsing backwards (victimâs log) to the initial hit which would have the strangerâs name.
Not in the case of AOE damage on dot tick.
Example:
[23:16:46] Strangerâs Incinerate (2) hits Mr.Goo for 28 fire damage.
[23:16:46] Strangerâs Intense Heat hits Mr.Goo for 29 fire damage.
[23:16:46] Strangerâs Intense Heat hits you for 18 fire damage.
In this example Stranger applied dot âIncinerateâ on Mr.Goo. Each time âIncinerateâ ticks it damage everyone around with âIntense Heatâ.
So I was in proximity of Mr.Goo when Strangerâs (from my perspective) âIncinerateâ ticked. So I was damaged by another spell âIntense Heatâ. Which is again, Strangerâs spell.
In this case you canât determine the attackers name from the victimâs log.