Q: Is There An Audit Feature / Method?

I am building a module that relies heavily on secret movement. I don’t want to have to “enforce” every rule with automation. Is there an established method of handing over access at the end of a game for auditing of legality of moves? The existence of such a method would greatly deter cheating.

This suggests that you’re going to manually check logs when the game finishes?

Not in every case, but just having the capability to go back over .vlog files and watch the other side’s hidden activities offers the opportunity to give such games some degree of player enforcement, removing the need to enforce rules with automation. Also, I would much rather drop a chat message when a rule appears to have been violated …flagging that .vlog for possible audit after the game ends. This would make the module much less fragile.

At this point, I am wondering if someone has an easy design pattern that they use for this purpose. But, I suspect not.

Can you elaborate on the methods you’re using to obscure things from players that shouldn’t see? E.g., does this involve maps/displays that only specified player sides can access, masking, invisibility traits? Is there by definition a neutral umpire, or do you want things selectively revealed to the opposing player during this “auditing playback” that were initially hidden or otherwise restricted?

I’d simply like each opposing player to be able to step through a .vlog and see exactly what the opponent saw…on a private map and with invisible units on a common map. There is no referee.

This can be accomplished by revealing the opponent’s password, but I see this as impractical the way the system is implemented currently.

I was thinking maybe the use of a “referee/observer” role or something analogous COULD be used to satisfy this need. But, as it stands, I think the “observer” would compromise secrecy and facilitate cheating offline during PBEM.

Why? That strikes me as the most straightfoward way to do it.

I think it may be the only way to do it currently. But, I thought I should ask before making that assumption.

So, if I use this method, the players will need to arrange to exchange passwords at the start of the game. There is no way to do this programmatically. Is that right?

Could I give the “observer” full access to both sides and programmatically assign it a password that is revealed at the end of the game?

There is no existing programmatic method to reveal/send one’s module password to another player. You could define an “all-seeing” player side, but if you want it to be unavailable until the game’s conclusion, either one of the participating players has to lock it with a password they choose (defeating your purpose, you’re back to the honor system) before joining as their actual player side, or some 3rd party has to lock it and be contacted at the game’s conclusion to reveal its password when it’s time for auditing.

Thanks very much for the feedback.

It looks like the “Third Side/observer” role would solve all of the problems here if we simply had a way to assign a randomly generated password at start and reveal it at end to both players. That would be amazing.

In the meantime…unless someone else weighs in with a better idea, I’ll do the pre-arranged password exchange idea.

Why would you exchange passwords at the beginning of the game, instead of the end? If each player already knows the other’s password, they could use it to cheat and see what the other player did before responding to it…

You wouldn’t actually exchange at the beginning. At the beginning, you would agree to exchange at the end by maybe putting it in delayed notes. The exchange would take place at the end, after the game was over. The importance of agreeing in the beginning would be to give each player a chance to choose an appropriate password, instead of one they may not want to compromise at game end.

OK, that makes sense. But you need to keep in mind that once a player has claimed a side, it’s too late to change passwords without starting a new game (if I understand correctly).

Can you elaborate on this? I just tested it and it doesn’t give me an error or any observable problem that I can see when I change passwords mid-game.

I thought that the sides got locked to your password as soon as you claimed a side, but perhaps I was wrong…

It would actually be better for my use-case if it did lock.

This is true, but if passwords are exchanged at the end, and each player changes his password to the opponent’s, then both will be slotted into what had been the opponent’s side when it’s time for auditing.

It’s going to put you in whatever side it finds as a match for your current module password. If no matches are found, you are given the “choose a side” dialog.

1 Like

Thank you for the clarity.