If you want to avoid using namespaces, but retain a sense of structure, then C++ allows the use of nested classes. Just be sure to make the declaration public, so you can access it from outside the scope:
class IGame {
public:
struct scene_t {
...
};
};
I rarely use this myself (in fact, I limit nested classes to a more local scope to encapsulate logic that is and should be limited to the parent class itself, but whose members would otherwise unnecessarily pollute the class member list):
class IGame {
protected:
struct properties_t {
eGameState state;
...
} properties;
struct ui_t {
eUIState state;
...
} ui;
};