Diplomacy
BlabBotBase

Press Protocol

John Newbury       24 December 2011

Home > Diplomacy > BlabBotBase > Press Protocol

AI in the Game of Diplomacy: BlabBotBase: Press Protocol


Introduction

Press Protocol (PP) is a high-level protocol that defines how press should be used, given the syntax and semantics of individual messages. The current PP of BlabBotBase (BBB) is defined here. It is essential that all players in any game understand and try to follow the same PP, albeit some minor variations may be reasonably compatible; humans, especially will generally not be perfect, especially without suitable aids in human player interface clients (currently Mapper, maybe others in future, such as my proposed Viewer). For best compatibility with bots based on BBB (BlabBot and DeepLoamSea), follow the rules below. However, for the benefit of BBB bots, these rules will be modified in due course, to match any official rules that may be defined, where I think them at least as good as those that I have defined. Maybe the official protocol rules will be similar to, mainly derived from, these.

I have tried to address all the issues that I am aware of (some long-standing), while keeping it as consistent as possible with the the official DAIDE Message Syntax document, and any consensus that I can recall in DipAi. I believe it is here reasonably full defined and logically sound; does not rely on any kind of play that is rare at present remaining so; at least as practical, for bots and humans, as anything proposed in DipAi (the rules being hardly addressed in any official document), much more so in some ways; reasonably, probably totally, compatible with any existing bots. It needs no Server or Mapper changes. It avoids the awkward, arbitrary timeouts that I had previously proposed and implemented, which were never 100% secure anyway. I believe that the rules here are, strictly, specific ways of operating within the current official definitions and natural interpretations – not changes. Some people might feel that the BBB rules are not as originally intended, or that they overstretched some of the official wording. In that case I would argue that the original wording should have been clearer. Indeed, unless whatever was originally intended has overall advantages, then BBB PP, or something even better, should be adopted, if plausibly within the official definitions.

A few PP rules are not essential – strictly extended Etiquette, to optimize efficiency – but are included here for completeness. Some parts may appear obvious or pedantic, but may dispel likely but wrong assumptions, and may be helpful when programming PP. It is worded for the most general case to emphasise generality and help avoid common assumptions that only special, albeit common, cases should be considered. A good example is specifying agreement, rather than treaty, to emphasise other possibilities, such as an accord or project (see Terminology).

When analysing any level of DAIDE protocol, it is vital to bear in mind how messages may cross in transit, but also how ordering of messages to and from all players are be maintained. Yet to be officially documented, but it has been agreed within DipAi: ordering shall always be as now, as if messages form any client were completed one at a time by Server. Also consider the degree of resilience in the event of  imperfect compliance, and practicability, especially when humans are playing.

We want players to be able to communicate effectively, otherwise, in the limit, there is no press. Furthermore, we do not want there to be any incentive to create private protocols, or to try to discover the protocols of others. Otherwise there will be undesirable diversions from the goals of TinKing and DAIDE. The BBB Press Protocol defines my current selection of such Rules. From time to time, I may modify those rules, as I think fit, always to be what I believe are currently the optimal ones to use or work towards. They will be what I believe are absolutely best, unless and until I believe that my DeepLoamSea bot would be overwhelmed by enough good bots that tend to use different rules, so degrading its performance in typical competitions, especially within DEMO. Inasmuch as my rules are good, and well documented and publicized, hopefully they will be what the majority will converge to, or nearly so. Official adoption would be ideal.

This is no non-conformist ego-trip. I now believe that such an approach (not necessarily exact my current protocol) is best. If all authors explicitly or implicitly follow a similar philosophy, with respect to their own protocols (as most probably naturally would), then all bots (not necessarily armchair critics) should converge towards a common, and reasonably optimum, protocol, to which the official protocol will surely approach too. (I think natural language and other customs tend to evolve in a similar manner.)

In due course, maybe this, and official DAIDE documents, would be better if they followed RFC conventions, and even became RFCs. Boringly, but for sound reasons, the definitive format of such is plain ASCII, though alternative formats are permitted.


Tracking, including use of cookies, is used by this website: see Logging.
Comments about this page are welcome: please post to DipAi or email to me.