По рейках чому все те, що вам подобалося в half - life, насправді було таємним поїздом

По рейках: чому все те, що вам подобалося в Half # 8209; Life, насправді було таємним поїздом

По рейках чому все те, що вам подобалося в half - life, насправді було таємним поїздом
По рейках чому все те, що вам подобалося в half - life, насправді було таємним поїздом

Більш ніж 15 років тому побачив світ Half # 8209; Life, отримавши оглушливий комерційний успіх і суспільне визнання. Це гра про. насправді відповідь залежить від того, кому ви задаєте це питання. Для кого-то це гра про Гордона Фрімена, рядового фізика, вимушеного виживати в секретному урядовому дослідницькому центрі після інопланетного вторгнення. Для кого-то це гра про німого социопата, який вбиває все що рухається і переміщається за допомогою стрибків в нападі люті. Якщо говорити цинічно, то Half # 8209; Life це просто ще одна гра про стрибки і стрілянину для переходу на наступний рівень.

І нутрощі Half # 8209; Life кажуть, що все помиляються. Half # 8209; Life це не гра про Чорну Месу, Гордона Фрімена, постріли в голову і головоломки. Half # 8209; Life, по суті своїй, гра про. поїзди.

По рейках чому все те, що вам подобалося в half - life, насправді було таємним поїздом
По рейках чому все те, що вам подобалося в half - life, насправді було таємним поїздом

Half # 8209; Life починається з семихвилинному рутинної поїздки на роботу. Вир життя Чорної Меси обертається навколо монорельса: товариші по службі поспішають встигнути на роботу, електронавантажувачі снують по технічним тунелях, вертоліт на холостому ходу очікує пасажирів. Це канонічна і часто повторювана сцена.

Ця глава спочатку була більше технічної демонстрацією, ніж майстерною подачею атмосфери. За словами сценариста Valve Марка Лейдлоу, початок цьому поклав новий ігровий об'єкт, доданий програмістами, названий func_tracktrain. На відміну від свого простенького попередника func_train. прийшов разом з вихідними кодами Quake, func_tracktrain може бути запущений на великій кількості path_track. галузитися на кілька різних шляхів, повертати і розвертатися. Щоб продемонструвати всі ці можливості програміст попросив Лейдлоу внести десь в сценарій використання func_tracktrain. Марк по своєму витлумачив це прохання і задався питанням: які можливості можуть відкритися, використовуючи поїзд?

1. Переходи за рівнями

Перша глава Half # 8209; Life складається з шести різних карт, що завантажуються як тільки ви перетинаєте певну точку на маршруті. На той час Half # 8209; Life була першою грою, яка представила безшовну технологію завантаження рівнів, без проміжних екранів. Гравець міг повертатися назад по картах і навіть комп'ютерні персонажі могли разом з гравцем переходити з карти на карту. Сьогодні багато ігор використовують щось типу попереднього завантаження, коли движок в тлі починає готувати дані наступної карти в міру наближення гравця до точки переходу, що дозволяє значно зменшити час завантаження рівнів. В Half # 8209; Life такого немає, але і його технології досить гарні.

2. Проблеми з батьками

Двері вагончика транспортної мережі - фальшивка, яка є частиною стіни вагона і не може бути відкрита. Движок Half # 8209; Life не підтримує призначення батьківського об'єкта, тому дизайнери не можуть прив'язати працюючу двері до функцій поїзда (func_tracktrain). Точно також можна зробити скляні вікна, інших пасажирів або навіть просто розкидати якесь сміття. Єдиний обхідний прийом - відразу помістити гравця в вагон, тоді працює двері і не буде потрібна.

3. Переміщення

Щоб повідомити функції func_tracktrain. куди потрібно переміщатися, дизайнери рівня розміщують мережу послідовно з'єднаних вузлів (path_track). У кожного вузла задано власне унікальне ім'я і вказано ім'я наступного вузла. Коли працює func_tracktrain. вагончик рухається по цих вузлів в заданому порядку. Якщо раптово щось йшло не так, то швидше за все була помилка в налаштуваннях одного з сотень path_track вузлів. Це була нудна робота.

4. Близнюки

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

6. Vis-a-Vis

Змієподібні вигини і структура «прохід-кімната-прохід», служили прекрасним способом для приховування великої кількості об'єктів, коли ігровий движок намагається уникати марнотратною промальовування невидимою погляду навколишнього оточення. Навіщо витрачати ресурси на прорахунок того, що заховано за стіною? Дизайнери Valve заздалегідь вираховували зону видимості (потенційно видимий набір, PVS), що відповідала за те, що можна побачити з однієї кімнати в іншу. Якщо можна було зруйнувати якусь із стін, то ви побачили б дивну картину. Саме тому тільки в декількох іграх є справжній руйнується світ.

7. Кінець шляху

Отже, двері в вагончику була фальшивкою, яка не відчинялися, але в кінці глави охоронець магічним чином відкриває її. Як? Виверт Valve була геніальною: коли вагон прибуває в кінцеву точку, гра бесшовно завантажує нову карту з цим же приміщенням, але з підмінений вагоном, у якого в стіні пророблена дірка в формі двері, а рухається двері це ще один func_tracktrain. Хто сказав, що вагони завжди повинні бути в формі вагонів? Це легендарний трюк серед творців модов для Half # 8209; Life: він показує як розробники з Valve використовували одну незв'язану систему для виправлення інший.

По рейках чому все те, що вам подобалося в half - life, насправді було таємним поїздом
По рейках чому все те, що вам подобалося в half - life, насправді було таємним поїздом

Глава Затримання (Apprehension) - півдорозі на американських гірках Half # 8209; Life. В середині цього похмурого «водного» рівня присутній сцена з акулячої кліткою, взятої з якогось фільму жахів. Коли гравець входить в клітку, щоб підібрати арбалет, вона стрімко падає в воду басейну, де нарізає кола смерті іхтіозавр. Потяги, раптово, і тут залишили свій слід, згадуйте, потяги не обов'язково схожі на себе.

1. Напрямна

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

2. Граф з вузлами

NPC в Half # 8209; Life дуже схожі на поїзди, в основному вони пересуваються по заздалегідь визначеному шляху. Але замість path_track дизайнер повинен використовувати точки info_node. які автоматично зв'язуються з найближчими вузлами в паутіноподобний «граф з вузлами». Щоб знайти дорогу кудись, штучний інтелект розглядає всі можливі зв'язки між вузлами і будує маршрут. В описаній сцені Valve розташувала велика кількість точок маршруту іхтіозавра так, щоб він знаходився під прикриттям містка, з якого гравець міг вести прицільний вогонь не спускаючись в воду. Добре сплановані графи дозволяють штучного інтелекту не виглядати дурним в будь-якій грі.

3. Підняти приманку

У арбалеті знаходиться всього п'ять стріл. Щоб вбити іхтіозавра на легкому або середньому рівні складності, необхідно чотири стріли. На важкому - вісім. Це означає, що гравець може собі дозволити промахнутися всього один раз зі зброї, яким ніколи не користувався, по монстру, з яким ніколи не стикався. Щоб полегшити це завдання, гравець трохи раніше розгадує загадку з видобутком важливих боєприпасів - гранат для подствольника MP5, які не приносять користі проти іхтіозавра, але працюють як приманка, для отримання гравцем 20-ти додаткових стріл до ще невідомому зброї.

Ключовим об'єктом у цій кімнаті є акуляча клітка з арбалетом, підвішена на платформі. Коли гравець проходить по балці і зістрибує в клітку, вона ламається і падає в воду. Клітка це, насправді, func_tracktrain. переміщається по смузі вузлів path_track. які направляють «поїзд-клітку» вниз зі швидкістю приблизно 6,5 метрів в секунду.

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

ну принаймні так було задумано. Швидше за все тестувальники намагалися відкрити двері за 6-8 секунд, а потім швидко прослизнути в відкрилася щілина, не звертаючи уваги на нишпорити монстра, який намагається вбити їх. Щоб не допустити такої ситуації, Valve додали невидимий тригер перед колесом, що сповіщає іхтіозавра, що гравець намагається втекти і переводить монстра в бойовий режим.

Технічно це обман з боку розробників, але обман вважається таким, тільки якщо вас зловили за ним.

6. Літаюча акула

Код monster_ichthyosaur насправді заснований на коді, який використовується для літаючих монстрів. І правда, що таке плавання, що не політ, але під водою? Тому, якщо вважати, що NPC в дійсності поїзда (див. Граф з вузлами), то ми можемо вважати іхтіозавра клепки в голові смертоносним літаючим поїздом-акулою.

7. Веселощі з бульбашками

З огляду на чудову здатність тонути у воді в Half # 8209; Life, на рахунку кожна секунда проведена під її поверхнею. Щоб допомогти гравцеві знайти шлях, навіть у брудній і каламутній воді, Valve використовують стовпи яскравих бульбашок повітря, спливаючих вгору, тому що людське око легко відстежує такий рух. Вони часто використовували бульбашки в підводних частинах для залучення уваги до тунелів, проходах або кишенях, в яких гравець міг вибратися на повітря.

Сайт вигадав, створив і підтримує в поточному вигляді Юрій Цуканов.

А ви мені допомагаєте.