Геймдев
#статьи

Почему двери в играх так сложно сделать и как с этим справляются разработчики

Иногда легче сделать игру вообще без дверей.

Иллюстрация: Катя Павловская для Skillbox Media

Есть множество механик, сложность реализации которых может довести разработчиков до истерики. Но двери в трёхмерной игре — это просто какое-то издевательство. Казалось бы, что может быть проще? Дверей полно в нашей жизни. Они устроены максимально просто. Вот дверной проём в стене, вот дверь. Вот дверная ручка. Тут как с плюмбусом из «Рика и Морти». У каждого дома есть такая. Объяснять, как она работает и как устроена, не надо.

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

Что не так с игровыми дверями

Во-первых, в трёхмерных играх не действуют наши законы физики. Все объекты, которые вы видите в игре, бесплотные и могут проходить сквозь друг друга. И не всегда помогает даже обозначение их физических границ при помощи хитбокса (тела, использующегося для проверки объекта на столкновения).

Что произойдёт, если при открытии двери на её пути окажется игровой или неигровой персонаж? Гипотетически, ударившись о него, она должна либо просто остановиться, либо отскочить назад. Но подобное поведение надо предусмотреть на уровне кода. Либо дверь должна правдоподобно отрабатывать свою физику, либо разработчикам стоит как-то иначе решить этот вопрос.

Скриншот: игра Half-Life / Valve

Проблему с дверями отлично иллюстрирует первая Half-Life. Там дверь просто откатывалась в исходное состояние, если была лёгкой. Либо, если она была тяжёлой, — наносила урон объекту, оказавшемуся у неё на пути. Для этого у неё был параметр Blocking Damage. А в некоторых ситуациях по какой-то причине простая дверь могла и убить Фримена.

С параметром Blocking Damage, кстати, связан один известный баг, которым пользуются спидранеры. В конце главы «Поверхностное натяжение» есть две двери, которые должен открыть охранник Барни. И параметр Blocking Damage в них выставлен не на «1», а на «−1». То есть происходит не (health —1), а (health —(−1)). Минус на минус даёт плюс. Здоровье не убавляется, а прибавляется. Если оно в этот момент полное, то увеличивается параметр брони, как на видео ниже.

Как это работает

Параметр здоровья в первой Half-Life использует целочисленный тип данных (int32). Максимальное значение этого типа — 2 147 483 647. И при помощи этой двери Гордон действительно может довести своё здоровье до этого числа. Правда, ради этого придётся побыть зажатым дверью 576 часов, то есть 24 дня.

Точно не ясно, почему разработчики сделали дверь исцеляющей. По одной из версий, во время ранних тестов Барни постоянно застревал в ней и погибал. Так как он важен по сюжету, разработчики решили изменить параметр урона у двери с «1» на «−1». Но с тем же успехом можно было указать, что дверь наносит «0» урона. Дверь в этом случае тоже не убивала бы Барни. Но и здоровье герою она не прибавляла бы. Возможно, разработчики просто забыли про эту деталь, когда готовили игру к релизу.

И это лишь один пример того, как разработчики попытались решить проблемы застревания объекта в двери и к чему это привело. На самом же деле этот вопрос гораздо более комплексный. Лучше всего его сформулировала геймдизайнер Лиз Ингленд, работавшая над Watch Dogs: Legion, Sunset Overdrive и Resistance 3. На англоязычных ресурсах по разработке игр часто ссылаются именно на её разбор Дверной Проблемы.

Пусть и в шуточной форме, но Лиз Ингленд объясняет, почему создание такого простого объекта порой требует усилий трёх десятков разных специалистов игровой индустрии — от программиста искусственного интеллекта и художника по окружению до дизайнера интерфейсов и художника по визуальным эффектам. Хотя, конечно, решать, как будет работать дверь в игре, должен лишь один специалист.

«Это классическая дизайнерская проблема. Кому-то надо решить Дверную Проблему, и этот кто-то — дизайнер».

Лиз Ингленд,
геймдизайнер

Вот лишь некоторые из более чем 20 вопросов, на которые должен ответить геймдизайнер:

  • Откуда появляются враги? Они выбегают из дверей? Двери после этого запираются?
  • Как игрок открывает дверь? Он просто подходит к ней — и она сдвигается в сторону? Или она распахивается? Надо ли игроку нажать кнопку, чтобы дверь открылась?
  • Дверь закроется за игроком?
  • Что произойдёт, если у вас два игрока? Закроется ли она лишь после того, как оба пройдут через неё?
  • А если один игрок стоит в дверном проёме, другой сможет пройти сквозь него?
  • Если уровень большой и не может весь существовать в одно и то же время, что произойдёт, если один игрок пройдёт в дверь, а другой останется позади? Пол (да и весь уровень) под оставшимся исчезнет?
  • Насколько большой должна быть дверь, чтобы игрок мог пройти сквозь неё?
  • Сколько спутников сможет пройти за вами в дверь и не застрять?
  • Что насчёт мини-боссов, которые крупнее игрока? Им надо пролезать сквозь дверь?

Авторы разных игр отвечают на эти вопросы по-разному. Иногда разработчики решают, что им проще совсем не делать дверей. В игре «Мор. Утопия» 2005 года в домах, например, редко можно было встретить межкомнатные двери. А входные были лишь триггером, который при нажатии кнопки действия загружал нужную локацию.

В ремейке 2019 года «Мор» (Pathologic 2) интерьеры кажутся продолжением уличных пространств. Однако, судя по всему, игре всё равно нужно время, чтобы подгрузить их. Поэтому дверь всегда закрыта. Когда игрок подходит к ней и нажимает кнопку действия, он на секунду теряет управление: персонаж сам открывает дверь, проходит и сразу закрывает её за собой.

А в ролевой игре Elex 2017 года дверей нет в принципе, за исключением некоторых сюжетных. Даже на тюремной клетке, где сидит провинившийся персонаж, нет двери — встань и иди. Иногда можно увидеть, что роль двери играют NPC, которые стоят в дверном проёме и блокируют вход.

Странная клетка без двери
Скриншот: игра Elex / Piranha Bytes

Но всё же отказ от дверей это, скорее, радикальное решение. Чаще всего разработчики пытаются найти какой-нибудь наиболее щадящий режим взаимодействия с ними. В недавно вышедшей Banishers: Ghosts of New Eden через дверь можно пройти, только если нажать кнопку действия. Даже если герой бежит, он остановится, и запустится анимация, как персонаж открывает дверь и спокойно проходит через неё.

Кстати, обратите внимание, что в ролике выше дверь можно открыть в обе стороны. В реальности такое редко встретишь, но в играх это упрощение используется повсеместно.

Дело в том, что дверь, открывающаяся на игрока, требует свободного пространства в комнате, в которой он находится. То есть ему придётся отойти назад. А что случится, если он не отойдёт? В зависимости от реализации поведения, дверь либо просто не откроется, либо сдвинет игрока куда-то, где он быть не должен, либо пройдёт сквозь него, либо ударится о него и остановится, либо ударится о него и снова закроется, либо ударится, остановится и будет ждать, пока игрок не отойдёт, чтобы завершить анимацию… Тут уж разработчикам надо решить, как поступить в такой ситуации.

Скриншот: игра Gone Home / Fullbright

Ну и, кроме того, дверь открывающаяся на себя, требует отдельной анимации и замедляет игрока. Сквозь неё не пробежишь, спасаясь от противника. Вот почему даже в тех играх, которые пытаются выглядеть реалистично, двери делают нереалистичными, открывающимися в обе стороны, как, например, в Gone Home.

«Правильно работающая дверь на самом деле одна из самых сложных вещей в игре, и я знаю, что с ними всё ещё существуют некоторые ошибки. Это удивительно сложная проблема. Вот почему в большинстве видеоигр двери при открытии съезжают в сторону, в пустоту, или открываются странным образом, или, знаете, не позволяют вам полностью взаимодействовать с ними.

Но, конечно, в реалистичном доме, как в Gone Home, важно, чтобы всё было как можно более естественным.

Единственная уступка, которую мы сделали видеоиграм, заключается в том, что двери открываются в обе стороны, чего никогда не бывает в реальном доме. Это необходимо, чтобы игрок не загнал себя в ловушку».

Комментарий программиста Gone Home Йоннеманна Нордхагена в режиме игры с включёнными сообщениями от разработчиков

А ещё в Gone Home двери почему-то очень толстые
Скриншот: игра Gone Home / Fullbright

Говоря о Gone Home, нельзя не отметить, что в паре комнат дома всё-таки есть сдвигающиеся в стену двери. Забавно то, что с технической точки зрения они скорее… этакие выдвижные ящики от стола.

«Все раздвижные двери, которые вы видите в игре, на самом деле, с точки зрения кода, являются выдвижными ящиками. Когда я сделал предмет, который мог бы скользить по такой дорожке, для изготовления выдвижных ящиков, Стив (Стив Гейнор, сооснователь Fullbright Company. — Авт.) взял его и, как это обычно делают дизайнеры, использовал в своих целях и придумал раздвижные двери в нашей игре».

Комментарий программиста Gone Home Йоннеманна Нордхагена в режиме игры с включёнными сообщениями от разработчиков

Resident Evil 2 (2019)

В играх серии Resident Evil, начиная с четвёртой части, двери открываются в обе стороны и всегда в сторону от игрока. Но если в четвёртой части надо было ещё нажать кнопку действия (а если резко нажать два раза, то герой откроет дверь с ноги), то с седьмой части дверь открывается сама, когда персонаж подходит к ней вплотную. Из-за этого для игрока она, скорее, просто визуальное препятствие. Физически её наличия не ощущаешь.

Resident Evil VIllage

Нельзя обойти стороной и хорроры от Frictional Games, знаменитые своей механикой реалистичного взаимодействия с объектами. Если надо открыть дверь, игрок как бы хватает её курсором и, двигая мышкой, постепенно открывает так же, как это делается и в реальном мире.

Кажется, что эта механика перешла в Amnesia: The Dark Descent из более ранней Penumbra без изменений. Но на самом деле её доработали.

Скриншот: игра Amnesia: The Dark Descent / Frictional Games

Представьте две ситуации из реальной жизни. Первая: вы резко распахнули дверь, и она, ударившись о стену, снова захлопнулась. Вторая: вы сильно толкнули дверь шкафа, чтобы закрыть, а она ударилась так сильно, что снова распахнулась. Вот что-то похожее происходило с дверями и в Penumbra, из-за чего спасаться бегством от противников было нелегко. В Amnesia этот момент поправили. Дверь в распахнутом или закрытом состоянии фиксируется в своём положении, как только вы её отпустите.

«Различия незначительные, по сравнению с Penumbra, но они сильно упрощают использование дверей. В Amnesia, если за вами гонится монстр, вы можете открывать и закрывать их, чтобы выиграть дополнительное время. В Penumbra попытка убежать от монстра в комнату часто приводила к смерти».

Frictional Games,
разработавшая Amnesia: The Dark Descent, в комментарии на официальном форуме

В ролике мы то открываем дверь, то закрываем. Она не отскакивает от стен и полностью под нашим контролем. Кстати, Amnesia: The Dark Descent — это одна из редких игр, где двери двигаются в одну сторону

Порой двери портят нервы разработчикам совсем уж неожиданными способами. Самый известный такой случай был при создании дополнения Blood and Wine для The Witcher 3: Wild Hunt. Однажды команда обнаружила, что по какой-то причине абсолютно все двери в игре отперлись. Спокойно пройти можно было даже через те, которые должны были открываться исключительно по сюжету.

«Мы долго не могли понять, в чём же дело. Это было ужасно, потому что в некоторых домах не было пола, и когда игрок входил в них, то просто проваливался в пустоту. Это делалось в целях оптимизации, ведь нет смысла наполнять контентом дом, в который нельзя войти».

Майлз Тост,
левел-дизайнер, работавший над The Witcher 3: Wild Hunt

Скриншот: игра The Witcher 3: Wild Hunt / CD Projekt RED

Что интересно: когда на локации ставят дом, дверь к нему автоматически не прилагается. Её разработчики ставят отдельно. Так что, играя в «Ведьмака 3», помните, что каждая дверь там была установлена и настроена вручную. Из-за этой особенности команде пришлось точно так же вручную проверить их все.

Оказалось, что проблема была в квесте со штурмом замка Дун Тынне. Команда, работавшая над ним, не хотела, чтобы игроки отвлекались от экшена, поэтому запретила Геральту входить в какие-либо лишние двери. Вернее… разработчики сделали так, что на время квеста все двери в мире запираются, а когда квест завершается, все двери отпираются обратно. Но игра-то не знает, какая дверь изначально была заперта и должна оставаться запертой в дальнейшем. Поэтому она без разбора открывает вообще все двери в мире игры.

«Решение этой проблемы было довольно горьким. Квест-дизайнеру пришлось пройти через все двери в игре и вручную расставить тег: „Эта дверь была заперта ранее и должна оставаться запертой после“».

Майлз Тост,
левел-дизайнер, работавший над The Witcher 3: Wild Hunt

В Half-Life 2 добавление поддержки VR создало проблему в самом начале — в сцене, где Барни стучит в дверь и охранник с другой стороны открывает её. При игре в VR она почему-то сразу закрывалась обратно и… всё. Это делало прохождение невозможным.

Оказалось, что, добавляя VR в игру, разработчики использовали новую версию компилятора. У него была немного другая точность вычислений. Дверь в этой сценке распахивается под действием физики. И когда она полностью открывается, физика выключается. Но был нюанс: на пути двери находилась часть охранника, стоявшего с той стороны. Самый краешек хитбокса выступал куда не надо, и дверь всегда цеплялась за него.

Раньше это проблем не вызывало, потому что дверь была тяжёлой и, задевая хитбокс охранника, сдвигала его. Однако с новым компилятором дверь стала лёгкой и, ударившись о хитбокс охранника, сама отскакивала от него и закрывалась вновь.

Та самая дверь, которая не хотела работать правильно
Half-Life 2 VR Mod / Valve, источник: 99TH VR

В 2021-м в соцсети X (бывший Twitter) появился целый тред, в котором разработчики разных игр жаловались на то, как нелегко им далась реализация дверей в своих играх. Начал его разработчик постапокалиптической RPG Death Trash Стефан Хёвельбринкс. Он пожаловался, что двери сложно использовать в играх и они могут содержать все возможные ошибки. Также они блокируют систему поиска пути, потенциально могут быть заперты или даже разрушены. Тут надо понимать, что каждая потенциальная возможность требует отдельной логики.

«Поэтому, когда небольшой инди-разработчик добавляет двери в свою первую игру, включающую боевые и небоевые ситуации, а также несколько систем управления и перемещения, это очень больно».

Стефан Хёвельбринкс,
разработчик Death Trash

Автор хоррора Project Nightmares Case 36: Henrietta Kedward, в свою очередь, рассказал, как в его игре организовано взаимодействие с дверью, когда с другой её стороны оказался противник.

Если враг находится ближе к двери, чем персонаж игрока, то у него появляется приоритет на то, чтобы открыть её, в противном случае дверь можно заблокировать.

Скриншот: игра Project Nightmares Case 36: Henrietta Kedward / NC Studio

Затронули в треде и тему того, насколько уникально сделаны двери в The Last of Us Part 2, где герой не просто взаимодействует с ними, а правдоподобно двигается, открывая их при разных ситуациях и из разных положений.

Как работает с дверями The Last of Us Part 2

The Last of Us Part 2 известна своей невероятно отточенной анимацией. Если игрок решил открыть дверь, то она не распахнётся сама по себе волшебным образом — персонаж будет взаимодействовать с ней с помощью дверной ручки. Удивительно то, что ему в этом случае не надо вставать в определённую позу, из которой начнётся нужная анимация. Всё произойдёт естественным образом, независимо от того, стоит ли герой у двери, сидит ли рядом с ней, повёрнут ли к ней боком, хочет ли он пробежать сквозь неё, заняты ли у него руки оружием и так далее.

Пример того, как работает анимация в сочетании с дверью в The Last of Us Part 2

За анимацию в The Last of Us Part 2 отвечает система Motion Matching, создающая плавный переход из одного движения в другое. Она разделяет их на отдельные кадры, а потом выбирает те, что лучше всего сочетаются, и собирает из них новую анимацию, подходящую под позу и траекторию движения героя.

При этом за то, чтобы ладонь из любой позиции всегда правильно хваталась за ручку, отвечает инверсная кинематика. Упрощённо говоря, она определяет, как суставы в руке должны согнуться, чтобы ладонь оказалась в нужной точке или оставалась в ней какое-то время.

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

Скриншот: игра The Last of Us Part 2 / Naughty Dog

Отлично выглядит и то, как на бегу при открытии двери персонаж плавно подстраивается под неё, будто налегает своим телом.

«Это синхронизированная анимация. Но мы позволяем игроку прервать её уже на 8–10 кадре при помощи стика (речь о стике на геймпаде, отвечающем за передвижение героя. Остаток незавершённой анимации торса персонажа плавно переходит в другую анимацию. — Авт.).

Инверсная кинематика помогает руке зафиксироваться на дверной ручке, пока остальная часть тела входит или выходит. Таким образом Motion Matching берёт на себя управление корпусом [персонажа], сравнивает позу и угол наклона стика и позволяет вам начать движение уже в последнем кадре контакта с дверной ручкой, пока верхняя часть корпуса ещё не завершила анимацию прохождения сквозь дверной проём».

Максим Журавлёв,
старший аниматор Naughty Dog

Что касается самой двери, то, распахнувшись на 70°, она вновь становится физическим объектом, который естественным образом реагирует на столкновение с окружением — может отскочить назад или удариться о персонажа. Поэтому она так естественно ведёт себя, когда вы пробегаете сквозь дверной проём.

Также о том, как работают двери в The Last of Us Part 2, рассказал гейм-директор Naughty Dog Курт Маргенау. Он сфокусировался на том, как главный герой закрывает дверь. Это необходимо делать, чтобы не попасться на глаза противнику, когда проходишь локацию скрытно. Также закрытая дверь замедляет противника. Но разработчикам надо было решить, как персонаж будет закрывать за собой дверь, если идёт бой и он бежит. Сделать это с использованием проработанной анимации не так-то просто.

«Мы сделали семь прототипов, позволяющих игроку вручную закрывать за собой дверь. Все они были неудачные. Мы пробовали механику с удерживанием нажатой клавиши и прочие странные схемы. А как анимировать это? Не хочется, чтобы [из-за незавершённой анимации закрытия двери] игрок не мог отойти от двери, когда ему надо бежать. Короче говоря, во время боя двери автоматически медленно закрываются. Это лучший вариант для игрока».

Курт Маргенау,
гейм-директор Naughty Dog

В небоевых ситуациях дверь остаётся открытой, благодаря чему игрок видит, откуда пришёл главный герой. Всего в The Last of Us Part 2 можно встретить около 40 типов дверей. И каждой из них требовался свой риггинг (создание скелета внутри модели, отвечающего за движение персонажа или объекта). Также разработчик добавил, что дверь открывается в обе стороны, но всегда от игрока, потому что так быстрее и это не мешает ему двигаться. Поэтому двери моделировали с двойными петлями, чтобы объяснить, почему они распахиваются в обе стороны.

Дверная проблема в VR

Сложность реализации механики открывания дверей кратно возрастает, когда дело касается игр в виртуальной реальности. Особенно, если речь о проектах вроде Half-Life: Alyx, где, чтобы открыть дверь, надо взяться за ручку, повернуть её и только после этого потянуть на себя.

В 2019 году в технологическом институте DigiPen программист Керри Дэвис, участвовавший в разработке Portal, Half-Life, Team Fortress, Counter-Strike и Half-Life: Alyx, прочитал лекцию о том, как в Valve решили проблему дверей в виртуальной реальности.

Первая проблема, с которой столкнулись разработчики, — во время теста игроки просто не могли открыть дверь. Изначально она распахивалась лишь в одну сторону, но понять, в какую, было трудно.

Скриншот: игра Half-Life: Alyx / Valve

По умолчанию в VR ваша виртуальная рука находится в той же позиции, что и реальная. Она следует за ней. На деле же виртуальная рука может отдалиться от позиции реальной руки на значительное расстояние, прежде чем игрок заметит, что что-то не так. Связано это с тем, что игрок на самом деле понятия не имеет, где находится его рука в реальности. Он уверен, что она там же, где и виртуальная.

Представим ситуацию. Есть дверь, которую надо открывать на себя. Если игрок попытается сначала открыть её от себя, то он сделает движение реальной рукой вперёд. Дверь не откроется, и игрок поймёт, что открывать надо всё-таки на себя. И вот он делает движение назад, и… дверь опять не открывается. Игрок думает, что она просто заперта, и идёт дальше. Почему так происходит? Дело в том, что в этой ситуации, когда игрок сначала пытается толкнуть дверь, а та не открывается, реальная и виртуальная рука оказываются далеко друг от друга. Виртуальная — всё ещё на дверной ручке. Реальная — по другую сторону двери. Поэтому реальной руке надо сначала вернуться в позицию виртуальной руки, а уже потом вместе с ней двигаться назад, чтобы открыть дверь. Но игрок этого не понимает, ведь виртуальная-то рука там, где и должна быть.

«Он думает, что всё, что надо сделать, — это немного потянуть дверь на себя. На самом же деле (так как его рука за дверью) этого движения уже недостаточно, чтобы открыть дверь».

Керри Дэвис,
один из создателей Half-Life: Alyx

В этом случае можно использовать визуальные подсказки, в какую сторону распахивается дверь. Некоторые из них в Half-Life: Alyx, например, уже приоткрыты в нужную сторону, благодаря чему игрок сразу понимает, толкать надо или тянуть.

Если же хочется обойтись без подсказок, тогда дверям надо просто позволить открываться в обе стороны. По словам Керри Дэвиса, большинство игроков в этом случае сделают так, как им удобно, и даже не поймут, что по-другому тоже можно было. А если потом они обнаружат это, то лишь приятно удивятся. Например, в этом прохождении блогер открывает дверь от себя. А вот здесь ту же самую дверь уже другой блогер открывает, потянув на себя.

Добавим, что в наборе Half-Life: Alyx Workshop Tools, позволяющем делать свои уровни для игры, есть параметр Open Direction, который и определяет, будет дверь открываться в обе стороны, только вперёд или только назад. И в документации разработчики рекомендуют для реализма всё-таки делать двери, открывающиеся лишь в одну сторону.

Скриншот: игра Half-Life: Alyx / Valve

В Half-Life: Alyx практически каждая дверь оборудована нажимной фалевой ручкой. Её анимация синхронизирована с ладонью игрока. При повороте на 90° замок открывается. Всё как в жизни. Казалось бы, механику даже объяснять не надо, ведь все знают, как работает такая дверная ручка.

Однако при тестах игроки просто хватались за ручку и, не поворачивая её, пытались сразу открыть дверь.

«Мы не можем ожидать, что опыт взаимодействия в реальном мире игроки автоматически используют в VR. Опытные игроки знают, что технологии ещё не достигли того уровня, когда мы можем точно имитировать весь реальный мир в виртуальном пространстве. У неопытных игроков нет ожиданий, поэтому они ничего не пробуют и не могут продвинуться вперёд».

Керри Дэвис,
один из создателей Half-Life: Alyx

Скриншот: игра Half-Life: Alyx / Valve

Выход, который нашли разработчики, — показать, как работает механика. Если игрок хватается за дверную ручку, у виртуальной кисти запускается коротенькая анимация, как она на мгновение поворачивает её вниз. Игроки в этот момент уверены, что они сами сделали такое движение, и понимают, как надо действовать.

Аналогичным образом можно дать подсказку, что дверь заперта, — при помощи анимации руки, которая дёргает ручку, а та не поддаётся. Впрочем, решение двух этих вопросов не избавляет разработчиков VR-игр от дверной проблемы. Ведь надо ещё решить, когда дверь можно считать открытой достаточно, чтобы игрок мог пройти. Будет ли дверь, открывающаяся в обе стороны, запираться в мгновение, когда полностью закроет дверной проём?

Ещё один важный вопрос — что произойдёт, если попытаться закрыть дверь, когда в проёме стоит NPC? В обычных играх дверь может просто игнорировать нажатие на кнопку действия, пока NPC не уйдёт. Но в VR игрок сам двигает дверь. Ответ на все эти вопросы при разработке должны дать геймдизайнеры.

Подписывайтесь на наш телеграм-канал «Чекпоинт». Это уютное место, в котором мы рассказываем об играх и о том, как они создаются, а также делимся полезными советами разработчиков и пишем о важных обновлениях популярного софта. Комментарии открыты: вы можете предложить идею для нового текста или просто обсудить всё, что связано с геймдевом.

Проверьте свой английский. Бесплатно ➞
Нескучные задания: small talk, поиск выдуманных слов — и не только. Подробный фидбэк от преподавателя + персональный план по повышению уровня.
Пройти тест
Понравилась статья?
Да

Пользуясь нашим сайтом, вы соглашаетесь с тем, что мы используем cookies 🍪

Ссылка скопирована