Kent,
We don't have C++ style namespaces but Oxygen has plenty of ways of avoiding name conflicts including aliases, local types, typedefs, functions and scope blocks.
Unlike c, procedures and classes and just about anything else can be localised.
In your 2d versus 3d example I would create separate 2d and 3d classes for game objects then you can use the same vocabulary for each type.
Charles