Crossfire Mailing List Archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Suggestion for reducing size of map files, server/client bandwidth



> It occurs to me that in general there is very little use for floors
> being represented in maps as individual, repeated archetypes.  Since

But it still has a use. The floor has a names, so you can  hint a
players changing a floor name (e.g. 'a burned floor'). The other
effect is that different backgrounds affects to players speed in
the different ways. It also makes thing much simpler for code, which 
is not a minor thing (you can treat every object in the same way).

> these are generally intended to serve only an aesthetic purpose it would
> seem to make more sense to allow a map to simply specify a "background".

This is an interesting idea, but unfortunately it's not very useful a 
larger scale, think about a world map, where background is composed of 
grass,  forest and many other archetypes.

> the aesthetics of many maps is ruined by the fact that the floor
> used in most regions is not drawn under tables, chairs, generators,
> etc., which leaves strange looking blank spaces when the objects
> are destroyed (say by a fire).

Use the mapinfo command to look who is made the map and ask author
to fix it and if author is unknown or he isn't interested fixing it, fix
it yourself and send patches to Mark. Old maps don't came better just
changing a little code, they need anyway manual editing.
 
> A sophisticated solution would allow for rectangular "regions"
> of a given background, but as a first pass a single background per
> map would be of significant use.

The problem which this raises is how do you implement squares, which don't
have any background or have the different background. And it doesn't have 
to any real effect to bandwidth to client/server, since client have no
maps, just player's view.

Reducing the size of maps is needed since one object is about ~250 bytes,
so they eat too much memory in servers side, but I would like it happen
so that it won't affect the flexibility of the current map format. It
could be done splitting the object struct in many parts and let
load_object() decide what parts are needed and if some part isn't
needed then using it from archetype. It would not require any changes
existing maps, but it would still reduce memory used by server. Also
it would have effect reducing the memory used by walls, which is another 
big group of dead objects.

 -Tero