[Kde-games-devel] Konquest - patch for distance function

Pinaraf pinaraf at gmail.com
Sun May 20 01:52:45 CEST 2007


Hi

I'm maintaining Konquest (ok, problem is : I don't really know what to
do...)
I started maintaining it for KDE4 only, I never looked at the KDE 3.5 code
and honestly I don't want to, I think it'd be a great waste of time to
backport the changes : scalable graphics (even without svg), better user
interface, better AI...
The AI patch has been integrated in KDE4, and it was a shame it wasn't
applied before in KDE3.5.
The distance computation code in KDE4 is the following :
    Coordinate  diff = p1->sector()->coord() - p2->sector()->coord();
    return sqrt( double( ( diff.x() * diff.x() )
                         + ( diff.y() * diff.y() ) ) ) / 2;
And it's mathematically correct. The distance between two points is half the
square root of the sum of square differences... (hard to explain)
If you have two points, (0, 0) and (1, 1). The distance between them is
sqrt(2)/2
With your computation code, it's 1 ==> there is no difference between going
to (1,0), (0,1) and (1,1)

Also please before modifying Konquest : look at the KDE4 version.
I don't think it's worth the effort of maintaining the KDE 3 version
considering that KDE3 end is near, most distributions are now packaging KDE
4 parts (for instance Suse 10.3 will include Kdegames 4...), and KDE 4 games
are just great.

Of course, I'm open to any suggestion on Konquest, and the same apply for
other kde games. But for konquest, please... don't care about the KDE 3
version, I don't want to play with that code :p


On 5/20/07, Jack Grahl <mnvl16 at yahoo.co.uk> wrote:
>
> Hi there,
> I've written a modification to the 'distance' function in Konquest, which
> calculates the distance between planets. The new function is essentially the
> same, but changes the order of operations to better conserve accuracy. The
> accuracy isn't critical since the number of turns ships take to travel
> between planets is obviously an integer. However the new function is more
> understandable (when using the ruler) and easier to estimate by eye (since
> it is closer to usual distance in the plane). Of course this changes the
> strategy, but not critically since the relative distances of the planets are
> more important than their layout in the plane.
> I was also wondering whether this game is being actively maintained at the
> moment. Someone submitted a nice patch several years ago which improved the
> AI for the game and would have simplified improving it further, by
> abstracting it from the core game engine. This patch doesn't seem to ever
> have been applied. There are also several more modifications to this game
> I'd like to do gradually - mainly to do with useability. Perhaps someone
> could let me know what the situation is?
> Best wishes,
> Jack Grahl
>
>
> --- kdegames-3.5.5/kdegames-3.5.5/konquest/gamecore.cc  2007-05-19 21:26:
> 38.000000000 +0100
> +++ kdegames-3.5.5-dist/kdegames-3.5.5/konquest/gamecore.cc     2005-09-10
> 09:18:23.000000000 +0100
> @@ -49,10 +49,10 @@
> double
> CoreLogic::distance( Planet *p1, Planet *p2 )
> {
> -    int k = (p1->getSector().getRow() - p2->getSector().getRow());
> -    int l = (p1->getSector().getColumn() - p2->getSector().getColumn());
> +    int k = (p1->getSector().getRow() - p2->getSector().getRow()) / 2;
> +    int l = (p1->getSector().getColumn() - p2->getSector().getColumn()) /
> 2;
>
> -    return (sqrt(double((k*k) + (l*l))) / 2);
> +    return sqrt(double((k*k) + (l*l)));
> }
>
> double
>
>
>
>
>
>       ___________________________________________________________
> Yahoo! Answers - Got a question? Someone out there knows the answer. Try
> it
> now.
> http://uk.answers.yahoo.com/
> _______________________________________________
> kde-games-devel mailing list
> kde-games-devel at kde.org
> https://mail.kde.org/mailman/listinfo/kde-games-devel
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.kde.org/pipermail/kde-games-devel/attachments/20070520/a52950e8/attachment.html 


More information about the kde-games-devel mailing list