Mixing Humans and AIs in Real Time Diplomacy (Was: [dipai] Re: Controlling End of Turn)

Chris Babcock <[email protected]> Sat, 24 Oct 2009 13:34:30 -0700
Newsgroups gmane.games.diplomacy.judge.dp.discussion,gmane.games.diplomacy.rtdip
Organization ASCII King Games
Message-ID <[email protected]>
The following is a response to discussion on the dipai group about the
DAIDE method of setting orders as preliminary. I am sending it to
the following distribution lists for the reasons cited:

	dipai - Because the Diplomacy Artificial Intelligence community
	is the launch point for this discussion.

	rtdip - Because these are the players who will be the first to
	be affected by these developments.

	dpjudge - Because I am very likely to include the chat service
	described as the social media context for USPN, my DP Judge
	installation,4200 and allow the DPPD as a method for logging
	into the chat. There is a high probability of DPJudge 2.0 being
	federated with this infrastructure.

	DipWorld - Because this chat service is the cornerstone of my
	plan to revitalize the DipWorld community with a supplemental
	social context, a replacement for Yahoo-based game rooms and an
	automated natural language interface. (The chat server includes
	an email interface and the game room metaphor of the service on
	asciiking.com is inspired by DW game rooms.)

	DWStaff (closed list) - Because this is a description of plans
	that I intimated in my most recent article in the Diplomacy
	World 'zine and I want feedback from the rest of the staff as
	to how to develop this for future articles.

Please keep in mind that the two paragraphs below are taken out of
context. They do not reflect the opinion of the original poster or the
DAIDE community towards the RT Diplomacy community, but rather the
importance of preserving the DAIDE software platform's usefulness for
its original purpose.

> This is DAIDE and we should base the project around the
> development of AIs.  Which means fast games, at bot speeds.  If we
> slow down bots for the instances when humans 'may' be present, I
> think we are doing the project a disservice.
> 
> I would much rather have the aimapper, auto-set NOT(GOF) in the event
> that a message has been received after orders are submitted and GOF
> set by the human.  This would put the humans response time on par
> with the bots, and would mean that bots would not need to envoke
> delays for human players that may or may not be present.  Slowing
> down bot-bot tournaments as a result.

I agree with the conclusion although the formulation of the premise may
be awkward.

The RT and AI communities experience both synergy and conflict. This is
not unusual, unexpected or in any way a bad thing. I am, however,
interested in a roadmap to handle the conflict while preserving the
synergy.

I think an emphasis on core DAIDE tools that is oriented towards AI
development is a reasonable goal that is in unfortunate conflict with
the long term viability of the RT player community. If this is not
resolved then the RT community associated with DAIDE will continue to
languish and RT playing communities will be established independently
of its efforts, erasing the benefit of those accomodations that have
already been made for RT play by programmers in the AI community.

I believe that the solution to this problem is for the RT player
community to migrate to a client-server protocol that is not maintained
by the AI community. The client application should offer the salient
benefits of the AImapper in terms of playing experience (i.e. an
interactive map that is integrated with the client) alongside social
networking tools that are feature competitive with general purpose chat
clients. The server should operate in federation with one that
implements the DAIDE protocol and it should implement one or more Open
general purpose protocols for chat, with access to subscribers of major
commercial chat applications a desirable feature. It is also important
that the server operate persistently on reasonably priced hosting plans
and the client software not be constrained to a desktop environment.

I have identified a protocol, PSYC, and a tool chain (below) that are
capable of serving this role. I am working with the developers involved
to deliver these capabilities for the Diplomacy hobby in general and
the RT community in particular. These are the components:

Eric Wald's Parlance is a DAIDE server written in Python, which lends
itself to portability and extensibility. Eric has been very responsive.
The DAIDE interface in Parlance was written to an extension proposal
orignally drafted by David Norman to implement multiple concurrent
games on a DAIDE server. Care is taken to make the server compliant with
the behavior expectations set by David's DAIDE implementation while
implementing hooks so that the server can interoperate with other
software. Eric has implemented DPP/0.17 on Parlance, an update to the
text protocol on which the DAIDE language is based, in order to allow
Parlance to work with other chat servers, many of which do not
implement non-text protocols gracefully. Eric will also be implementing
a bridge so that players logged into the Parlance server on the DAIDE
standard port (16713) on asciiking.com can chat and receive presence
updates using the AImapper.

Psyced - http://www.psyced.org/ - supports PSYC, Jabberâ„¢/XMPP, IRC,
TELNET, HTTP, Applet, SMTP, XML, and RSS natively. I will be providing
a DPP bridge so that the psyced server can operate in federation with
Eric's Parlance server. Federation means applications work together
without forcing others to change the way the work in order to do so.
That means if you have a GoogleTalk identity or a chat client that you
like to use then you can use it with other services that are federated.
The psyced deployment on asciiking.com is already set up to receive
connections from PSYC, Jabberâ„¢/XMPP, IRC and TELNET clients. You can
find instructions at http://usak.asciiking.com/chat/ or connect with
an Applet at http://psyc.asciiking.com/static/ using your web browser.

Dyskinesia is a chat client for the PSYC protocol written in C++ with
Qt webkit as its GUI toolkit. Qt is the native user interface kit for
Nokia smart phones and it compiles on Windows, MacOS, Linux and
AndroidOS (iDon't, DroidDoes) as well as Nokia's SymbianOS. One of the
features of webkit is that it builds user interface elements using the
same markup, control and formatting languages used in web development,
meaning that the same code used for the web interface with other chat
clients can be loaded inside the chat window for those who use the
native PSYC client. I am working with the lead developer Ketmar -
http://ketmar.no-ip.org/ - to complete this capability. I will be
maintaining the stable Linux release and hosting Windows and MacOS
downloads when the application is feature complete.

All three of these software components are free and open source. My
contributions will be available under the same terms as the original
programs. That means unrestricted noncommercial use while commercial
implementations of the Diplomacy server must contend with Hasbro/WotC
intellectual property claims and competition from free servers including
asciiking.com, which will continue to operate on a nonprofit, user
supported basis.

The end result is that players will have many choices to connect with
real time Diplomacy games. The federated structure will allow both the
AImapper and a number of general purpose clients to access both chat and
Diplomacy games. Players with only a browser will be able to play and
chat using a Java Applet and interactive web page. The AImapper will
have the admin message functionality extended by the server and receive
results normally. IRC users will be able to log in using their client of
choice as will those using XMPP and, eventually, other chat protocols.
Those players will receive updates via chat and view results in the
interactive web page. Each client will use native methods of access for
interacting with chat and games, including their own methods for
identifying players.

Chris




------------------------------------