WORLD OF WARCRAFT

Тема: Разработчики исправили старую проблему с менеджером экипировки  (Прочитано 13308 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Wishko

  • Модератор
  • Легенда
  • *
  • Сообщений: 52449



Еще в декабре прошлого года игроки обнаружили, что комплекты брони, сохраненные в менеджере экипировки, всякий раз после выхода из игры сбрасывались к предыдущему состоянию. Спустя целых 6 месяцев разработчикам наконец удалось обнаружить корень зла и исправить эту проблему – на официальном форуме появилось сообщение с дополнительными деталями насчет данного бага.:cut:

Менеджер экипировки не сохраняет комплекты

Эта проблема была решена, и мы собрали немного дополнительной информации для тех, кому интересно.

Мы обнаружили, что эта неполадка, при которой комплекты экипировки не сохраняются, изначально появилась тогда, когда мы обновили наш код для использования более новой, простой и безопасной системы для базы данных. Новая система стала оболочкой для старой системы, проверенной в бою и надежно справляющейся с операциями по базе данных, и благодаря ей упростились некоторые довольно сложные взаимодействия с системой. Она работала путем копирования находящихся в ожидании изменений базы данных в другой объект, прежде чем они записывались.

Проблема, которая вызвала ошибку, появилась из-за того как мы отслеживали предметы. Мы пытались определить, изменилось ли значение, прежде чем записывать его, чтобы не тратить время впустую, если ничего не поменялось. В этом есть смысл, так ведь? Но в нашем конкретном случае, когда персонаж удаляет предмет из комплекта экипировки, то идентификатор предмета для этой ячейки устанавливается в ноль. При этом стандартное значение нового объекта базы данных, в который мы копируем, тоже было равно нолю. В результате все изменения комплекта экипировки были корректно упакованы и переданы в новую систему, но когда мы копировали их в новый объект, то обнаруживали, что предмет, например из ячейки для шлема, был удален и его значение установлено в ноль. Поскольку в новом объекте ноль уже установлен для вашей ячейки шлема, то система ошибочно считала, что "Нам это сохранять не нужно, там уже стоит ноль!" и отбрасывала это изменение.

Теперь эта проблема решена. Эта тема и обсуждение определенно помогли нам найти первоисточник проблемы, поэтому благодарим вас за ваши конструктивные мысли![Источник]
« Последнее редактирование: 03 Июля, 2019, 09:09:04 by Wishko »

Лена Юбилейная

  • Завсегдатай
  • **
  • Сообщений: 592
  • Shake dog shake

  • Варкрафт: +
    • Имя: Инзолла
    • Класс: Рыцарь смерти
    • Сервер: Гордунни
Ниже будут комментарии о том, что инди-компания не справляется, а ещё и тексты писать не умеет, все бездари.
Погромисты в треде
And scrape my skin with razor blades

Aov7.NATREZIM

  • Старожил
  • ***
  • Сообщений: 1992
  • Nil sub sole novum

  • Варкрафт: +
    • Имя: Twons
    • Класс: Маг
    • Сервер: Draenor
ох уж этот индийский код
So why, I ask, it just doesn't make much sense
That a man of my stature should have to wear a dress
I mean what, may I inquire, were you thinking on that day
When you conjured up for a man like me a robe that looks so gay

Azormgharm

  • Завсегдатай
  • **
  • Сообщений: 818

  • Варкрафт: +
    • Имя: Азормгарм
    • Класс: Охотник
    • Сервер: Гордунни
ох уж этот индийский код
Коду 15+ лет, это не удивительно. Алсо, индусский, а не индийский.

Светлый

  • Новичок
  • *
  • Сообщений: 10
Главное что теперь все ясно и понятно 😌

Ke1H^

  • Завсегдатай
  • **
  • Сообщений: 271
ох уж этот индийский код
Коду 15+ лет, это не удивительно. Алсо, индусский, а не индийский.
Да тут большинство даже не знает что такое инди компания, свято веря в то, что это значит индийская :facepalm:
Профессиональные peacдаболы.

Lesoro

  • Ветеран
  • ****
  • Сообщений: 6919
ох уж этот индийский код
Коду 15+ лет, это не удивительно. Алсо, индусский, а не индийский.
Да тут большинство даже не знает что такое инди компания, свято веря в то, что это значит индийская :facepalm:
Профессиональные peacдаболы.
Скорее ты не в курсе про типичных "дешевых индусских программистов".

Mermond

  • Старожил
  • ***
  • Сообщений: 1274
Лучше поздно, чем никогда....ну для инди-компании это нормально ;D

RostV

  • Завсегдатай
  • **
  • Сообщений: 859

  • Варкрафт: +
    • Имя: Дядюшкабэн
    • Класс: Чернокнижник
    • Сервер: Гордунни
Все такие умные и знающие, инди-компания, инди-компания.
Но явно никто не сталкивался сам с разработкой, и не знает что чем больше компания и чем больше продукт, тем сложнее найти место где проявляется ошибка, а тем более такие неочевидные проблемы, порой ты неделю ломаешь голову почему что то не работает, а как находишь косяк так это одна маленькая штучка как например в этом примере. Но все конечно лучше знаю т как правильно писать код, вот их бы взяли и вов в гору пошел

Aov7.NATREZIM

  • Старожил
  • ***
  • Сообщений: 1992
  • Nil sub sole novum

  • Варкрафт: +
    • Имя: Twons
    • Класс: Маг
    • Сервер: Draenor
Все такие умные и знающие, инди-компания, инди-компания.
Но явно никто не сталкивался сам с разработкой, и не знает что чем больше компания и чем больше продукт, тем сложнее найти место где проявляется ошибка, а тем более такие неочевидные проблемы, порой ты неделю ломаешь голову почему что то не работает, а как находишь косяк так это одна маленькая штучка как например в этом примере. Но все конечно лучше знаю т как правильно писать код, вот их бы взяли и вов в гору пошел
нет, мы сталкивались, они пол года это чинили, пол года карл! сложней найти? у них целый отдел тестеров (спешу напомнить что тестеры не пилят новый код и им некогда проверить всё всё всё - нет, их задача проверять проверять и проверять) а может и несколько, но в релиз проскакивают такие нелепые баги что ппц + тесты игроков и фидбек
So why, I ask, it just doesn't make much sense
That a man of my stature should have to wear a dress
I mean what, may I inquire, were you thinking on that day
When you conjured up for a man like me a robe that looks so gay

darnas50

  • Лучший автор
  • Старожил
  • *
  • Сообщений: 1178
  • Семья, друзья, еда — остальное неважно…

  • Варкрафт: +
    • Класс: Маг
    • Сервер: Борейская тундра
Ну давайте хвалить Близзард за каждую ошибку и покупать маунта из магазина. Ой у вас нет столько денег...
Хейтеры? Защита!

Lesoro

  • Ветеран
  • ****
  • Сообщений: 6919
Все такие умные и знающие, инди-компания, инди-компания.
Но явно никто не сталкивался сам с разработкой, и не знает что чем больше компания и чем больше продукт, тем сложнее найти место где проявляется ошибка, а тем более такие неочевидные проблемы, порой ты неделю ломаешь голову почему что то не работает, а как находишь косяк так это одна маленькая штучка как например в этом примере. Но все конечно лучше знаю т как правильно писать код, вот их бы взяли и вов в гору пошел
нет, мы сталкивались, они пол года это чинили, пол года карл! сложней найти? у них целый отдел тестеров (спешу напомнить что тестеры не пилят новый код и им некогда проверить всё всё всё - нет, их задача проверять проверять и проверять) а может и несколько, но в релиз проскакивают такие нелепые баги что ппц + тесты игроков и фидбек
То есть ты думаешь, что тестеры всё время "проверяют и проверяют" основной клиент игры, а не то, что разрабатывается?
Ну да ну да, сидят Близзард, пилят 8.3 и 9.0, а внутренние тестеры вместо их проверки сидят и 8.1.5 проверяют после того, как он уже 2 месяца на лайве.

Dart Raiden

  • Старожил
  • ***
  • Сообщений: 2443

  • Варкрафт: +
    • Класс: Друид
    • Сервер: Борейская тундра
у них целый отдел тестеров
Тестеры не ищут причину багов, для этого нужен доступ к исходному коду и программист, способный этот код читать и отлаживать.
Тестеры ищут наличие багов. В описываемом случае баг уже найден в прошлом году, на кой тут тестеры? Проблема была в том, чтобы найти конкретный код, который неверно обрабатывает такую ситуацию. Соответственно, понадобилось полгода, прежде чем у программистов нашлось время это сделать.

Либо проблема в том, что багу поставили слишком низкий приоритет, либо программистов маловато.
« Последнее редактирование: 03 Июля, 2019, 10:57:22 by Dart Raiden »

Aov7.NATREZIM

  • Старожил
  • ***
  • Сообщений: 1992
  • Nil sub sole novum

  • Варкрафт: +
    • Имя: Twons
    • Класс: Маг
    • Сервер: Draenor
Все такие умные и знающие, инди-компания, инди-компания.
Но явно никто не сталкивался сам с разработкой, и не знает что чем больше компания и чем больше продукт, тем сложнее найти место где проявляется ошибка, а тем более такие неочевидные проблемы, порой ты неделю ломаешь голову почему что то не работает, а как находишь косяк так это одна маленькая штучка как например в этом примере. Но все конечно лучше знаю т как правильно писать код, вот их бы взяли и вов в гору пошел
нет, мы сталкивались, они пол года это чинили, пол года карл! сложней найти? у них целый отдел тестеров (спешу напомнить что тестеры не пилят новый код и им некогда проверить всё всё всё - нет, их задача проверять проверять и проверять) а может и несколько, но в релиз проскакивают такие нелепые баги что ппц + тесты игроков и фидбек
То есть ты думаешь, что тестеры всё время "проверяют и проверяют" основной клиент игры, а не то, что разрабатывается?
Ну да ну да, сидят Близзард, пилят 8.3 и 9.0, а внутренние тестеры вместо их проверки сидят и 8.1.5 проверяют после того, как он уже 2 месяца на лайве.
сказали же - это система была обновлена, обновление никто не проверял? на горячем гораздо легче отловить баги
So why, I ask, it just doesn't make much sense
That a man of my stature should have to wear a dress
I mean what, may I inquire, were you thinking on that day
When you conjured up for a man like me a robe that looks so gay

Lesoro

  • Ветеран
  • ****
  • Сообщений: 6919
Все такие умные и знающие, инди-компания, инди-компания.
Но явно никто не сталкивался сам с разработкой, и не знает что чем больше компания и чем больше продукт, тем сложнее найти место где проявляется ошибка, а тем более такие неочевидные проблемы, порой ты неделю ломаешь голову почему что то не работает, а как находишь косяк так это одна маленькая штучка как например в этом примере. Но все конечно лучше знаю т как правильно писать код, вот их бы взяли и вов в гору пошел

нет, мы сталкивались, они пол года это чинили, пол года карл! сложней найти? у них целый отдел тестеров (спешу напомнить что тестеры не пилят новый код и им некогда проверить всё всё всё - нет, их задача проверять проверять и проверять) а может и несколько, но в релиз проскакивают такие нелепые баги что ппц + тесты игроков и фидбек

То есть ты думаешь, что тестеры всё время "проверяют и проверяют" основной клиент игры, а не то, что разрабатывается?
Ну да ну да, сидят Близзард, пилят 8.3 и 9.0, а внутренние тестеры вместо их проверки сидят и 8.1.5 проверяют после того, как он уже 2 месяца на лайве.

сказали же - это система была обновлена, обновление никто не проверял? на горячем гораздо легче отловить баги

Читай внимательнее оригинальный синий пост: Обновлен был код для использования базы данных.
База данных, если что, задевает ВСЕ части игры. Абсолютно все.
Обновление, очевидно, проверяли и ни одну тысячу раз, потому-что если бы этого не сделали, у тебя бы, скорее всего, не запустилась бы игра.
И да, баг был обнаружен и отрепорчен достаточно быстро, и разработчики о нём узнали скорее всего уже давно, т.е. дело тут не в тестерах.
Часто найти баг проще всего, а вот понять, в чём его причина - гораздо сложнее.
В первую очередь баг надо воспроизвести. Затем ещё и найти в коде ошибку. Затем устранить её. Потом провести повторный тест. И всё это отнимает время. А багов тысячи. И большинство из них гораздо более критические и именно фикс критических багов приоритетнее. При этом фикс одного бага часто порождает за собой 5 новых багов, это даже хуже гидры, у которой вырастает всего две головы вместо одной.

К слову, вот интересная статья про крайне необычные причины багов в играх: https://dtf.ru/gamedev/32215-pylesosy-i-chasy-razrabotchiki-rasskazali-o-samyh-neobychnyh-prichinah-bagov-v-svoih-igrah

К слову, возвращаясь к посту с хотфиксами и "неграмотным" описанием одного квеста - то, что баги (ошибки) сейчас так высоко тиражируются в сети не значит, что на деле все, кто ознакомился с багом в посте на реддите встретили этот баг в игре.
Отсюда и выстраиваются приоритеты фиксов - в зависимости от того, как сильно и на какое количество игроков влияет баг, выстраивается приоритет.
Тут даже интересно - Aov7.NATREZIM, ты сам знал про этот баг? Он тебе мешал играть? Я вот о нём не знал, хотя трансмоги менял несколько раз за это время.
« Последнее редактирование: 03 Июля, 2019, 11:25:49 by Lesoro »

 

закрыть