Complete.Org: Mailing Lists: Archives: freeciv-dev: August 2001:
[Freeciv-Dev] more topology (was: Re: [PATCH] bugfix for wrapping proble
Home

[Freeciv-Dev] more topology (was: Re: [PATCH] bugfix for wrapping proble

[Top] [All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
To: Reinier Post <rp@xxxxxxxxxx>
Cc: Freeciv developers <freeciv-dev@xxxxxxxxxxx>
Subject: [Freeciv-Dev] more topology (was: Re: [PATCH] bugfix for wrapping problem)
From: Mike Kaufman <mkaufman@xxxxxxxxxxxxxx>
Date: Sun, 26 Aug 2001 15:24:51 -0500 (CDT)


On Sat, 25 Aug 2001, Reinier Post wrote:

> On Fri, Aug 24, 2001 at 09:10:41PM -0400, Jason Dorje Short wrote:
> > Reinier Post wrote:
> > > 
> > What I'm talking about is only topologies that map cleanly to a plane. 
> 
> What is 'clean'?  From the usability point of view, I think all topologies
> are allowed that are locally flat: the complete local neighbourhood of
> some reasonable diameter (at least 10) around every tile must map onto
> a regular tile grid in the map view.  Another way of putting this is to
> say that the tile adjacency relation in the resulting map view represents
> the tile adjacency relation in the underlying maps.  Yet another way of
> putting this is to say that the movement operations (the arrow keys) form
> a Boolean algebra, but I'd have to look that up to be sure.  I think
> this is what you mean by 'well-oriented'.  (Google doesn't return much
> on 'well-oriented' and 'topology'.)
> 
> E.g. this disqualifies playing on the faces of a cube filled with a grid:
> the neighbourhoods of the corner points cannot be mapped.  It does not
> disqualify playing on a large enough cube of which the four vertical edges
> are cut: such a cube can be mapped to the plane, at the cost of leaving
> empty space.  It also allows unusual tilings of the plane,

YES! This is the kind of topology that I think is the most accessible (and
most fun and has the most possibilities) after the flat world and what
Ross calls 'donut world' get going (this is also a far easier way to
describe the 'two squares with flaps glued together' that I was ranting
about a couple weeks ago).

All (heh) it will take is to define a new tile TILE_BLANK or 
TILE_BLACKHOLE (pick a good name) that shows up black and doesn't have the
fuzzy edges like a TILE_UNKNOWN has. It would be just like butting up
against the poles on a x-wrapped world. iterators would skip over
it. Units couldn't move into it. (Goto might be tricky when it comes to
finding the shortest path, but I haven't thought about it.) Yes, you'd
have to use the map editor to create the maps (although we could have
mapgen generate random blocks of TILE_BLANKs everywhere) As I mentioned in 
a previous post, there are all sorts of novel ideas (eg. impassable
mountains, you have to use the mountain 'passes', which now are
strategic).

blah, blah, blah, what do other people think about this? I'm not in a
position to code this right now (only pseudo net access for a month or so
and class load etc), but if there is a discussion about this, perhaps the
details and potential project size could be hashed out.

1. Is this worth doing?
2. Potential pitfalls?
3. What parts/how much of the code needs to be changed to accomodate
   this?

-mike

PS: yes, we could make different sorts of wrapping for this, but right
now, how about just using the flat,wrapx,wrapy,donut that we have/gonna
have.



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