если прям по феншую, то
1) у тебя должен быть абстрактный класс например какой-нибудь GameObject с файнал полями, как минимум это id. и методом каким нибудь spawn/destroy.
2) От этого класса наследуется/имплементится все остальное (объекты мира), с чем можно взаимодействовать - твой герой/враги/мобы прочая херабора (внезапно здания (если они разрушаемые или с ними как то можно взаимодействовать и так далее))
3) все поля должны быть приватные и их изменение через сеттеры
4) никакой логики на клиенте (привет читеры)