ID:1219531
 
Not a bug
BYOND Version:498
Operating System:Windows Vista Home Basic
Web Browser:Chrome 25.0.1364.172
Applies to:Dream Maker
Status: Not a bug

This is not a bug. It may be an incorrect use of syntax or a limitation in the software. For further discussion on the matter, please consult the BYOND forums.
I've tested it a bit, though not extensively, and it appears that if two turfs occupy the same tile(yes, I know this seems "impossible", but if you place an object and omit its type from the game, then when prompted to submit a new type as a replacement type you enter a turf, and that turf is on TURF_LAYER, you then have double-stacked turfs) then the stacked turf will count towards the object limit. If the stacked turf is not on TURF_LAYER, it doesn't exist, but can be seen.

I'm very annoyed by this.
From what I've heard, turfs don't count towards the object limit, at all.

Edit:
LordAndrew said:
You get 256^2 (~65,536) objects at compile-time, and 256^3 (~16,777,216) objects at run-time to work with. Turfs are exempt from the compile-time limit, but your game will fail to load if you pass the run-time limit with them.

In the event you run over the limit at run-time, then your game will most likely flat out crash due to buffer overflows.
I think he's talking about the unique tile limit for DMMs.

The DMM index limit is 65,535 unique tile indices per map. This is different form the compile-time object limit.
Oh, and by the way, this isn't a bug. Stacking turfs creates a unique reference type in the map file. Every time you stack the same two kinds of turfs, you will access that particular turf prototype.

It's a limitation of the current file format that BYOND uses for DMM files, and is working as intended.
You are just going to have to do dynamic area loading/unloading, or break your game into multiple servers.
I'm sure Tom or Lummox can work with you to fix your issue.
I'm not clear on which limit you're referring to.

There are several limits still built into the .dmb file itself that are stuck on 64K, whereas at runtime most things can now be expanded well beyond that. It sounds to me like the limit you're seeing is a limited number of map pops. A "pop" is a special ID that goes along with each unique map tile, and is used to repopulate the map during Repop(). Map pops are most definitely limited to 64K.

Unique type paths are also limited. Some authors go bonkers with this.

There are other limits but I don't think they apply. For instance, when turfs are stacked you still only have one turf, but the others go into the underlays list. Unique underlays lists are limited, but I don't think you can hit the compile-time 64K restriction (runtime is much higher) without running into the pop limit.

For the time being, your best way to deal with the pop limit is to do some editing to trim your map files down. You may have a number of pops that are identical except for one or two things that don't even matter; if you can eliminate those differences and collapse five or six pops down to one, you'll save all those duplicate IDs for where they're really needed. The pop limit is a hard one to hit.

If you're doing something like pixel offsets on a number of meaningless decor items, that would be one place you could save a lot. One option you have for saving space is adding something to New() that sets the pixel offsets based on a hash of the item's position, which can give the appearance of randomness.
Galactic Soldier wrote:
Unique type paths are limited? :/

Yes. There really is no reason to hit that many, though. People in byond that do are trying to use type paths as databases rather than for heirarchal behavior definition.
LordAndrew resolved issue (Not a bug)