Обсуждение ивента "Чёрная Луна"

Обсуждение работы движка сервера. Ваши предложения по улучшению игры. Вопросы по интерфейсу и механике игры

Модератор: Gorlum

Ответить
Gorlum
Император Вселенной
Сообщения: 7512
Зарегистрирован: 13 июн 2009, 15:06
Контактная информация:

Обсуждение ивента "Чёрная Луна"

Сообщение Gorlum » 02 янв 2015, 02:21

Обсуждение viewtopic.php?f=2&t=2998
ВНИМАНИЕ! Администрация в личную переписку не вступает, рукописи не возвращает и не рецензирует!
* Если у меня слишком хорошее настроение - я хожу почитать чат *

Аватара пользователя
Han
Генерал-полковник Империи
Сообщения: 587
Зарегистрирован: 18 мар 2010, 07:22

Re: Обсуждение ивента "Чёрная Луна"

Сообщение Han » 02 янв 2015, 18:52

Думаю, не преувеличу, если скажу - ивент шикарен. И с точки зрения добычи ТМ и с точки зрения динамичности и интересности. По моим наблюдениям, первый день народ присматривался и мирно рассаживался по лунам, ближе к вечеру, все больше и больше гор лома возле ЧЛ. А дальше... думаю, начнется Бодрое Лунное Рубилово :)
Morhold, альянс Казаки

Gorlum
Император Вселенной
Сообщения: 7512
Зарегистрирован: 13 июн 2009, 15:06
Контактная информация:

Первый блин...

Сообщение Gorlum » 08 янв 2015, 07:39

...получился не то, что комом - но с комочками. Причин - две.

Во-первых - это первый полностью автоматический ивент с паралелльным исполнением кода. Самым первым "полностью автоматическим" ивентом был всё-таки ивент "ЁЛОЧКА - ГОРИ!!!". А вот с паралелльным запуском добавочного кода - тиков начисления ТМ - такой ивент был впервые в истории сервера.
Соответственно - были определенные баги на этапе внедрения ивента и в его ходе. К счастью, они были не особенно критичными (вайпа не случилось - значит не "особо критичный"), хотя и местами неприятными.
Особую пикантность проблемы составляло то, что ивент работал с флотами. И ни в коем случае нельзя было допустить дедлоков - иначе игра была бы неиграбельна. Т.е. от слова "совсем" - не работал бы чат, строительство и т.д. и т.п. Т.е. надо было тщательно развести исполнение тиков с работой подсистемы летящих флотов. И тут лучше было перебдеть, чем недобдеть. Лучше "завесить" флоты, чем потерять часть флотов или даже часть инфы о ресах/юнитах на планетах.
Скажу без хвастовства - справился я на твёрдую четверку, особенно учитывая второй пункт.

Во-вторых - оба ивента писались в режиме жесткого дедлайна. Собственно, сам ивент ЧЛ я сел писать, как только была достигнута первая цель по сбору средств. Однако ВНЕЗАПНО выяснилось, что прийдется писать и Второй Ивент!
Пришлось бросать ЧЛ и срочно писать ЁГ. В результате оба ивента получились слегка недоделанными.
Например, в ЁГ я не успел полностью доделать и отладить автоматику по зажиганию Ёлочки - пришлось делать это в ручном режиме и Ёлочка на Альфе зажглась только с третьей или четвертой попытки, положив пару раз в процессе mysql-сервер.
Так же в ЁГ не было реализовано ещё пару идей за недостатком времени - пришлось положиться на генератор случайных чисел, который подбросил свинью и первая Ёлка на Альфе была найдена в течении первых суток ивента. Что, в общем-то, не планировалось - и не произошло бы, буть у меня чуть больше времени на отладку и тестирование.
То же самое и с ЧЛ. Поначалу было две серии глюков с пересечением между летящими флотами и начислением тиков, в результате чего флоты зависали. Но к этому я был готов - и относительно оперативно устранял проблемы. А вот финальное подвисалово флотов вечером 7-го для меня явилось неприятной неожиданностью. Особенно если учесть, что почти сутки менеджер флотов отработал без кода ивента ЧЛ - и, в общем-то, ничто не предвещало... Поэтому я с чистой совестью пошёл отсыпаться после освобождения Кирата от диктатуры Пэйгана Мина (респект Игорю-админу за подгончик игры!) - что бы получить эдакий неприятный сюрприз по пробуждению...

Выше с вами говорил Разработчик проекта СуперНова. А теперь - немного лично от меня. Всем недовольным предлагаю пойти В ЖОПУ. Персонально предлагаю пройти В ЖОПУ Navsikaja, который своей вонью завонял весь чат на Альфе. В то время, когда остальныи игроки бухали и отмечали НГ в разных часовых поясах - я хуярил ивенты, не разгибаясь. Встреча НГ у меня происходила в общей сложности 1 час - 20 минут проводить старый год и 40 минут - встретить Новый Год и посидеть за столом чутку, что бы не обидеть гостей. Всё остальное время всю предновогоднюю неделю я хуярил ивенты, отвлекаясь только на поспать и притащить тяжелое к НГ. Даже ёлку ставили в предновогодний вечер и без меня - я только вытащил тяжёлое и опять сел хуярить ивенты.
"Но ведь можно было протестировать заранее!" - пёрднет жопоротый Навсикайя (это, кстати, женское имя - если кто не в курсе). И как всегда - пёрднет в лужу. Нет, массового тестирования провести заранее было НЕЛЬЗЯ. Потому что это полностью убило бы весь элемент сюрприза. Всё, что можно было протестировать - было протестированно заранее и на тестовом сервере. Тут хочу отдельно и персонально поблагодарить в первую очередь Помощника Морхольда за неоценимую помощь в тестировании, а во вторую - Админа за помощь в подборе картинок под ивент ЁГ. Так вот - есть определенные НЮАНСЫ в том, как один и тот же код работает на больших объемах данных - и на маленьких. На высоконагруженных серверах типа Альфы - и слабонагруженных типа тестового. И ситуация, когда код работает нормально на одном наборе данных и при одной частоте запросов и не работает на другом объёме данных и при другой частоте запросов - она, конечно, ненормальна и нешататна - но случается. Особенно учитывая дедлайн, в котором писались оба ивента.

Сейчас код менеджера летящих полётов переделан с учётом полученных знаний и с перспективой поддержки любого количества сегментов "параллельного кода": viewtopic.php?f=2&t=2715&start=40#p36016 Теперь глюков быть не должно, а если будут - пофикшу
ВНИМАНИЕ! Администрация в личную переписку не вступает, рукописи не возвращает и не рецензирует!
* Если у меня слишком хорошее настроение - я хожу почитать чат *

Аватара пользователя
PIR
Генерал-майор запаса
Сообщения: 542
Зарегистрирован: 01 ноя 2010, 20:36

Re: Обсуждение ивента "Чёрная Луна"

Сообщение PIR » 08 янв 2015, 15:51

Выше с вами говорил Разработчик проекта СуперНова. А теперь - немного лично от меня. Всем недовольным предлагаю пойти В ЖОПУ.
+5
"Бе-бе-бе" - самый весомый аргумент в любом споре.

Ответить

Вернуться в «Движок сервера: жалобы и предложения»