У меня есть фон, который почти полностью основан на бизнес-приложениях - веб-сервисах, планировщиках, настольных и веб-интерфейсах для CRM-систем и т.д.
Теперь почти со всеми вышеупомянутыми проектами основные принципы одинаковы:
Определенный уровень доступа к данным, уровень бизнес-логики и пользовательский интерфейс.
Очевидно, что какой-то сценарий требует чего-то немного уникального, но в целом он N-Tier полностью.
Хотелось бы заниматься разработкой игр как хобби. Я не ожидаю ничего впечатляющего, поскольку у меня нет ресурсов, чтобы посвятить его, но что-то, чтобы бросить мне вызов, было бы хорошо.
Какие уроки (если таковые имеются) я должен брать из своего нынешнего опыта и что мне нужно, чтобы учиться снова?
Я предполагаю, что, как и во всем моем опыте, разные типы игр будут иметь разные архитектуры, но все они основаны на одних и тех же основных принципах? Ради аргументов, скажем, я создаю простой MUD (возможно, интерфейс сверху вниз, как и старые игры Zelda) - Это казалось чем-то, что я мог бы использовать для моей 3-уровневой логики для: - сервера с BLL и DAL и клиентского интерфейса; - но я не совсем уверен, правильно ли это - конечно, использование Entity Framework не кажется подходящим, поскольку там очень много накладных расходов при доступе к большому количеству вещей в Db, и я предполагаю, что производительность будет проблемой - например, я предполагаю, что я не хочу постоянно использовать Db для хранения мест игроков, если они меняются 20 + раз/секунду...
Существуют ли шаблоны и методы специально для игровых сценариев?
Возможно ли разработать внутреннюю систему перед созданием пользовательского интерфейса (например, вместо этого подключайте консольное приложение, чтобы я мог разработать функциональность, которую я хотел бы перед добавлением пользовательского интерфейса). Это хорошая/плохая практика?
Короче говоря, я не знаю, с чего начать, и был бы признателен за некоторые советы, особенно от тех, у кого есть опыт.
О единственном, что стоит в камне, - это то, что мне нужна многопользовательская игра с центральным сервером. Предложения по игре приветствуются.