Ответ: Google IO
Смотрел выступление Colton McAnlis, про PvP Gaming using HTML5.
Молодцы ребята в общем, веб уже почти готов к таким проектам, и начинать нужно вчера! Т.к. пока закончишь проект, веб будет уже готов в него играть.
ЗЫ, они использовали тоже nodejs + socket.io.
Правда решения оптимизации которые они приняли имхо, не совсем оптимальные. Пробежался по коду их проекта, и у них есть некий конвеер пакетов, который при посылки проверяет если там есть дупликации или не обновлённые данные.
Имхо, это аналог caching'а, со сбором информации при посылки.
Я эксперементировал с подобной моделью, и пришёл к выводу что лучше хранить сетевые данные в мелких контейнерах с флагом cached, которой после каждого паблишинга (рассылки состояний игры), будет обнуляться, и далее если данное в контейнере изменилось, флаг будет помечаться как обновлённое.
Затем когда наступает время рассылки (а это происходит намного реже чем частота обновлений игрового цикла). Паблишер пробегается по всем ближайшим объектам для каждого клиента, и если объект имеет обновлённые данные, включает это в пакет. Далее отсылает. После того как всем разослали, обнуляет кэш флаг для данных.
Таким образом мне удалось сэкономить намного больше производительности чем в решении которым они пошли (но у них была спешка, следственно это оправдано).
Также не нашёл у них в коде никакой информации о ресинхронизации. По сути они шлют все данные из игровой сессии, не оптимизируя по локации, когда слать нужно только видимые данные. При этом тут нужен список видимых объектов, чтобы следить если новый объект вошёл в поле видимости, игнорировать флаг кэша и отослать полные данные клиенту.
Но всё равно, круто!
Плюс, затестил Google Earth, Бостон ВЕСЬ 3Д! Красота ваще!
Ещё, Jelly Bean выходит!
Также Google Maps теперь можно делать Precaching, тем самым использовать карты даже без интернета.
Крутое шоу строили с Google Glasses - ваще шик, Апплу с таким фаном срать керпичами :D
При этом, куча неорганизованностей повсюду, начало презинтаций часто начинается с кривых дублей, но всё равно показывают - стёб обычно.
Звук в конце выступлений бывает отрубают или кто-то что-то с ним делает страшное.
Речи обычно не заучены - что вносит живности, но порой показывает неспособность некоторых везти клёвую речь, не все могут..
В общем, первый день посмотрел что хотел, очень клёво, Google - молодцы.
|