Пропустити не можна пофіксити: баги в іграх і чому їх не уникнути

Пропустити не можна пофіксити: баги в іграх і чому їх не уникнути Фото 0

Баги — це дефекти й збої, що впливають на досвід користувача, без яких рідко обходиться будь-який програмний продукт. Ніде правди діти, навіть в іграх VOKI Games трапляються ці дрібні шкідники, попри багатоетапне тестування професіоналами. 

Деякі з багів невинні й викликають лише усмішку, інші призводять до катастрофічних наслідків для іміджу розробників. Далі ми розповімо про класифікацію багів, роботу тестувальників і про те, чому баги таки доходять до кінцевого користувача. 

Що таке баги в грі: цілі тестування продукту 

Кожна гра є компіляцією різного програмного коду. Вона підпорядковується математичній моделі й містить купу функціональних елементів. Багами називають непередбачувані наслідки коду та інші неприємності, що більшою чи меншою мірою впливають на ігровий процес. 

Виявлення «жучків», саме так перекладається англійське слово bugs, — основна мета тестування продукту. Воно проводиться не лише перед релізом гри, а й під час мажорних (із серйозними змінами) і навіть мінорних (із незначними виправленнями та доповненнями) оновлень, щоб команда розробників могла знайти баги, проаналізувати їх та усунути (себто пофіксити). 

Недоліки має кожен продукт, особливо перші версії, які, переживши лише тестування, ще не піддавалися вивченню звичайними користувачами. Проблема в тому, що ігровий код — це мільйони та мільярди функцій і сценаріїв, передбачити взаємозв’язок яких дуже складно, а отже, фактично баги ніяк не можна унеможливити. 

Пропустити не можна пофіксити: баги в іграх і чому їх не уникнути Фото 1

Тож давайте трохи змінимо думку, озвучену абзацом раніше. Мета тестування продукту — пошук критичних багів, які унеможливлюють використання гри. Тобто дрібні збої можуть залишитися, і це нормально як для розробників, так і для гравців, а ось критичну помилку пропустити зась.

Тестування ігор: особливості роботи тестувальників 

У ролі ентомологів, які виловлюють програмних комах, виступають тестувальники. Це фахівці, які знають, як шукати баги в іграх, що працюють за спеціальними тест-кейсами. Для тестувальника важливими є певні якості: 

  • логічне мислення; 
  • уважність і посидючість; 
  • добра пам’ять; 
  • адаптованість до завдань; 
  • мультифункціональність.

Тестувальники шукають баги в іграх з позиції кінцевого користувача, саме від них залежить, наскільки якісною буде програма і чи залишаться в ній критичні помилки. При цьому потрібне знання хоча би базових принципів програмування, технологій розробки програмного забезпечення та скриптових мов. 

Результати спостережень і випробувань тестери заносять до звітів і надсилають команді. Особисто вони ніяк не впливають на код і його якість, але дають змогу розробникам отримати повноцінне бачення ситуації та вжити заходів для покращення продукту. 

Пропустити не можна пофіксити: баги в іграх і чому їх не уникнути Фото 2

Як шукати баги в мобільних іграх 

Тестування мобільних ігор — багатоетапний процес, особливості якого залежать не тільки від рівня програми, а й від її реалізації. Якщо говорити коротко, то випробування ігор проводять так: 

  • Береться скинутий до заводських налаштувань пристрій. 
  • Перевіряється білд, тобто конкретна збірка ПЗ, та її версія. 
  • Вивчається завантажувальний екран і головна сторінка програми. 
  • Аналізується коректність різних пунктів меню, працездатність кнопок і наявність критичних багів. 
  • Перевіряється механіка геймплею та робота звуку, обов’язково тестуються функції збережень та прив’язки до соцмереж.

У поміч тестувальникам — численні сценарії, які відтворюють різні умови роботи. Наприклад, для залежних від інтернету ігор тестування проводиться у стресових умовах. Тестувальники стежать за тим, що відбувається під час просідання швидкості, перепідключення до мережі, її недоступності протягом певного часу. Так відбувається і з іншими аспектами розважального ПЗ. 

Пропустити не можна пофіксити: баги в іграх і чому їх не уникнути Фото 3

Кожна проблема, знайдена тестувальниками, заноситься до звіту разом із даними про ситуацію, що призвела до неї, прояви збою та оцінкою ризиків. Так, тестувальник повинен вміти оцінювати рівень серйозності проблеми, щоб команда розробників могла грамотно розставити пріоритети. 

Одну і ту саму гру можуть тестувати місяцями й навіть роками, якщо йдеться про величезний проєкт. Найчастіше на тести відводять 1–2 місяці, цього цілком достатньо для усунення основних уразливостей до випуску гри. 

Рівні та категорії багів 

Щоб наочно показати команді ступінь серйозності бага, тестування ігор відбувається за чітко заданими критеріями. При цьому кожній знайденій помилці присвоюється рівень. Усього є п’ять варіантів серйозності багів: 

  1. Блокуюча (Blocker). Найстрашніша для геймдеву вада, яка повністю «ламає» гру, призводить її до неробочого стану. У документації позначається як S1 і є обов’язковою для виправлення до продовження тестів. 
  2. Критична (Critical). На рівні S2 помилки так само мають найвищий пріоритет для команди, оскільки зачіпають цілий сегмент. Ефекти таких помилок найрізноманітніші: збої ігрової логіки, відсутність захисту ігрових даних, руйнування цілого шару функціональності. 
  3. Значна (Major). Потребує виправлення, але тестування можна продовжувати через інші вхідні точки. Найчастіше статус S3 надається помилкам, у яких частина основної ігрової логіки працює неправильно. Наприклад, заподіяння шкоди лікує супротивника, опонент не вмирає після закінчення шкали здоров’я і таке інше. 
  4. Незначна (Minor). За таких помилок логіка гри не порушена, але є проблеми з дизайном. Найчастіше баги S4 належать до порушень інтерфейсу користувача. 
  5. Тривіальна (Trivial). Найбільш незначна похибка, що належить до категорії S5. Вона не впливає на фінальний продукт і найчастіше стосується сторонніх сервісів чи внутрішньої механіки. Користувачі взагалі не стикаються з помилкою, тому такі баги слабо фіксуються. 

Пріоритетом для команди є блокуючі та критичні помилки, значні загрози теж виправляють. Мінорні баги часто залишаються в релізних версіях — їх фіксують у регулярних оновленнях. 

Пропустити не можна пофіксити: баги в іграх і чому їх не уникнути Фото 4

Крім рівня серйозності, баги поділяються на категорії залежно від типу помилки:

  • графічні — пов’язані із зображенням на екрані, зокрема відсутністю текстур, обрізкою ділянок картинки та іншими «артефактами»; 
  • аудіальні — неправильне озвучення, порушення рівнів гучності, збої звуків; 
  • дизайн рівнів — до зазначеної категорії входять проблеми з геометрією, невидимі стіни, провали в полігонах; 
  • штучний інтелект — персонажі неправильно реагують на команди, у грі порушено баланс сил, відсутній вхід у ділянки, передбачений геймплеєм; 
  • фізика — відсутня модель ушкоджень, порушено закони гравітації, некоректно зображаються рухи; 
  • стабільність — додаток «фризить» і «крашиться», рівні та ділянки не провантажуються, гра зависає; 
  • продуктивність — до цього розділу входять баги, пов’язані з просіданням частоти кадрів — ФПС (англ. FPS — frame per second) на потужних пристроях, тривалим завантаженням ділянок, періодичним підвантаженням даних; 
  • нетворкінг — усі помилки, пов’язані з мережевим з’єднанням. Це і регулярні розриви зв’язку із сервером, і високі пінги, і лаги під час стандартних ігрових дій. 

Геймтестувальники послідовно опрацьовують кожну категорію гри та складають один повноцінний звіт. За його підсумками розробники визначають пріоритетні пункти та працюють над покращенням програми. 

Користувачі = тестувальники: як недоробки потрапляють у маси 

Після виходу більшості ігор починається шквал повідомлень про виявлені користувачами баги. Отже, постає питання: невже не можна все виправити до релізу, на альфа- й бета-стадіях тестування? Така ситуація має кілька причин: 

  1. Тестувальники працюють за сценарієм. У кожного випробувача є чеклист, за яким він шукає помилки й фіксує їх у спеціальному місці. Таким чином, тестування стандартизоване, і багато ситуацій, в які може потрапити звичайний гравець, просто не виникають. 
  2. Баги лагодить команда. Тестувальники лише документують недоліки гри та передають їх у вигляді звітів. Фактично завданням тестерів є перевірка роботи команди, визначення напрямів роботи та аналіз ризиків на випадок, якщо баг залишиться в коді.
  3. Розробники йдуть на компроміс. Блокуючі та критичні помилки фіксуються у пріоритетному порядку, але проблеми з текстурами, моделями та інтерфейсом другорядні. Команді краще опрацювати фічі й покращити сильні сторони, ніж займатися правкою малозначущих, з їхнього погляду, багів. Тому в реліз часто пускають гру з кумедними або докучливими помилками. 

Розробники завжди мають дедлайн, якого потрібно дотримуватись, тому більшу частину тестування передають гравцям. Це як відкритий тест в альфа- і бета-версіях, так і використання релізного варіанта гри, в якому користувачі часто знаходять недоліки. 

Якщо тестувальники працюють над виявленням критичних похибок, то користувачі здатні реалізувати найбожевільніші сценарії. Їхня ефективність набагато вища, але, на жаль, через відсутність системного підходу фіксувати такі баги можуть місяцями. 

Пропустити не можна пофіксити: баги в іграх і чому їх не уникнути Фото 5

Найскандальніші баги геймдеву 

Періодично геймерська спільнота вибухає новинами та гнівними повідомленнями про недоопрацьованість ігрових продуктів. Насправді все виявляється не так погано, а наявні недоліки неквапливо і ґрунтовно фіксують у процесі оновлень. Але є й своєрідні баголідери, які стали продуктом непередбачуваності коду та поспішного релізу: 

Cyberpunk 2077. Так, цей «шедевр» з Кіану Рівзом у світі майбутнього точно може претендувати на верхні рядки в рейтингах забагованості. Крім некритичних, але кумедних збоїв текстур, механіки поведінки персонажів і непромальованих спрайтів, відразу після релізу виникли серйозніші проблеми. 

Пропустити не можна пофіксити: баги в іграх і чому їх не уникнути Фото 6

Машини телепортувалися, ключові персонажі починали циклічно ходити, не реагуючи на користувача, а сама гра нещадно фризила та вилітала. Методом оновлень і латок багато проблем вже прибрали, але реліз був справді провальним.

Пропустити не можна пофіксити: баги в іграх і чому їх не уникнути Фото 7

Fallout 76. Ми звикли вважати цю гру легендарною та революційною, але відразу після виходу у світ вона була справжнім розсадником багів. 

Монстри зображались зі спотвореннями, сервери постійно виходили з ладу, а багоюзери ставали ігровими богами. Протягом кількох років гру довели до ладу, але все ж таки Bethesda втратила багатьох учасників через жахливу якість реліз-версії.

Пропустити не можна пофіксити: баги в іграх і чому їх не уникнути Фото 8

Gothic 3. Легендарна RPG, що завершує трилогію, отримала шикарний світ і скрупульозно опрацьованих персонажів із приголомшливими квестами. Але про оптимізацію розробники геть забули, що й призвело до технічного провалу. Гра постійно вилітала та гальмувала, з початкової локації через порожнечі в текстурах могли вийти лише одиниці, а ігрова механіка була абсолютно сирою. І хоча розробникам вдалося довести продукт до нормального стану патчами, досі фанати серії полірують її аматорськими латками. 

Пропустити не можна пофіксити: баги в іграх і чому їх не уникнути Фото 9

Навіть серед легендарних ігор є провальні тайтли, які запам’яталися всім. Але варто відзначити, що такі ситуації найчастіше виникають в іграх з відкритим світом і проробленою механікою — встежити за всім не можуть навіть професіонали. Водночас казуальні жанри рідко мають критичні помилки, але творці все одно випускають періодичні оновлення. 

Баги, що плавно переходять у фічі 

Підсумок підіб’ємо своєрідно: баги можуть стати фічами. Серйозно, це хоч і не відбувається повсюдно, однак трапляється в геймдеві. Варто згадати бодай баг із поведінкою поліцейських у Grand Theft Auto, які не об’їжджали гравця, а намагалися проїхати крізь нього. Копи-психопати сподобалися розробникам і користувачам, міцно увійшовши до наступних ігор серії. 

Легендарна «розстрибка» теж спочатку була багом, який з’явився в Quake. Її залишили й в інших іграх (наприклад, Counter-Strike), оскільки запустити режим швидкого руху могли далеко не всі гравці, а сам він не був убер-плюшкою. Те саме стосується і рокетджампу, який був помічений випадково, коли гравець вистрілив ракетою собі під ноги. Так народилася оновлена ​​механіка, яку досі юзають прогеймери. 

Пропустити не можна пофіксити: баги в іграх і чому їх не уникнути Фото 10

Таким чином, ігровий процес не обходиться без багів, які можуть бути як серйозними проблемами, так і невинними нюансами. Над зменшенням кількості помилок працюють цілі команди тестувальників, а також обробляється зворотний зв’язок від гравців після релізу. Але все одно баги іноді проскакують і навіть перетворюються на фічі, це теж варто враховувати.

Підписуйтесь на наші сторінки у Facebook та Instagram, щоб першими дізнаватися цікаві факти про розробку мобільного ПЗ.