Trade treaties are in the game

The player can now initiate trade treaties with the AI, and the AIs will also do so with each other behind the scenes.

Here is an example of the trade menu:


Here is an example of the acceptance message:


I still need to add support for breaking tributes, demanding tribute, and exchanging technologies.

Code: Treaty Options are done

The ability to sign various treaties is now functional in Java MOO. You have 5 treaty options:

  • Offer Peace Treaty
  • Offer Non-Aggression Pact
  • Offer Alliance
  • Ask to Declare War on Another Race
  • Ask to Break Alliance with Another Race

In  addition to the player being able to ask the AI for these options, the AIs will also set up treaties amongst themselves. There will be some more AI work to finesse this logic, but what is in the game is functional. Here are some screen shots to give you a basic idea of how the menus look. The spoken text font for the races still needs some editing, though.

The Main diplomatic menu:


The “Propose Treaty” submenu is below. Note that invalid options are disabled. For example, you cannot ask to break an alliance if the race is not in an alliance.


Below is a standard refusal response. Please note that, when applicable, the AI will often give you a reason for the refusal (perhaps you stole a technology, or your ships are too close to its borders).


Next up: Setting up trade treaties and breaking existing treaties.



Remaining Timeline to release

Since the private alpha release is looming on the horizon, the end of the year seems like a good time to assess all of the remaining work for Java MOO. This is a good way for me to prioritize the remaining work while giving everyone interested in the game a better idea of when they’ll get to play it.

There are three continuously active members on the team: a part-time developer (me), a full-time illustrator, and a part-time writer. There is a tremendous amount of artwork required to create a video game like MOO, so that portion of the project is what defines the various release dates.

This is good for me, because it guarantees that I will have enough time to work out quality, performance and AI issues before the final release.

With all of that said, here is the timeline of work remaining to complete the first release:


Diplomacy December

It’s December 1st, the day I stop working on bugs & minor enhancements and begin on the last significant functional component needed for the alpha — diplomacy. By the end of the month, Java MOO players (read: me) will be able to declare war, sue for peace, setup trade routes, demand or offer tribute, agree to non-aggression pacts, join alliances, and trade technologies.

The internal mathematics for various AI actions will be different than in the original MOO1. These are not differences in features, but in the implementation of features. The diplomatic model will not be as simple as in the original game, hopefully making it more difficult for players to abuse the AI.

I’m going for a two-dimensional model with “Contempt” on one axis and “Relations” on the other. The lines for various actions will vary by leader type. Below is a stunningly beautiful Macrosoft Paint representation of the War model.

For entering alliances, the outlying leader types will be “Ruthless” (less likely) and “Honorable” (more likely). For trade treaties, those types will be “Xenophobic” (less likely) and “Diplomatic” (more likely).