[crossfire] A funny thing happened on the way to the new maps
Robert Brockway
robert at timetraveller.org
Sat Apr 2 23:49:10 CDT 2016
On Sat, 2 Apr 2016, Mark Wedel wrote:
>
> I presume the 1000x1000 maps are 50 (or some other size) spaces/side? Or is
> each map 1000x1000, but you have some smaller set of maps being tiled
> together?
Yes I'm using 1000x1000 maps, with each map being 50x50. While I'd been
reading C and Python code I'd come to suspect there were implicit
assumptions that the world tile maps would be 50x50. Yes this could be
fixed but I found it easier just to stick to the existing standard.
It's worth noting that the name of the new world is Quadra and I've layed
the tiles out in a directory tree to avoid the issues of having too many
files in a single directory. So the map tile for maps 117,117 on my new
world is:
/worlds/quadra/117/117/tile
I've written a script which take the tiles generated by 'land' or
'bigland' and sets the tile paths correctly. I have special plans for the
edge maps which are worth their own post some other time.
> With map tiling, things can move to adjacent maps even if players don't move
> to them. The game doesn't really distinguish between objects, and just as
> you wouldn't want an arrow to stop at a map edge, same goes true for
> monsters.
That's great. I think that has some potential to make really interesting
tiled maps.
> What should eventually happen is that maps with no players on them will get
> swapped out. However, what probably also happens is that maps that are still
> in memory are touching the other maps, keeping them active, so this never
> happens (at least in the case of mice which keep multiplying). One could
> have a monster that just wanders and moves to a new map, but it would
> eventually get swapped out if nothing else is keeping the map it is on
> active.
Great thanks.
> As far as compression goes, at one time, the server did support map (or
> really, all file) compression. However, the typical size of an entire
Any chance it could be put it back in, even as an optional component
enabled in the config?
> installation was small enough on current hard drives, there really wasn't
> much point to it (even 100 GB isn't that big for modern systems). Also, some
I am looking at hosting my server in Linode or a similar service but I
find the cost of 100GB hosted is more than I want to pay on going to run a
game server.
I could cut the world down to 500x500 maps and add the rest back when the
cost of storage drops but I'm hoping not to have to do that.
> newer filesystems (ZFS for example) support compression, eg:
>
> NAME USED RATIO
> export/home/crossfire 18.0G 2.09x
FreeBSD? Few will be using ZFS on Linux I think and I'm not trusting my
data to Btrfs just yet :) There seems to be a FUSE option for on-the-fly
compression but there are concenrs about stability. Other than that I
think Linux users have few options for on-the-fly compression but happy to
hear about options I may have missed.
If we applied the map compression in the application it would work on any
OS that the game runs on.
I compressed a few random tiles from my new world and got compression
rations ranging from 6:1 to 10:1.
Cheers,
Rob
--
Email: robert at timetraveller.org Linux counter ID #16440
IRC: Solver (OFTC, Freenode and Snoonet)
Web: http://www.pracops.com
I tried to change the world but they had a no-return policy
More information about the crossfire
mailing list