вторник, 18 декабря 2018 г.

Повтори 24 раза — и сломаешь игру!

Звучит как заклинание, не так ли? 
Но ведь оно работает!

Эту историю моя коллега Ольга Алифанова постоянно рассказывает студентам. Случай из ее опыта тестирования игр:

Если подменить пакет дешевого барахла на дорогое через артмани, в клиенте будет виден дорогой предмет, но сервер знает правду, другие игроки через обмен или аукцион увидят правду. Но! Если 24 раза положить его на склад и забрать обратно, сервер начнет верить клиенту. Вот как игрокам это в голову пришло? А они этот баг нашли. И в итоге сломали экономику сервера.

Просто абстрактный аукцион из интернета

Теперь немного поясню:


ArtMoney — спецпрограммка для читерства в игре, позволяет отловить пакет или найти нужный, и подменить его. Широко используется в сингл-играх, чтобы бабла себе нарисовать и не бегать полуголым Smile :) 

В мультиплеере мало применимо, но вот додумались до такого.

Экономику это сломало, потому что рынок перенасыщен. Чем выше предложение, тем ниже цена, потому что иначе спрос останется там же, где и был в равновесном положении, а предложение вырастет, и начнутся излишки товара.

Тут так же. Когда дорогих предметов для заточки на рынке мало, они остаются дорогими. Их мало, это редкий ресурс. А когда у каждого барана их сто штук в рюкзаке, это сбивает рыночную цену и ломает экономику игры.

==========================================

Это шикарный пример исследовательского тура «Обсессивно-компульсивный тур, или тур невротика. The Obsessive-Compulsive Tour». А то ведь наверняка тур вызывает скепсис «да зачем повторять действия, если 2 раза не привело к багу, то больше и не надо, ничего не сломается». А вот ведь, ломается!

Тестировщики и разработчики локализовали баг — да, он зависел именно от количества раз "положил, забрал обратно". Это я предвижу сомнение, что «причина была в другом, а подумали на эту». Причина именно в повторе.

А вот как поймать такой баг? На самом деле разве что случайно, или если робота настроить тур невротика повторять всю ночь. Потому что никогда не угадаешь, какое действие, повторенное N раз, уговорит Пентагон сдаться.

Другой вариант — ловить баги сразу в продакшене. Видишь, что экономика рушится, значит, дыру какую-то пропустили ¯\_(ツ)_/¯

Правда, это не лучший метод ))) Но увы, иногда только он и срабатывает...

PS — добавила пост в общую копилку багов.

Комментариев нет:

Отправить комментарий