Представьте себе сервер на котором куча небольших онлайн-игр, у вас есть специальный jabber-клиент (на обычном компе или на смартфоне), с его помощью вы можете не только чатиться с друзьями, но и скачать любую игру с этого сервера и играть в неё с друзьями 1-на-1 или толпой, различные аркады, логические игры, мини-RPG, мини-стратегии.
На сервере множество игровых комнат, в разных комнатах разные тусовки, игры и уровни. Вы можете играть в какой-то любимой комнате или заглянуть в гости к соседям: заходишь в одну комнату — там в покер играют, заходишь в другую — там в реинкарнацию бомбермена отрываются...
Я предлагаю реализовать такую клиент-серверную платформу.
На сервере хранятся игры, просто в виде zip-архивов с данными (картинки, звуки, описания уровней, игровые сценарии и т.п.). Специальный клиент скачивает этот zip-архив, распаковывает в специальный каталог, после чего может загружать в игровой движок. Клиент и сервер обмениваются сообщениями — клиент отправляет на сервер свои события (например, движения персонажа), сервер их проверяет (с помощью северного сценария), если ход корректный, то транслирует его другим участникам и возможно выполняет ещё какие-нибудь действия - подсчет очков, рейтингов, статистики, запускает квесты и т.п.
Мы сейчас пишем jabber-сервер (работы ещё много, но уже есть кое-какие успехи). Вот и пришла в голову идея реализовать в сервере поддержку онлайн-игр. Есть только одна большая проблема — у нас нет опыта написания игр. Поэтому мы можем предложить только свою серверную платформу и готовы скооперироваться с теми кто пишет игры и может предложить клиентскую платформу — простой нетребовательный к ресурсам игровой движок, который можно будет использовать практически на любом железе — на древнем компе, на нетбуке, на смартфоне и т.п. Мы можем сотрудничать с несколькими командами, например одна команда может писать движок для сматфонов, другая для обычных компов.
Для начала это может быть простой 2D спрайтовый движок и несколько простых игр: шашки, покер, бильярд, танчики, бомбермен или ещё что-нибудь в этом духе.
Затевать все это ради одной-двух (мини-)игр наверное не выгодно, поэтому это должно быть именно платформа — более-менее универсальный сервер и клиент в который можно добавлять игры написанные по определенным правилам (закинул zip-архив на сервер и игра доступна всем).
PS:
удобную библиотеку для работы с нашим сервером мы предоставим
О сокетах и протоколах думать нет необходимости.