Complete.Org: Mailing Lists: Archives: freeciv-dev: December 2001:
[Freeciv-Dev] Re: C vs C++ vs Java
Home

[Freeciv-Dev] Re: C vs C++ vs Java

[Top] [All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
To: Andrew Sutton <ansutton@xxxxxxx>
Cc: "Ross W. Wetmore" <rwetmore@xxxxxxxxxxxx>, gregor@xxxxxxxxxxxxx, freeciv development list <freeciv-dev@xxxxxxxxxxx>
Subject: [Freeciv-Dev] Re: C vs C++ vs Java
From: Raimar Falke <hawk@xxxxxxxxxxxxxxxxxxxxxxx>
Date: Mon, 3 Dec 2001 18:55:17 +0100
Reply-to: rf13@xxxxxxxxxxxxxxxxxxxxxx

On Mon, Dec 03, 2001 at 12:34:27PM -0500, Andrew Sutton wrote:
> On Monday 03 December 2001 12:25 pm, Raimar Falke wrote:
> > IMHO you haven't. Please state exactly what you want to change.
> 
> i meant broad requirements for the system as a whole...
> 
> > Consider for example these questions for the network protocol part:
> >
> >  - do you want to change the network protocol?
> >  - if yes: why?
> >  - will the new protocol still be asynchronous
> >  - do you plan something like capabilities? Why, how?
> >  - how do you handle security? (e.g. authentication)
> >  - will the protocal be a general one (CORBA or RMI) or a handmade
> >  like the current one? Why?
> >  - what languages will be able to understand the protocol easily?
> >  - do you plan to reduce the bandwidth used? for example by only
> >  sending parts of the packets which have changed?
> >  - should there channels allowed which connect two clients directly?
> >  For example to allow civbots to work together? What protocol is used
> >  for this?
> >  - will the protocol use compression? Have the benefits been tested?
> >  - will tcp or udp be used? why?
> 
> remember, this isn't a modification its a rewrite. some of those are 
> appropriate to answer others aren't. it's called requirement gathering, and 
> if we're going to be doing it, then we're going to do it right. and that 
> means that EVERY aspect of the game will be captured in something written 
> down. unfortunately, this is going to be an absolutely enormous document. 
> huge! probably a hundred pages or so. and it's not going to be very 
> interesting.
> 
> if the current implementation of the network protocol matches the existing 
> one, then there won't be a need to change it.
> 
> > If you answer all these questions and other bunches of such questions
> > about other parts of the system (AI, server, multiplayer, sharing of
> > code between server and client, rulesets, modpacks, sound, what
> > language, what tools, ..., ...) _than_ you can call this a design. You
> > are very fixed about ruleset flexibility and OO but a redesign
> > (freeciv version 2 should be one) needs much more.
> 
> yup. this is where i'm going with it :) i'd like to have all subsystems fully 
> documented, including rationalization of requirements, design and 
> implementation. that way, when we find something we've done wrong, we won't 
> have to go digging thru the list archives to find it.
> 
> > Please take some time alone and think about what problems the current
> > system has and about solution you suggest/prefer. Post the
> > results. This will be your standpoint and can be discussed. If you
> > start the discussion now you will never think about the whole system
> > (as the discussion shows).
> 
> oh... i am ;) it's just taking a while because there's alot to consider. 

> i'm trying to persuade people into listing general requirements and
> features that we'd like for extensibility, but so far it's boiled
> down into alot of debate without clearcut answers.

So you see that this discussion doesn't bring you forward. You can't
make everybody happy. Write down what you think.

> i guess it's going to be up to me to formalize everything. bah. hopefully, in 
> a couple weeks, i'll have a document that talks about everything...

A first and useful step for the others would be to list the problems
of the current system.

        Raimar

-- 
 email: rf13@xxxxxxxxxxxxxxxxx
  "Heuer's Law: Any feature is a bug unless it can be turned off."


[Prev in Thread] Current Thread [Next in Thread]