Complete.Org: Mailing Lists: Archives: freeciv-dev: April 2005:
[Freeciv-Dev] (PR#12838) RFC: new behavior of start command
Home

[Freeciv-Dev] (PR#12838) RFC: new behavior of start command

[Top] [All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
Subject: [Freeciv-Dev] (PR#12838) RFC: new behavior of start command
From: "Jason Short" <jdorje@xxxxxxxxxxxxxxxxxxxxx>
Date: Mon, 18 Apr 2005 17:22:05 -0700
Reply-to: bugs@xxxxxxxxxxx

<URL: http://bugs.freeciv.org/Ticket/Display.html?id=12838 >

See also PR#12642.

Currently in a multi-player game where everyone has commandlevel INFO:

* A player presses start (or types "/start").
* Every other player cannot press start, but must instead do "/vote yes".

This is incredibly counter-intuitive.  A pubserver game with all newbie
players would probably _never_ start.  This is a major problem that
warrants fixing for 2.0.

Fortunately we can fix it!

My proposal:

A.  When a player presses start, pplayer->is_started is set.
B.  When enough (probably 100%, maybe X%) players have pressed start,
the game starts.
C.  Certain actions will revert the is_started for all players (for
instance a player connecting or disconnection, or a setting being
changed).  (Without this, a player may be satisfied with settings and
press /start

Now, for 2.0 our options are limited because we can't change the client.
 We can add an optional capability but can't rely on its presence.

So for 2.0 I see two choices:

1.  The simple way.  Implement A and B.  Forget about C.  Server
messages can be used to tell players what's going on.  This will be
pretty easy, and a fair improvement.

2.  More complicated way.  Do the full implementation (see below), but
with capabilities.  Add server messages to tell players what's going on,
for old clients that have no support.

I'm leaning toward #1 here.

For the development version we should do it "right" through the "full
implementation".

1.  Implement A, B, and C.
2.  The server tells the client pplayer->is_started for all players.
3.  The client activates or deactivates the start button based on
game.player_ptr->is_started.
4.  The client shows in its mini-players-dialog the is_started values
for other players.

However even for the full implementation we should probably start with
something simple.

-jason





[Prev in Thread] Current Thread [Next in Thread]
  • [Freeciv-Dev] (PR#12838) RFC: new behavior of start command, Jason Short <=