In its current state, battles are quite random: if you fight twice on the same battlefield, with the same forces and the same orders, you get two different battles. That’s fine and how it should be. However, what is rather sad, is there’s no way to have the very same battle (same moves, same length, same actions…) twice (well, it’s possible…just as it’s possible to shuffle a deck of cards and have the cards sort themselves back in order). So I would love to have battles to unfold in a deterministic way, so that it is possible to, basically, replay a battle.
So, technically, every time the player would run a battle, a seed would be generated and fed into just every rand() call along with whatever cliff is using atm (time I guess, though it would have to be changed too…say, time into the battle rather than plain time). Every battle would be tied to a different seed obviously, pseudo-randomly generated, but the player would be allowed to input a custom seed so he could reproduce whichever battle he wanted, as long as everything remains the same (ships, ships modules, orders, placement…everything, which you can save in a deployment file).
So, what are the implications? Simple, that would allow you to actually watch a battle that happened on someone else’s computer. You got it, challenges. You wouldn’t just get the battle result, but could watch the battle (as long of course as you input the same seed as your opponent did and can use his deployment).
I’m not sure how heavy it would be for Cliff to alter GSB for these changes, I would think not that hard, but without seeing cliff’s code obviously, who knows? At least the idea is there if there ever is a GSB2.