Complete.Org: Mailing Lists: Archives: freeciv: March 2000:
[Freeciv] Re: Freeciv goals
Home

[Freeciv] Re: Freeciv goals

[Top] [All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
To: freeciv@xxxxxxxxxxx
Subject: [Freeciv] Re: Freeciv goals
From: Tomasz Wegrzanowski <maniek@xxxxxxxx>
Date: Wed, 1 Mar 2000 16:26:12 +0100

On Tue, Feb 29, 2000 at 11:50:18PM -0600, Asher Densmore-Lynn wrote:
> On Tue, Feb 29, 2000 at 11:47:32PM +0100, Tomasz Wegrzanowski wrote:
> 
> > New goal proposal : MoM-compat mode.
> 
> <choke> <snicker>
> 
> I've been thinking and puzzling and wondering about just that for quite a
> long time now.
> 
> I was wanting to use the FreeCiv GUI and write a new -server- to let me
> write Master of Magic.

IMHO MoM is much more similar to freeciv than colonization,
more than 50% of server code will be reused. And half
of MoM changes won't break freeciv compatibility.

> Remember how unstable Master of Magic was? Wanna know why? You can figure it
> out if you just sit down with pencil and paper and figure out to implement
> -Unit Enchantments-.

Remember how unstable Windows 95 was? Wanna know why?
Source was not free.
The same about MoM.

> Aside from a Big Honking Switch Statement, which doesn't really appeal to
> me, you get tangled up in the most dreadful OOP contortions.
> 
> I'm still working on it, myself -- I think it's gonna have to be done in
> Java. I haven't figured out how to do it, yet, but I'm still thinking about
> it.

Don't ever say word `Java'.
Java causes brain damage and soul cancer.
The best OO language is C.
Fastest, most flexible, widest known, with best compilers.

> As a bonus, if you think you've managed to do it, remember that you're
> either looking at a clean, modular interface, or a horrendously unstable
> hack that's gonna break every three new spells you code in. That's why I
> haven't done it yet -- I'm gonna do it once, and I'm gonna do it the right
> way, even if it kills me.
> 
> [Don't believe me? Write the defense modification code for everyone's favorite
> black Paladin enhancement spell, and without using the construct "||
> SP_BERSERK".]

SP_* is wrong aproach.
I'd rather think about effect-pools, hijackable functions handlers,
bytecode etc.

> It's been done once before -- medium-well. They obviously still had
> problems. It can be done, but how...?

Stage 1 : dishardwirening Freeciv code.
Before that, no clean code is possible.



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