Во первых нетти не мой ). Я его просто использую.
Во вторых, на моем сервере все обработается корректно.
В третьих, эта проблема (если ее так можно назвать) присутствует при любом варианте реализации сервера. Синхронизацию клиентов еще никто не отменял.
Задача TCP сервера максимально быстро получить пакет и отдать его в очередь на обработку, чтобы минимизировать влияние обработчика на последовательность пакетов. Это одна из причин по которой не пишут логику в обработчике на netty. А дальше ваша логика разруливает сообщения, что с ними делать и в какой последовательности их обработать.
Если у кого-то из клиентов пинг очень большой, то он ССЗБ. И портить из-за него игру всем просто нет смысла.
1. Статья не является пособием по программированию. Это всего лишь пример как может быть. В джаве есть GC.
2. Не вижу проблемы. Люди подключаются, отключаются… все нормально.
3. Это вообще очень странный вопрос. Вы всерьез считаете, что 1 поток в состоянии обслужить несколько (десятков?) тысяч подключенных клиентов?
Технологии сами по себе редко бывают плохими или хорошими. Бывает лишь плохое или хорошее их применение.
С Node.JS я не работал, поэтому не могу сравнивать его с Java.
Но если он перекрывает все что вам необходимо для создания проекта и его развития, то почему бы и нет.
Могу, главный разработчик mina, забил на mina, сделал новый проект, назвал его netty и перешел в jboss его развивать.
Теперь mina больше не развивается.
Как-то так.
Будет. Я там пишу цикл статей по созданию сетевой игры на флеше.
А это в виде отступления, по просьбам трудящихся, описал архитектуру рабочего проекта.
Так что потом будет и про остальное.
Game Logic 1 и Game Logic 2 это вообще отдельные физические сервера )
Об этом и в статье написано, что можно TCP сервер и сервера с игровой логикой раскидать по разным машинам.
Ну если делаешь для себя, то то нормально. Только вот веб плеер установлен у малого числа пользователей. Статистки по отказам, это когда человек зашел на сайт игры, увидел что надо плагин ставить и ушел, порядка 70%. Т.е. из всей потенциальной аудитории ваши будут примерно 30%. В этом плане флеш впереди планеты всей. Установлен у большинства пользователей. Плохо это или хорошо, это другой вопрос. Но это гарантия того, что в твою игру поиграет максимально возможное число игроков.
По мышекликательному программированию, это когда ты пишешь скрипт, потом подключаешь к какому-то объекту в игре и дальше мышкой все настраиваешь ) В юнити все так.
Показательным может быть момент… сможешь ли ты сделать проект в юнити чисто кодом не открывая редактор мира?
Т.е. создал проект в MonoDevelop (или где там удобнее) и чисто из него сделать рабочий проект, пусть даже и из примитивов. Плюс насколько я понял нормальный дебаг и профайлинг возможен только в платной версии (тут конечно могу ошибаться).
Разница в скорости разработки если и есть, то небольшая. Она кажется большой только тем, кто не пробовал ничего кроме юнити. Там все кажется простым. Тут покликал, там покликал, получил карту например. Но на самом деле в blender+away3d тоже все быстро делается. Плюсом же я имею полный контроль над ситуацией.
Думал конечно. И пробовал. Только юнити для флеша пока еще в бете, да и adobe алхимию убрали. Так что пока не известно когда оно заработает. Есть подозрение, что не раньше чем через год.
Ну и мне юнити не очень нравится как средство разработки. Мышекликательное программирование меня напрягает. Опять же вопросы с отладкой и вообще работа с проектами неудобны. А плюсы есть только в случае, если есть необходимость потом перевести проект на iOS или Android. Для веба преимуществ я не вижу. Плюс оно все платное. Для первых проектов это может быть напряжно.
> Хех, я не говорил, что знание правил убивает интерес.
Это действительно не вы говорили… это сказал Evgin. Вот ему я и отвечал ))
Да и дело не в бактрегингке и не правилах…
Это всего лишь пример… понимаете? Обычный пример на вскидку и притянутый за уши… В нашей команде ачивка будет такая, в вашей другая… это всего лишь пример, а вы начали его рассматривать как руководство к действию, рассказывая как это будет сложно и как субъективно…
Вы наверно по жизни зануда… дико извиняюсь если задел.
Просто я описал на вскидку пару ачивок, которые простым набиванием количества тех же классов не получишь, и знание о правилах получения которых только добавит интереса к их получению. Например сделать 100 коммитов без багов не так просто. А получив такую ачивку можно «гнуть пальцы» среди коллег. У нас например есть бактрекинг привязанный к комитам. Сопоставить что откуда вполне возможно. Так что ваш гейммастер тоже простейший случай. Собственно никто и не обещал, что построение такой систему будет и должно быть простым…
Так что мой пост, всего лишь опровержение тому, что знание правил получения ачивок убивает интерес к их получению… примеры моих ачивок они и есть примеры, просто чтобы показать, что на подсчитывании количества классов все не заканчивается…
Неприкольно только для неинтересных и простых ачивок…
А вот ачивки для которых надо попотеть, вот это да.
Ну что нибудь вроде «100 коммитов без багов» или «поддержка 30лвл» за 100 испраленных багов в неделю… в общем суть надеюсь понятна. Нужны ачивки для получения которых приходится попотеть.
Эта опция была нужна для старых версий FlashDevelop. В версии FD 4 такой проблемы нет.
Именно поэтому я написал в начале статьи версии используемого софта.
Это же сколько работы… что-то там шерстить, доказывать, напрягаться… а тут пришел, бумажку показал, всех мордой в пол (это скорее всего наши реалии) ) и рубильник хлоп.
Всё. А дальше пусть адвокаты, спецы и прочие люди доказывают что надо.
Те кто закрывал свою работу сделали не напрягаясь.
P.S. Хотя я, как сторонник теорий заговора, думаю что тут не все чисто. Возможно этим громким закрытием отвлекают внимание от чего-то более мелкого, но важного…
Во вторых, на моем сервере все обработается корректно.
В третьих, эта проблема (если ее так можно назвать) присутствует при любом варианте реализации сервера. Синхронизацию клиентов еще никто не отменял.
Задача TCP сервера максимально быстро получить пакет и отдать его в очередь на обработку, чтобы минимизировать влияние обработчика на последовательность пакетов. Это одна из причин по которой не пишут логику в обработчике на netty. А дальше ваша логика разруливает сообщения, что с ними делать и в какой последовательности их обработать.
Если у кого-то из клиентов пинг очень большой, то он ССЗБ. И портить из-за него игру всем просто нет смысла.
2. Не вижу проблемы. Люди подключаются, отключаются… все нормально.
3. Это вообще очень странный вопрос. Вы всерьез считаете, что 1 поток в состоянии обслужить несколько (десятков?) тысяч подключенных клиентов?
С Node.JS я не работал, поэтому не могу сравнивать его с Java.
Но если он перекрывает все что вам необходимо для создания проекта и его развития, то почему бы и нет.
Теперь mina больше не развивается.
Как-то так.
А это в виде отступления, по просьбам трудящихся, описал архитектуру рабочего проекта.
Так что потом будет и про остальное.
Об этом и в статье написано, что можно TCP сервер и сервера с игровой логикой раскидать по разным машинам.
Предыдущие статьи добавили по 170 человек, а обсуждения не было ((
Но это все таки другой класс софта, нежели Away3D.
По мышекликательному программированию, это когда ты пишешь скрипт, потом подключаешь к какому-то объекту в игре и дальше мышкой все настраиваешь ) В юнити все так.
Показательным может быть момент… сможешь ли ты сделать проект в юнити чисто кодом не открывая редактор мира?
Т.е. создал проект в MonoDevelop (или где там удобнее) и чисто из него сделать рабочий проект, пусть даже и из примитивов. Плюс насколько я понял нормальный дебаг и профайлинг возможен только в платной версии (тут конечно могу ошибаться).
Разница в скорости разработки если и есть, то небольшая. Она кажется большой только тем, кто не пробовал ничего кроме юнити. Там все кажется простым. Тут покликал, там покликал, получил карту например. Но на самом деле в blender+away3d тоже все быстро делается. Плюсом же я имею полный контроль над ситуацией.
Ну и мне юнити не очень нравится как средство разработки. Мышекликательное программирование меня напрягает. Опять же вопросы с отладкой и вообще работа с проектами неудобны. А плюсы есть только в случае, если есть необходимость потом перевести проект на iOS или Android. Для веба преимуществ я не вижу. Плюс оно все платное. Для первых проектов это может быть напряжно.
Это действительно не вы говорили… это сказал Evgin. Вот ему я и отвечал ))
Да и дело не в бактрегингке и не правилах…
Это всего лишь пример… понимаете? Обычный пример на вскидку и притянутый за уши… В нашей команде ачивка будет такая, в вашей другая… это всего лишь пример, а вы начали его рассматривать как руководство к действию, рассказывая как это будет сложно и как субъективно…
Просто я описал на вскидку пару ачивок, которые простым набиванием количества тех же классов не получишь, и знание о правилах получения которых только добавит интереса к их получению. Например сделать 100 коммитов без багов не так просто. А получив такую ачивку можно «гнуть пальцы» среди коллег. У нас например есть бактрекинг привязанный к комитам. Сопоставить что откуда вполне возможно. Так что ваш гейммастер тоже простейший случай. Собственно никто и не обещал, что построение такой систему будет и должно быть простым…
Так что мой пост, всего лишь опровержение тому, что знание правил получения ачивок убивает интерес к их получению… примеры моих ачивок они и есть примеры, просто чтобы показать, что на подсчитывании количества классов все не заканчивается…
— 20
— Что 20?
— А что приборы?
Можете пояснить ваш камент? Субъективны к чему/кому?
А вот ачивки для которых надо попотеть, вот это да.
Ну что нибудь вроде «100 коммитов без багов» или «поддержка 30лвл» за 100 испраленных багов в неделю… в общем суть надеюсь понятна. Нужны ачивки для получения которых приходится попотеть.
Именно поэтому я написал в начале статьи версии используемого софта.
Ну тот который из анекдота…
— Серега вчера сервер поломал
— Он что хакер?
— Нет, он мудак…
Всё. А дальше пусть адвокаты, спецы и прочие люди доказывают что надо.
Те кто закрывал свою работу сделали не напрягаясь.
P.S. Хотя я, как сторонник теорий заговора, думаю что тут не все чисто. Возможно этим громким закрытием отвлекают внимание от чего-то более мелкого, но важного…
Oracle revenue (2013): $17.6 billion
Google revenue (2013): $57.2 billion
Все вам будут благодарны.