Serious Coding Question — Guild Wars 2 Forums

Serious Coding Question

videoboy.4162videoboy.4162 Member ✭✭✭

This is a serious question and not just a complaint. I don't know much about coding a video game. Is it not possible to create some code or a program that tracks PvP matches and auto-punishes match manipulators.

For ex) I just played a match with a Chrono. Less than one minute into the match, the person got angry. After that, they would spawn, run to Waterfall, and go to sleep. When enemies immediately ran there, the Chrono didn't fight back at all. Repeat until match was over.

Can player actions be tracked or is it something that cannot be coded?

Comments

  • Trevor Boyer.6524Trevor Boyer.6524 Member ✭✭✭✭
    edited September 10, 2019

    This sounds like a great idea that I'd like to see happen, but it is probably a great deal more complex to code properly than you or I would imagine.

    Example: There are matches I've had where my team was winning so hard, that I opted to AFK so that it would be more balanced for the poor guys who were getting meat grinded every time they walked out of respawn.

    If the coded function we are discussing wasn't done perfectly, people would be getting punished who shouldn't be getting punished. And likewise, people who should be getting punished could make their play look like it wasn't match manipulation at all.

  • I don't think you can counter any behavior in-game without sophisticated software, and some machine learning. ( which I doubt anet will write, due to the fact that it took them 7 years to write template builds.) .Jokes aside, I honestly think the best counter to those players, is to try hard and rank above, to the regime where they are less common. that's it.

  • yusayu.3629yusayu.3629 Member ✭✭✭

    @videoboy.4162 said:
    This is a serious question and not just a complaint. I don't know much about coding a video game. Is it not possible to create some code or a program that tracks PvP matches and auto-punishes match manipulators.

    For ex) I just played a match with a Chrono. Less than one minute into the match, the person got angry. After that, they would spawn, run to Waterfall, and go to sleep. When enemies immediately ran there, the Chrono didn't fight back at all. Repeat until match was over.

    Can player actions be tracked or is it something that cannot be coded?

    So, here's some counters to behaviour like that:

    • You can have an AFK-kicker. If a player goes for x seconds/minutes without performing an action they get an automatic loss or are unable to queue for the next game or lose more rating etc. etc. The game already has the AFK-kick function to reduce server load, but this could be an additional measure for PvP only. Thing is you can pretty easily circumvent this by pressing a button or two once in a while while griefing.

    • You can track kills/damage done/healing done or other stats over a lot of matches and restrict players with low stats from playing ranked for a while or give them a rating penalty. This should only be done for the most egregious offenders with the most obvious stats, otherwise you might punish innocent players.

    • You can track everything, including mouse movement, keyboard input, player positions, stats etc. across all matches and create a set of positives and negatives to try and train a machine learning algorithm. This takes a lot of work, it's what OpenAI for Dota 2 does currently to detect cheaters/scripers. This is a lot of work and probably not possible for ANet with their incredibly limited resources.

  • Ryan.9387Ryan.9387 Member ✭✭✭

    A system that does this without a ton of complexity is the csgo overwatch system. https://blog.counter-strike.net/index.php/overwatch/

    As a software engineer, I'd copy csgo because using trustworthy humans will be less error prone than ai without huge investment. Give players a reward for an accurate judgement. Punish them for inaccuracy.

    Another instance of using players to make judgement on a problem instead of ai for accuracy https://www.wired.co.uk/article/eve-online-project-discovery-human-protein-atlas.

  • @videoboy.4162 said:
    This is a serious question and not just a complaint. I don't know much about coding a video game. Is it not possible to create some code or a program that tracks PvP matches and auto-punishes match manipulators.

    For ex) I just played a match with a Chrono. Less than one minute into the match, the person got angry. After that, they would spawn, run to Waterfall, and go to sleep. When enemies immediately ran there, the Chrono didn't fight back at all. Repeat until match was over.

    Can player actions be tracked or is it something that cannot be coded?

    Actions are already tracked because each action is logged. This is in pretty much any game (and software in general) for tracking down bugs. Processing that data for every last person is hard and expensive. You'd have to set some thresholds for what constitutes as afk'ing and there are countless ways to afk in a match. To use ML, you'd need to seed it good data, so you run in to the same issue as manually setting thresholds. Even if you did have good data to create thresholds, you'd still end up accidentally tagging players who could just be lagging. Another note, just thinking about the combat in this game makes me realize how much harder it would be to implement this system effectively because of how skills may or may not connect.

    I'm going off of general knowledge here, so an expert might be able to tell you more.

  • Flumek.9043Flumek.9043 Member ✭✭✭

    The short answer is no, it is ultra hard to write something other than inactivity kicker.

    And only humans can review footage with context.

    The only way this is dont is to review or ban when a account recieves a lot reports / complaints. And even then its annoying, as blizzards overwatch (not CSGO overwatch) just automatically bans you once you reach a certain number. And its heavily missused, DPS would often get banned just for not swapping.

    In GW2 case however,
    its noticed that the game is ultra non competitive. Therefore the afk timer is stupidly long, was 5min or so for years, now its 2min, which is still stupidly long.
    Also they completely ignore those reports.
    In 7years of PVP only, I think vingador had 10.000+ games played. In overwatch i get banned if i afk 10 games in row and 20 im account banned. I dont know of a single player that got banned for trolling and being toxic (racist+ levels of insults..) , the i know is a chat ban for 1week.
    Its just a casual game, just dont care too much.

©2010–2018 ArenaNet, LLC. All rights reserved. Guild Wars, Guild Wars 2, Heart of Thorns, Guild Wars 2: Path of Fire, ArenaNet, NCSOFT, the Interlocking NC Logo, and all associated logos and designs are trademarks or registered trademarks of NCSOFT Corporation. All other trademarks are the property of their respective owners.