Рогатка з Бальдра, некультурні жести та політ дерев’яної колоди. Як влаштовано God of War за кадром

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

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

Низку статей, присвячену закадровій організації віртуальних світів, розпочне вступна частина God of War 2018 року. Ми дослідили проєкт від початку до першої зустрічі з Броком. Завдяки матеріалу стане відомо про Бальдра-рогатку, приховані нецензурні жести та вміння фахівців з Santa Monica Studio жонглювати увагою гравців. Отож, починаємо.

Одразу попередимо про спойлери. В статті покроково згадуються різні моменти з початкового етапу проходження God of War, тому без розкриття сюжету не обійтися.

Все, що потрібно — під текстурами

Стартуємо зі сцени, де Кратос готується до похорону своєї дружини Фей. Головний герой обрав височенне дерево, щоб зрубати його та використати для поховального вогнища. У цей момент під текстурами знаходиться вже готова колода, вкорочена з двох боків. Коли дерево впало на землю, камера великим планом фокусується на Кратосові. А в цей момент за кадром відбувається підміна. Готова колода з’являється в ігровому світі, а величезне дерево переміщується на її місце під текстурами.





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

Коротенька прогулянка, й ось ми біля човна, де розпочинається справжня затекстурна «магія». Кратосу з сином потрібно прив’язати колоду до свого дерев’яного транспорту, щоб відвезти її додому. Весь процес відбувається в заставці, і коли вона починається, під текстурами з’являються три невеличкі мотузки — дві звичайні й одна з гаком. А тепер уважно слідкуємо за маневрами майстрів з Santa Monica Studio.

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

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

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

У Кратоса в цей час з’являється останній шматок шнура — той, що з гаком. Декілька імітаційних рухів, які мають запевнити гравця, що закріплення завершилося, і головний герой копняком відправляє колоду у воду. Вона ніяк не прив’язана, а мотузка, яка стирчить позаду човна, закінчується, ледве заходячи в воду. Та й навіщо кріпити те, що за мить зникне? Так-так, як тільки Кратос сідає за весла, колода розчиняється в ігровому світі. Подивитися назад у цей момент не можна, отож зникнення ніхто не помітив.




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

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

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




У цей час в приміщенні не було додаткових джерел освітлення. Його випромінювала свічка в руках хлопця та інші, які він запалив поруч з тілом матері. Фей лежала, загорнута в простирадло, проте всередині немає моделі персонажа — там лише пустота. Закінчивши молитву, Атрей схилився і заплакав, тоді ж у дверях з’явився Кратос.

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

Схоже, через цю площину та шейдери розробники з Santa Monica задали зміну освітлення. Це дозволило підкреслити акцент похмурої появи Кратоса у дверях. Коли він ступив декілька кроків у напрямку тіла Фей, спереду включилося ще одне джерело світла. Імітувалися м’які сонячні промені, які нібито проникали через вікно у стелі.

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




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

Чесні битви та хитрий олень

Вперше виходимо на локацію, де є певна свобода пересування. І тут можна відзначити декілька загальних тез про будову God of War. Елементи оточення у грі вантажаться поступово разом з пересуванням персонажа, що характерно для багатьох проєктів. Коли ми літали за кадром, то спостерігали, як на ходу виникають деякі текстури, вмикаються додаткові джерела освітлення та з’являються тіні.

Одночасно з оточенням задаються місця для кристалів лікування, колекційних предметів та скринь. З останніх часто випадає валюта, мішечки з якою з’являються безпосередньо під час відкриття. Швидше за все, кількість отриманих монет генерується випадково у момент взаємодії.

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




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

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

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




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

Якщо драугр з’являється за спиною Кратоса чи десь на височині за кадром, звідки зіскакує на арену, то це відбувається миттєво. І переважно противників телепортують у світ саме так. Проте невелика частина ворогів виникає перед камерою, і тоді процес вже супроводжується анімацією вилізання з-під землі та відповідними візуальними ефектами.

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

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

А от під час п’ятої зустрічі вже за будівлею храму відбулася фірмова катавасія. Коли Атрей поцілив у звіра стрілою і добив його ножем за допомогою батька, почалося перше зіткнення з тролем. Його помістили в ігровий світ God of War на місце, де до цього сяяв оранжевий знак. Схожі символи були й на тілі ворога. Цілком можливо, що мітка вказувала на точку, де повинен матеріалізуватися троль.

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




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

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

Закадровий погляд на найвидовищнішу битву

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

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




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

Лише за мить до виходу головного героя з дому син Одіна ожив, розім’явся та повернувся, бо весь час стояв під прямим кутом до будинку. Кратос відчинив двері, і в ту ж мить спартанця осяяло додаткове блідо-синювате світло. Його джерело висіло зверху над персонажами й нагадувало кулю, принаймні під певним ракурсом. Варто було протагоністу ступити декілька кроків вперед, як двері самостійно зачинилися. А разом з цим зникло й додаткове освітлення.

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

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

Схоже, всі дії потрібні були, щоб використати фізику рушія і відправити противника Кратоса в політ. Бо коли послідовність відбулася, син Одіна відскочив назад, а тоді декількома ривками піднявся в повітря і стрибнув на дах будівлі. Тут він завмер на мить, а тоді відштовхнувся і знову відправився в політ, намагаючись приземлитися на головного героя. Цього разу фокуси з моделлю героя не знадобилися.

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

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

Серія ударів, і син Одіна знову виявився сильнішим. Після однієї з атак суперника протагоніст проломив велику брилу каміння і вгрузнув в ній. Принаймні так здається при стандартній камері. За кадром помітно, що прогалина з’явилася якраз перед тим, як в неї залетіла модель Кратоса. Тобто розробники змінили оточення, замаскувавши це візуальними ефектами. А одразу після цього прохід завалило валунами, які виникли в повітрі прямо над ним.

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

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

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

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

Противники схопилися руками й почали боротися, змінюючи навколишній ландшафт. А тоді Бальдр вчергове запустив спартанця в політ, причому дуже високо, і стрибнув слідом. В повітряній дуелі теж переміг син Одіна, який ударом відправив головного героя у новостворену прірву. Кратос зачепився за стіну Левіафаном та почав вилазити. Тим часом Бальдр зависнув у небі в позі «крутого хлопця». Його телепортували на землю за мить до того, як піднявся протагоніст.





В останні хвилини сутички спартанець схопив ворога у горизонтальному положенні. Їхні моделі за кадром декілька разів розтягнули схожим чином, як це відбулося раніше з Бальдром, та перемістили ближче до прірви. Зрештою Кратос задавив ворога та нібито скинув на дно. Насправді тіло сина Одіна пройшло через текстури й телепортувалося на декілька метрів нижче, прийнявши дуже цікаву позу, яку можна побачити на зображені. Схоже, Бальдра не влаштувала поразка й він вирішив показати всьому Мідгарду два середні пальці.

Кратос дочвалав додому, щоб дістати Атрея зі сховку, хоча хлопець зник з ігрового світу ще на початку бою. Це вже нормальна практика для розробників. Його повернули, коли спартанець увійшов в будинок. А от Клинків Хаосу, які нібито весь час лежать у секретному місці в домі, насправді немає. Схоже, вони з’являться, коли настане відповідний момент проходження. Та зараз головне, що Бальдр в нокауті, й можна відправлятися на гору розвіювати попіл Фей.

Перипетії під час зіткнення з гномом

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

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

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

Доходимо до кам’яного валуна, який перегородив шлях до навісного мосту. Поки головний герой його підіймав, син побіг вперед. У цей момент хлопця чомусь видалили з ігрового світу і повернули через чотири секунди. Це було дивне рішення, тому що раніше Атрея прибирали, коли цього вимагала сцена або дозволяв момент. Наприклад, син Кратоса довго знаходився за кадром.

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

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

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

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

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

Тварина Брока загородила прохід, бо боїться рухатися далі. Атрей пропонує кинути Левіафан в найближчі кущі. Якщо підлетіти до них камерою, то відбувається дещо дивне. Моделі рослинності зникають, і ніякого ворога на тому місці немає. Проте в заставці після кидка сокири імітується, немов з кущів хтось втік. Таке враження виникає завдяки хитанню дерев та відповідному звуковому супроводу.

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

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

Коли закривається меню, Брок говорить про повернення ворога в кущах. Насправді там знову нікого не було. Зате у мить, коли Кратос обертався поглядом в сторону моста, там за скриптом з’явився масивний драугр. Це нібито він лякав тварину Брока. Розпочався бій, в якому до першого ворога приєдналися й інші.


На цьому моменті закінчуємо першу частину дослідження God of War за кадром. Нам вдалося побачити купу цікавих хитрощів розробників — від фокусів з мотузками до колоди, що самостійно летіла в повітрі. Діліться враженнями про матеріал в коментарях та напишіть, чи хочеться прочитати продовження? Чи можливо краще обрати іншу гру наступного разу? Чекаємо на ваші відгуки.

Підписуйтеся на Telegram-канал @gamedev_dou, щоб не пропустити найважливіші статті і новини

👍ПодобаєтьсяСподобалось6
До обраногоВ обраному2
LinkedIn


Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

на ютубі є купа випусків boundary break, кому цікаво

Розумію, та ми вирішили самостійно провести таке дослідження. Сподіваємося, вийшло цікаво

я тільки за. дякую за внесок в ігрову науку

Дякуємо, що прочитали))

Підписатись на коментарі