thanks guys
TripleA Changes for PBEM
-
This is a thread to track the changes made to TripleA as we endeavor to make it a better interface for PBEM.
-
Being the aforementioned brother “currently working on some coding”, I guess I can provide an update.
I’ve been working on a number of PBEM improvements to TripleA, with success. Our test game has been at a stalled pace for some time because I am generally busy, and have been putting any free time I get into hacking TripleA instead of playing it (no really, it’s not because I’m getting spanked in that game!). As a result, I expect to have a new jar file for TripleA (Stable 0.8.2.2) for beta testers to play with by the end of the weekend. I am currenlty putting on some finishing touches.
The overall goal is to make TripleA the easiest way to play PBEM games, even if your opponent chooses not to use TripleA.
Here’s a summary of work done so far, for those interested:
- new screenshot and turn summary / history log features
- auto-post end-of-turn screenshot to a public image server
- auto-post end-of-turn summary, save game file, and screenshot link to A&A.org Games In Progress forum
- improved the UI behaviour for default selections when moving units and loading/unloading transports
There have been some comments about TripleA not being a map editor. The ability to freeform-edit a game-in-progress in an auditable fashion is next on my list of things to tackle. This is a tricky undertaking and I am engaged in design discussions with Sean Bridges (the TripleA author/maintainer).
Stay tuned this weekend for an initial beta of my current changes.
-
@froodster:
If the opponent is not using TripleA, how do the results of their moves get put in? I guess that’s where the “Map edit” feature would come in.
Why does that need to be auditable? When people update their board or ABattlemap, nothing is auditing them in that.
Rather than a map edit, why not just add a feature to enter number of hits manually instead of rolling dice? Then you can take the number of hits rolled by DAAK by the other player and just move the game along that way.
-
@froodster:
If the opponent is not using TripleA, how do the results of their moves get put in? I guess that’s where the “Map edit” feature would come in.
Map edit would be one way. Parsing the text from a forum posting would be another. We have had design discussions about both approaches, but I’m not sure where Tonez is at with this one.
@froodster:
Why does that need to be auditable? When people update their board or ABattlemap, nothing is auditing them in that.
If you have used the TripleA history (I think you go to the View menu -> Turn History) you know that TripleA logs every single step of every single game. By auditable, we mean that any edits will be logged the same way so they can be audited by the next player in the TripleA log (“Hey, how come you added 5 more men to East Europe?!?”)
@froodster:
Rather than a map edit, why not just add a feature to enter number of hits manually instead of rolling dice? Then you can take the number of hits rolled by DAAK by the other player and just move the game along that way.
We tossed around numerous ideas for this. I have only been visiting this board for a few months, but already I’ve witnessed 3 situations where edits might come in handy:
- Attacker didn’t ask defender for OOL and completed his turn. Defender complains. An edit function would let us “fix” the battle so the correct result is acheived (we might have to manually re-roll some later rounds of combat as a result, but we can edit the units and possibly even territory ownership to fix this).
- A player forgot to move a unit and his/her opponent agrees to let him (ie. a lonely infantry mopping up Africa, obviously the player would have moved the unit except he forgot)
- The dice turn on a player in a crucial battle, and his/her opponent negotiates a more reasonable result for the battle to allow the game to continue
There are probably other situations too, and each situation may have had a different fix (ie. manual dice, re-roll combat, etc.) We decided on an edit feature to take care of all situations in one shot (plus any that we haven’t thought of). This should give players the flexibility to do whatever they want with the game (same flexibility that the physical board or a mapping util gives them now). We just thought this was the neatest solution.
-
I agree, a map edit is a really good idea for all kinds of scenarios. I just thought that in the interim the ability to enter a # of hits generated by a dice server would be easier to implement and would solve the immediate need of PBEM games with non-TripleA players.
-
A feature to hijack the dice is certainly a possibility, and would be a fairly easy undertaking. From a battle standpoint, I was actually thinking of a more general solution - which is skipping the dice altogether and just fixing the battle outcome. To be honest this would probably be not too difficult to implement in the current game engine.
Still, you could accomplish this after the fact with a map edit, although it would not be as elegant for that particular scenario (fixing a battle outcome).I wonder how many real examples there are that don’t involve fixing a battle outcome?
rjclayton mentioned:- A player forgot to move a unit
- The dice turn on a player in a crucial battle
As for parsing turn summaries from the forum, I’m not very interested in this at the moment. There would need to be a concerted effort to standardize the format of forum posts to make this worthwihile, and even then it would be imperfect.
The more I consider the options, the more I think I want to maintain the flow of the game whenever possible. I think having to replay your opponent’s turn with fixed battle outcomes in order to update the game state could be a good thing, as long as it’s not a tedious exercise. Having to fix every die would probably get tedious when you already know the outcome.
I’m starting to think that the best solution might be to have both:
- the ability to fix battle outcomes
- a free-form map edit step at the beginning of every turnAlso, the map edit thing I envision is actually a game edit with the following capabilities:
- add/remove units from territories
- change territory ownership
- change IPCs held
- change tech (not a high priority)
-
So when you say “fix the battle outcome” I imagine a screen similar to the “purchase units” or “move units” dialogs where you can simply adjust the units of each side, maybe with one master button for each side that would set all units to 0 for that side.
Actually, it could be accomplished simply by skipping the dice, and then removing the limitation in the casualty screen that you have to match the number of casualties (or by allowing the player to specify the total number of casualties) and then you just take as many casualties from each side as necessary to reach the final outcome indicated by the dicey. Then you end the battle as normal.
-
And what’s this business with renegotiating bad dice? Do people seriously do that? It’s a game. with dice. The dice don’t work out, you live with it. And maybe play Low Luck instead next time. So anyhow I don’t think that’s a scenario that you should have to worry about accommodating, esp. as one of the features of TripleA as a game engine is to prevent illegal moves (such as re-rolling the dice.)
-
In a game with no referee, a move is not illegal if both parties agree. Although controversial, it does happen.
Example 1:
wow maddog, the only thing lighting up in my email seemed to be german fighters from british naval flak - oh, and montgomery’s pitiful defense. You have no fighters left after that turn, which pretty much f@#$s you. Your other rolls went very well (especially egypt). I don’t think even you can win without any german fighters, so I’m willing to continue the game with the same results, but with you saving 2 fighters from the uk sz battle, which is still a bad result, but makes for a decent turn on the whole.Â
Example 2:
Ok, at this point I’m pretty far sunk. Not that I think the game is completely unwinnable: that depends on both our play, but having never played you before I’m going to give you the benefit of the doubt. Perhaps I can still pull it off but I’m not so sure it would be too enjoyable to either of us to try. The problem is not with Russia; I think I’m doing fine there despite not being able to retake with the UK on UK1 like I had hoped - that was a minor setback to me but I was able to recover. The problem is with the naval battles. Losing my sub to your transport on UK1 after I had already committed my armor to blitz back to Egypt meant that I was going to lose Egypt, and thus I split my navies to send a US force to Africa, as you see. I was capable of protecting both fleets, with some calculated risk for the northern fleet that I didn’t really think you would attack because I figured you wouldn’t want to lose your fighters, but that was assuming I would take out your baltic fleet with my fighters. I was prepared for the unlikely outcome that I might lose one fighter in the process since I still had another fighter in MOS that could come to the support of the fleet instead of going to NOV where I moved it now, but I never thought that I would lose both fighters to a transport.
Now I cannot protect either fleet, given your transport as fodder. So I figure we have a few options:
1. You can accept my surrender in the interest of restarting. I firmly believe that my defense was essentially sound and would not play it much differently a second time. We can do LL again or even NoLuck.
2. You can adjust that Baltic battle from A2 to a different outcome. I normally don’t like suggesting this when I was the one to get screwed, since I would rather be generous to my opponent and more strict with myself, but this is definitely a case where one battle may have lost the game for me.
3. We can continue this game as it stands if neither of the above options are acceptable to you. -
In addition to those examples, I’ve often offered concessions in a battle that I know went poorly for my opponent, usually in the early rds.
I also played a game with a former member here, AgentSmith, and we offered each other the ability to take a mulligan on rd 1 and were conscious of making sure neither of us were “screwed”.
These were mostly Classic, but from my pov when you undertake a PBEM game, what fun is it to really play if on G1 you fail to kill the UK fleet or you get no hits in Egy while UK cleans you out.
Now a tournament or “rated” game may be a different story. It really depends. And for games I play with people that have never played a PBEM game or are still fairly new, you want to make sure they enjoy it, so if it means do a re-roll here or there I think it is worth it.
You’ll also be surprised at how many times the offer is turned down.
Many people will say the same thing, hey don’t worry about it is just dice…Also depending on who I’m playing, I like to remove the ability of them to say “well you only won cause your trn killed my 2 ftrs in rd 1”. So I make the offer for a “fairer result”. Whether they except it or not is up to them.
Now, I haven’t really done this in Revised since I’m still fairly new to it and learning the game and I think seeing real swings via the dice is great for the learning process, but in Classic, I’m a much better player and pending the bid, if my opponent has a bad roll (even slightly) early on it is game over so I like to offer a fairer solution to the early critical battles.
-
The overall goal is to make TripleA the easiest way to play PBEM games, even if your opponent chooses not to use TripleA.
I’d like Tonez to expand on this point a little bit, if possible. By making TripleA the easiest way to play PBEM, even if my opponent chooses to not use TripleA, there needs to be a really simple way to update the map each turn. Was this going to be part of the free-form editor? Or was the idea to play the turn out through TripleA and fix the battle outcomes? Or something else?
It might be difficult convincing people that TripleA is the easiest way to play versus an opponent playing say ABattlemap and willing to email you the map each turn. If you used ABattlemap in that situation you would already have an updated map, but with TripleA you would have to update the map yourself. How is TripleA easier than ABattlemap in that situation?
Thoughts?
-
, but in Classic, I’m a much better player and pending the bid, if my opponent has a bad roll (even slightly) early on it is game over so I like to offer a fairer solution to the early critical battles.
I aint buying that a bit…So if I have a “slightly” bad roll in turn 1 against you, then all is lost? Baloney!! BTW, you haven’t tried me out when I’m the allies have you? I happen to think that I’m a natural born allied genius!! :-D
-
As far as I can tell, ABattleMap uses a closed data format, so interoperability between ABattleMap and TripleA will likely never happen.
If this is an incorrect assumption, or if anyone has insight into the ABattleMap map file data formats, let me know.If one player is using ABattleMap, and the other is using TripleA, then yes, it may be less convenient then if both players are playing with ABattleMap and emailing the map back and forth, and certainly less convenient than if both players are using TriipleA.
I see your point. I have not been on this forum long, and from looking at games in progress, it seemed that players were using different map tools already, but that may have been a misjudgement on my part.For the player using ABattleMap, they still would have access to the TripleA screenshot from the other player, so hopefully the inconvenience is relatively small.
-
Yeah, I’d agree that if one player is using ABattlemap and the other is using the new TripleA, then the players would probably want to choose one program that they both can use instead of having to keep both programs up to date. However, I’d hazard a guess that once people try these changes to TripleA, they would prefer to both use TripleA vs. both use ABattlemap.
-
Ok, I have a new triplea.jar file based on 0.8.2.1 stable. It should work on top of 0.8.2.2 stable without problems (and without the bug fixes in 0.8.2.2), but I haven’t tried that.
If you are interested in beta-testing my TripleA changes, this is your chance. I have just joined the triplea project as a developer at sourceforge, so my changes will soon also be available in the unstable stream, although I won’t promise a timeline.The jar file is 1.5 MB, so I’m not sure it’s cool to post it here.
If you want to try it, email the address below and ask. I’ll send instructions on how to install it (and back-up your original).
Here’s my address in quotes (replace at with @, space with ‘o’)
“t ny-triplea_at_clayt n.ca”Here’s an overview of all my changes that are included:
General changes (non-PBEM specific):
- don’t show unit chooser when moving units unless absolutely required
- show default selections when loading/unloading transports, based on common-sense
- new Save Screenshot feature in Game menu
- new right-click context menu for Show History tree, with save screenshot and game summary options
PBEM changes:
- new options on PBEM Startup panel for configuring turn summary posting
- new EndTurn panel in PBEM games for viewing/posting turn summary
Please feel free to log any comments or suggestions here.
-
Wow, that sucked. I just worked a 16 hour day.
Anyway, froodster inquired on another thread about how he could make his dice server TripleA-friendly.
I’m going to answer in this thread. Basically, a simple dice server with email capability is all that TripleA wants and needs.
Here’s a sample request to the old tripleawarclub server that worked great:
/MARTI.php?numdice=5&numsides=6&modroll=No&numroll=1&subject=blah&roller=player1@domain&gm=player2@domain&send=trueThe html output that TripleA parses looks like this:
Dice serveryour dice are: 6 3 1 5 6
Nice and simple.
Any variation will do as long as it is generic like this.
A low-luck option is cool too, as long as it is just a flag. TripleA doesn’t support Low Luck PBEM yet, but perhaps someday soon. -
Is the request customizable for different servers in TripleA? I would want my dice server to indicate in the e-mail which dice hit and missed, and to do that you’d need to know the kinds of units attacking.
-
Frood,
The TripleA interface to the dice roller doesn’t allow the this info to be sent. Allowing this might not be a bad idea. I wonder about coming up with a simple parsable format for specifying roll groups and ranges. So 7 inf, 3 arm, 1 ftr, 1bmr attacking could be specified in the query string as: &rollgroups=inf:7@1;arm:3@1-3;ftr:1@1-3;bmr:1@1-4;total
The outcome could be displayed as:your dice are: 1 4 6 2 5 3 1 3 2 6 4 3
inf: 1 4 6 2 5 3 1 [2/7]
arm: 3 2 6 [2/3]
ftr: 4 [0/1]
bmr: 3 [1/1]
total: [5/12]I just thought this up now. If you already have a generic format that doesn’t require the dice server to know anything about TripleA, then let me know.
As an alternative, I currently have a verbose version of the Turn Summary that is accessible in the history panel via left-click context menu. I’ve posted sample output below.
I used to have the actual dice rolls in the output as well, but it was really verbose and rjclayton didn’t think it was necessary. I could re-add that option, but they still aren’t grouped. The total hits would be displayed, at least.
It wouldn’t be too difficult to add aninclude dice rolls in summaryGUI option for the end-of-turn post. At least that way you’d get dice rolls posted to the forum if you wanted them. It seems that dicey emails might be the best place for the verbose info though.Here’s what the current verbose version of the battle summary looks like (the " <player>roll dice …" lines are added):
Round :8
Combat
Battle in East Europe
Americans attack with 5 fighters and 2 infantry
Germans defend with 1 infantry
Americans roll dice for 5 fighters and 2 infantry in East Europe, round 1 : 5/7 hits
Germans roll dice for 1 infantry in East Europe, round 1 : 0/1 hits
1 infantry owned by the Germans lost in East Europe
Americans win, taking East Europe from Germans with 5 fighters and 2 infantry remaining. Battle score for attacker is 3
Casualties for Germans: 1 infantry</player> -
I’d keep it a little simpler, just instead of numdice and numsides (numsides seems redundant), send a string like: “13-4-2-1-0”
The dicey would parse this into : 13 dice at 1, 4 dice at 2, 2 dice at 3, 1 dice at 4, 0 dice at 5"
It would then return to tripleA the same format as now, just with the actual dice rolled and TripleA figuring out what hit what, but for the e-mail sent out it could indicate separately the dice rolled for each number and highlight the ones that hit.But your way would work too, just sounds like it would take a lot more adjustment at the TripleA side, and a little more work for me.
BTW, I am now PBEMing with Mapview. It’s not bad, but everything is manual - it takes me a lot longer to post a turn than I would like, just because I have to do everything, make sure everythings legal, and recorded on the map and in the forum post, and I have to visualize a lot of the move in my head because I can’t just make moves and undo them or the units would get all mixed up.
It’s taking me 2 hours to post a move. That’s a lot of time every day. I hope with TripleA that could be cut by 75%. Maybe I’ll get faster with practice though.
-
Backwards Compatibility.
The new TripleA Beta is not backwards compatible with old TripleA savegame files. It might be good if we allow backwards compatibility, (but obviously not forwards compatibility). Basically I’m thinking something along the lines of a user prompt if they are trying to open an old save game file that tells them the file is based on an earlier version, and if they make changes and save the file it will no longer open in the old version. Then figure out a way of loading the old save game files, even though the file structure has changed.
Thoughts?