[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

Re: Network game

There is a German proverb:
"Offer them the small finger and they will take the hand"...

On 17.12.2006 03:50, Laurent Chea wrote:
> > * in-game chat
> I say yes.
> > * I'd like to be able to study the map while I'm waiting for him to take his
> > turn
> I say oh yes, more.

Problem is, we're still not using threads

> > * Turn timeout, configurable.  Like freeciv, where 0 = infinite, and then
> > number of seconds for any non-0 value.
> I say, err, maybe :)

The major problem with this and the chat (which I'd like to see as well)
is that CF uses an event-based main loop instead of a polling one. This
means that whenever the game is supposed to do something it must be
triggered by user action. On the other hand, if we used threads we could
just fake such an action...
And no, refactoring the main loop is not a viable option.

> > Then, right after that (heh), I'd like a server that takes as commandline
> > arguments the scenario to play, number of players and which side they're
> > taking, with ai filling in the gaps, and the port to start on.
> Yes again
> > Then I'd like to hammer out a protocol where the game client can contact a
> > different server program (which I'm willing to write), browse available
> > scenarios, mark which one he wants to play, and either choose an opponent or
> > have one picked from people that are there.  Along with chat.  :)
> Yes too :)
> There are mine :
> * when re-creating a new game as network client, to remember the last entries
>   (not to have to retype it)

This is done, I just need to commit it.

> * when losing connection, to have the ability to re-join the game at the
>   state just-before-crash ?

The solution I am going for (I think) is to ask the user whether he wants
to save the game when "Connection lost" dialog pops up. Also, since you
can now choose the side you want to play we no longer eally need the
restriction that only the server can save a network game.

It would be muh better to not have any crashes in the first place, though.
So, Laurent told me he experienced crashes when playing via network. If
anybody else can reproduce, a stack trace (with debugging symbols) or at
least a detailed description what you were doing (or ideally, of how to
reproduce) would be very nice.

> * Full EAX2 with 7.1 support, pop-corn support.

Maybe I'll start thinking about EAX when Dave has finally completed the
"Crimson Fields Symphony". At the moment, I can just claim it's already
in, and you an't prove otherwise because you won't hear a difference
anyway ;-)