It may be common sense, but this can save much misery and many tears. When using highly complex systems of entities and parenting, its always good to invent an acurate naming system. I'm currently maping a subway system with a working train. There are 4 trains, 4 cars per train, and 10 doors per car. I cant just name each door "door" because they must A) be parented to each car properly, B) be opened properly, and C) have glass windows and trims parented to them. And so I came up with a naming system like so:
slidingdoor_(train#)
(car#)(left side, right side, front, or back)
(group#(for side doors))(left or right in that group)
So each door would have a name like "slidedoor_1_3_R_L_R" or "slidedoor_1_3_F"
I know it looks confusing as hell, but continualy following it ensures a fail-safe map thats easy to sort through. Because Parent lists and Output lists are alphabatized, it makes it infinitely easy to use.
Also keep in mind that not all entities need a name. In my case, the windows parented to the doors dont need names because nothing is parented to them.
Organizing your map well is paramount to an easily built level.
EDIT:
Oh, I forgot to mention, a map (at least in Source) won't run if it has weird characters or spaces. For instance, a map named "dm_mymap(backup).bsp" will
not run, nor will "dm_mymap backup.bsp". I haven't experimented with other names yet, but if I do find some, I'll put them up too
.