Shannon V. OKeets -> RE: About CWIF PBEM (12/27/2005 3:15:27 AM)
|
quote:
ORIGINAL: Alexander Seil Just a thought, while only a handful "insiders" had access to CWIF "alpha" with PBEM functionality, is it possible to simply exchange saved games (relying on good old honor and other nonsense to ensure that no one cheats [;)]) and play PBEM that way? Would be somewhat tedious, but I find playing solitaire...a little bit unnerving. It's hard to plan when you know the plan of the opposing side, which knows your plan, which...aaaa! [X(] [:D] If anyone is interested, I've got 0.7.5 on my hard drive still. I have spent a lot of time designing PBEM for MWIF. What follows is one of my earliest posts to this forum. It generated over 100 other posts and resulted in a final PBEM design document which I can provide to anyone who wants it in PDF format (Steve@PatternDiscovery.us). You can also see all the different issues that were raised in the development of the PBEM design for MWIF by tracking back through earlier threads and looking for those that have PBEM in their title (e.g., for air combat, for naval interceptions, etc.). There are also several other threads on Standing Orders which is a subtopic within PBEM for MWIF. As for playing using CWIF, I disclaim any association with such an attempt. You could do it by exchanging saved games, but each air combat might take a week or more. Steve =============== Play by Email (PBEM) for MWIF Summary This post starts a discussion on PBEM for MWIF. It contains four sections: motivation, random numbers, cheating, and minimizing the number of emails. You might wonder why I am choosing to start a thread on PBEM before one on the game interface. After all, the game interface is much more interesting and everyone will have opinions on good and bad features. The reason PBEM comes first is that it will probably require a different processing logic (i.e., code) to support a sequence of play that minimizes the number of emails. I need the design of the sequence of play locked in before designing the game interface. The interface will support the sequence of play and for that reason depends on the definition of the sequence of play. The question for this thread, and it’s future associated threads, is how to do PBEM for MWIF. I have some ideas. For purposes of this discussion I am assuming that there are only two players: A and B. If PBEM can be worked out for two players, then extending it for multiple players shouldn’t be that hard. These ideas are not as well thought out as I would like, so feel free to be critical, but be gentle in your critiques. Hopefully we can evolve all our ideas into a final design for PBEM. Motivation There are some players who believe working on a PBEM capability is a waste of time. Two reasons are usually given: (1) most players will have little interest and (2) the game would have to be changed too much to make PBEM viable. Indeed, as Greyshaft commented, to follow the WiF sequence of play exactly could make a PBEM game play in real time - that is, it would take 6 years, plus or minus a couple of weeks, to complete a game. However, there will be Players who value the PBEM version because it gives them flexibility in scheduling their playing time. This applies to individuals who live in remote areas of the globe and will have difficulty finding opponents within their time zone for simultaneous play over the Internet. This also applies to people who can only fit in an hour or so during lunch or in the evening rather than the 4 hours (suggested minimum) for an on-line session playing the Internet version. As for how long one game will take, I use to play chess by snail mail and I would typically have 2 dozen games in progress at any one time. With only one move a week, each game would take over a year, but I was playing chess every day because of the sheer number of games I had going. When I played Diplomacy by email, I had two games in progress simultaneously, which kept me busy communicating with the 6 other players in each game. It seems likely to me that some players will have more than one game of MWIF going at once and I intend for MWIF to be able to identify which emails are for which games and keep everything straight without the players having to worry about such matters. Random Numbers The first problem is how to generate random numbers for the myriad of dice rolls such that each player’s MWIF copy performs the rolls identically yet neither player can ‘test’ different actions using the computer to see how the dice are going to land. MWIF has to be able to roll the dice and yet it cannot be able to roll the dice, lest it permits a player to cheat. I have not played wargames by email (only Diplomacy once upon a time, which does not require a random number generator) and I am not familiar with the current approaches taken to this problem. Given my ignorance, forgive me for putting forth one solution that I believe is viable. But before I do that, let me digress into the issue of random numbers. If you have no interest in the randomness of random numbers, I strongly suggest you skip ahead to the next paragraph! On random numbers in general, I was trained by a PhD in statistics to be very leery of the randomness of pseudo-random number generators (RNGs). When I need software to create random numbers I use two random number generators and a matrix. Just to get started, I have both random number generators produce several thousand random numbers which I discard immediately. I then have the first (RNG1) produce 10,000 numbers which I place in a 100 by 100 matrix. When the simulation needs a random number, RNG2 produces an I index (0 to 99) and a J index into the matrix, and returns the number it finds at that location. RNG1 produces a new random number to fill the hole in the table. The use of two RNGs and the matrix look up procedure add another level of disassociation from the internal workings of the CPU’s hardware. My paranoia is that the hardware will loop after only a small number of iterations instead of (2 to the N) minus 1, like it is suppose to. Cheating I have a way for MWIF to generate dice rolls without either player being able to cheat. Player A sends a set of decisions to Player B via email. When B‘s copy of MWIF reads the email containing A’s decisions, it will automatically generate a random number (based on time of receipt) for the dice roll(s) and send an email to A containing the dice roll(s). The important thing here is that MWIF will not show neither A’s decisions nor the result of the dice roll(s) to B until after it is sure the email with the dice roll(s) was send to A. A needs B to roll the dice; the dice depend on time of B’s receipt; and B doesn’t know what has happened until after A is assured of seeing the same dice results. I think this is bullet proof against the standard cheat of saving a copy of a game before rolling the dice and restoring to the older version if the results don’t go the way you want them to. Another possibility is as follows. During a game, A and B will be exchanging a lot of emails. MWIF could always embed random numbers in the messages at time of transmission so they would be available if needed. This would all be invisible to the players; they would not have to record any numbers on paper or some such. Internal to the game in progress, or saved game, MWIF would keep track of all these numbers and use them for dice rolls whenever necessary. From the players’ point of view, they would simply be unable to get the dice to roll until the opponent sends back an email. Minimizing the number of emails The PBEM version should offer the option of changes in the sequence of play to reduce the number of emails needed to play through a turn. Using this option would mean that the game would not be a ‘pure’ replication of WiF, though we should be able to get it reasonably close. If the players agree that a strict adherence to RAW 7 requires too many emails to resolve a turn, then MWIF could offer the option of “standing orders”. This seems to be a viable alternative for committing, for example, fighters. Each fighter (either by unit or stack of units) would have standing orders to perform certain actions in response to the phasing player’s actions (i.e., the opponent’s move). One action might be to defend a hex, or area, against strategic bombing, paradrops, port attacks, etc.. While making these assignments for all your air units might seem a daunting task at first, it would occur incrementally during play with players merely modifying previous standing orders as new units arrive or conditions change. During slow turns (e.g., winter weather conditions) very little would need to be done. A player could specify up to three or four standing orders (with a priority list) for each unit/stack of units. This would take the non-phasing player out of the communication loop for decision making. However, he would still need to be involved for generating dice rolls. We don’t want the phasing player to be able run test attacks to discover what the standing orders are. To that end, the standing orders for the non-phasing player’s units would have to be encrypted with the non-phasing player providing the key once the phasing player commits to a set of attacks. MWIF might have to encrypt the standing orders multiple times using a different key for each action segment. This means that the phasing player would learn about fighters committed to port attacks only when he attacks ports. Even after attacking ports he would not know what fighters were committed to defending ports except for those he attacked. When he goes on to the next action segment and commits more of his planes, he would receive the second key from the non-phasing player for, say, defending against strategic bombing. The way I see this working is the non-phasing player issues standing orders and sends them (encrypted) to the phasing player. The phasing player proceeds through the action segments and he commits to a set of attacks. He sends them to the non-phasing player who returns one of the keys for the standing orders, as well as the dice roll(s). Both players can then resolve combats. The phasing player then proceeds to the next action segment. The non-phasing player does not have any decisions to make; he is simply providing dice roll(s) and the keys to his standing orders as the phasing player proceeds through all the action segments. I hope I can find a way to have email automatically answered without human involvement. If I can, then it will be the non-phasing player’s mailbox that acknowledges receipt of attack orders. The non-phasing player would not have to be involved at all. The phasing player could proceed merrily away conducting all his attacks and discovering the non-phasing player’s standing orders along the way. Meanwhile, the non-phasing player’s mailbox would be accumulating all the phasing player’s attack orders. When the non-phasing player next fires up his copy of MWIF, the program will automatically go to his mailbox and retrieve all the orders that have accumulated there and update his copy of the game. Stepping back a bit and looking at the game sequence overall, I see a few quick emails between players to bring in reinforcements, decide initiative and weather, and place convoys. The meat of the turn will be the action segment where the players alternate being the phasing player: declaring war, choosing action types, conducting naval operations, land operations, and reorganizations. If we can minimize the number of emails needed for naval and land impulses, we will have done a good job. I don’t believe we can hope to merge the naval and land actions into a single email because invasions depend on the outcome of naval combats and so does supply for land units. If we try to compress these further, we would be making substantial changes to the game and run the risk of making a big mess of things. WiF evolved over many years and I was very impressed with the care taken to make the evolutions incremental improvements without damaging the early structure of the design. I guess I come down on the side of minimal changes to the rules. Where we propose changes, it would be best if we gave the players the option of using the changes or staying closer to the rules in WiF. Conclusion I would like your opinions on all of this. If I have not made my ideas clear, let me know that too. If we can get a master design for PBEM (e.g., standing orders) then we can go on to define what the individual elements should be. For example, what would be the standing orders for the non-phasing player’s air, land, and naval units. I don’t want to venture into those details though until we reach agreement on the master design. I thank you for your attention and involvement. Steve
|
|
|
|