Pull to refresh
1945
221.2

Переводчик-фрилансер

Send message

Работа с видео в Full Throttle Remastered

Reading time8 min
Views8.1K
The Full Throttle Remastered logo


Full Throttle — это point-and-click адвенчура, выпущенная компанией LucasArts ещё в двадцатом веке, 30 апреля 1995 года. В дополнение к стандартному визуальному стилю геймплея point-and-click тех времён (спрайты персонажей движутся на статичном фоне) в игре также присутствовало FMV-видео в неинтерактивных катсценах и в интерактивных режимах игрового процесса. Эта технология FMV ещё больше усилила сюжетный аспект жанра, потому что позволила создателям использовать отрендеренные компьютером последовательности кадров, не требующие большой нагрузки на процессор. К тому же сжатые FMV занимали меньше пространства и помещались на целевой носитель — CD-ROM объёмом примерно 650 мегабайт.

В классической версии Full Throttle использовалась видеотехнология, разработанная сотрудником LucasArts Винсом Ли под названием INSANE. INSANE расшифровывается как INteractive Streaming ANimation Engine («движок интерактивной потоковой анимации»). Впервые она была создана и использована в Star Wars: Rebel Assault. Технология усовершенствовалась и применялась также в более поздних играх:

  • Star Wars: Rebel Assault (ноябрь 1993 года)
  • Full Throttle (апрель 1995 года)
  • Star Wars: Rebel Assault II (ноябрь 1995 года)
  • The Dig (ноябрь 1995 года)
  • Outlaws (март 1997 года)
Читать дальше →

Создаём собственный физический 2D-движок. Часть 1: основы и разрешение импульсов силы

Reading time14 min
Views73K
image


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

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

В этой части туториала мы рассмотрим следующие темы:

  • Простое распознавание коллизий
  • Генерирование простого многообразия
  • Разрешение импульсов силы

Как рендерит кадр движок Unreal Engine

Reading time23 min
Views58K


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

Поскольку у нас есть доступ к исходному коду, мы можем изучить исходники рендерера, чтобы понять, что он делает, однако это довольно объёмная часть движка, а пути рендеринга сильно зависят от контекста, поэтому проще будет исследовать чистый низкоуровневный API (иногда заглядывая в код, чтобы заполнить пробелы).
Читать дальше →

Эволюционные вычисления: учим табуретку ходить

Reading time15 min
Views40K
image


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

История графических адвенчур

Reading time24 min
Views18K


Space Quest. Day of the Tentacle. Gabriel Knight. Monkey Island. У игроков определённого возраста простое упоминание этих названий вызывает воспоминания о целом мире игр, теперь почти утерянном.

На современном рынке графические адвенчуры с трудом борются за место под солнцем, но когда-то они год за годом были на вершине списков бестселлеров. Жанр взлетел на пик компьютерного гейминга во второй половине 1980-х, и испытал столь же резкое падение десятком лет позже. Он определил печальную судьбу крупнейших компаний в индустрии игр, даже несмотря на то, что примитивная графика игр стала фоном миллионов детских воспоминаний. Адвенчуры дали нам Роджера Вилко, Сэма и Макса, а также целый мир Myst. Но сегодня только немногие геймеры знают историю жанра целиком, или о том, как классические игры Sierra и LucasArts конца 1980-х и начала 1990-х исчезли под натиском шутеров от первого лица.

Я расскажу, как мы добрались от King's Quest до The Longest Journey и о том, почему это важно. Чтобы добраться до конца этой истории, вам не потребуется использовать текстовый парсер, объединять два загадочных предмета из инвентаря для решения безумной головоломки или заниматься пиксель-хантингом по всему экрану.
Читать дальше →

Реверс-инжиниринг игры Strike Commander

Reading time10 min
Views9.8K
В начале 90-х на переднем крае прогресса PC-гейминга находилась одна компания: Origin Systems. Её слоганом был «Мы создаём миры» и, чёрт возьми, они ему соответствовали: серии Ultima, Crusader и Wing Commander потрясли воображение игроков.

На создание одной из игр ушло четыре года и больше миллиона человеко-часов: Strike Commander. Знаменитый лётный симулятор имел собственный 3D-движок под названием RealSpace, в котором впервые появились технологии, сегодня воспринимаемые как должное: наложение текстур, затенение по Гуро, изменение уровня детализации и дизеринг цветов.

Мой старой мечтой было поиграть в неё в шлеме виртуальной реальности. Благодаря Oculus Rift эта фантазия стала ещё на один шаг ближе к реальности.

Но, как оказалось, исходный код игры был утерян и никогда не будет выпущен, поэтому я решил выполнить обратную разработку.

На момент публикации этой статьи мой проект ещё не закончен, но я хочу поделиться техниками, позволившими мне сделать из этого:



вот это:



… и, возможно, вдохновить кого-нибудь присоединиться к моему приключению.

Создание платформера для виртуальной консоли TIC-80

Reading time16 min
Views14K

8 Bit Panda, игра для вымышленной консоли TIC-80.

Это пост о том, как я написал 8-bit panda, простой платформер в классическом стиле для вымышленной консоли TIC-80.

Поиграть в готовую игру можно здесь.

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

Я выбрал TIC-80, потому что она бесплатна и активно разрабатывается, имеет более широкое соотношение сторон экрана (240x136), чем PICO-8 и может выполнять экспорт на множество платформ, в том числе HTML, Android и двоичные файлы для PC.

В этой статье я расскажу, как я написал для TIC-80 простой платформер 8 Bit Panda.
Читать дальше →

Секреты разработчика, продавшего полмиллиона копий игр

Reading time6 min
Views29K
bit blaster xl


За время нашей получасовой беседы Адам Никерсон, он же Nickervision Studios, по крайней мере дюжину раз повторил разные вариации фразы «На самом деле я не знаю, как делать видеоигры». Однако ему удалось в одиночку продать полмиллиона копий своих игр для PC.

Вероятно, вы ни разу не слышали, например, о Bit Blaster XL, но в Steam она разошлась тиражом 260 000 копий. Адам разработал её в одиночку всего за две недели. Её продолжение, которое близится к такому же успеху, было разработано за 75 часов.

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

Пиксельное приключение: создаём клон Lemmings в Unity

Reading time13 min
Views15K

Введение


Думаю, я не единственный в детстве играл на Amiga в Lemmings. Прошли десятилетия, и я стал, среди всего прочего, разработчиком игр, ведущим канал на Youtube с туториалами по Unity.

Одним вечером я наткнулся на эти два видео (часть1 , часть 2) Майка Дейлли о воссоздании Lemmings с помощью Game Maker 2. Во мне разгорелась ностальгия и я решил что-нибудь с ней сделать. Поэтому я начал создавать собственную версию в Unity с использованием собственных ресурсов (по очевидным причинам).

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

Кроме того, здесь можно поиграть в проект на WebGL. Возможны баги.

Сложность проекта заключалась в воссоздании ощущений и механик Lemmings. В том числе обеспечение pixel-perfect-коллизий при перемещении по уровню множества персонажей, которые могут изменяться в зависимости от своих умений.
Читать дальше →

Дизайн UI в играх на примере NieR:Automata

Reading time6 min
Views29K
image


Привет, меня зовут Хисаёси Кидзима, я дизайнер UI и мехов для NieR:Automata. Игровой UI (интерфейс пользователя) часто остаётся незамеченным, поэтому я рад услышать, что фанаты нашли дневник разработчиков NieR:Automata и спросили о моей работе!

Когда директор NieR:Automata Йоко Таро работает над играми, он всегда чётко знает, чего хочет, и UI не стал исключением. Я хочу рассказать вам о моей работе над UI для NieR:Automata, а также о тех заданиях, которые мне давал Йоко-сан.

Структура и случайность простых чисел

Reading time22 min
Views40K

Разбросаны ли простые числа по числовой оси подобно рассеянным ветром семенам? Разумеется нет: простота — это не вопрос случайности, а результат элементарной арифметики. Число является простым тогда и только тогда, когда ни одно меньшее положительное целое число кроме единицы не делит его нацело.

Но на этом история не заканчивается. Распределение простых чисел выглядит случайным, с неравномерными разрывами и скоплениями, которые выглядят довольно хаотично. Если и существует какая-то схема, то она непостижима. На самом деле, простые числа выглядят достаточно случайными, чтобы можно было сыграть с ними в кости. Создайте список последовательных простых чисел (допустим, начав с 11, 13, 17, 19,... ) и разделите их по модулю 7. Другими словами, разделите каждое простое число на 7 и сохраните только остаток. Результатом будет последовательность целых чисел из множества {1, 2, 3, 4, 5, 6}, которая выглядит почти как результат нескольких бросков правильной кости.

$\begin{align*}
 11 \bmod 7 & \rightarrow 4 \qquad 47 \bmod 7 \rightarrow 5 \\
 13 \bmod 7 & \rightarrow 6 \qquad 53 \bmod 7 \rightarrow 4 \\
 17 \bmod 7 & \rightarrow 3 \qquad 59 \bmod 7 \rightarrow 3 \\
 19 \bmod 7 & \rightarrow 5 \qquad 61 \bmod 7 \rightarrow 5 \\
 23 \bmod 7 & \rightarrow 2 \qquad 67 \bmod 7 \rightarrow 4 \\
 29 \bmod 7 & \rightarrow 1 \qquad 71 \bmod 7 \rightarrow 1 \\
 31 \bmod 7 & \rightarrow 3 \qquad 73 \bmod 7 \rightarrow 3 \\
 37 \bmod 7 & \rightarrow 2 \qquad 79 \bmod 7 \rightarrow 2 \\
 41 \bmod 7 & \rightarrow 6 \qquad 83 \bmod 7 \rightarrow 6 \\
 43 \bmod 7 & \rightarrow 1 \qquad 89 \bmod 7 \rightarrow 5 \\
 \end{align*}$

Читать дальше →

Пишем движок трёхмерного ретро-шутера с нуля

Reading time15 min
Views35K

Мне всегда нравились классические шутеры от первого лица 90-х. Я часами просиживал за моим 386-м, играя Doom, потрясённый тем, как кому-то удалось написать код, отрисовывающий на моём экране 3D-графику в реальном времени с отличным разрешением 320x200. Я немного знал программирование (только что начал изучать BASIC), поэтому осознавал, что глубоко внутри это всего лишь куча математики и байтов, записываемых в видеопамять. Но в то время даже массивы для меня были довольно сложным понятием, поэтому я не мог даже начать постигать всю сложность 3D-рендеринга.

В то время все писали 3D-движки с нуля, потому что другого способа не было. Но сегодня написание логики 3D-рендеринга с нуля скорее всего окажется плохой идеей. Очень плохой. Почти как изобретение колеса! При наличии огромного количества 3D-движков и библиотек, намного более хорошо протестированных и оптимизированных, чем то, что вы можете сделать сами, нет никаких причин для разумного разработчика начинать писать собственный движок.

Если только…

Представьте, что вы можете вернуться в машине времени назад в 90-е, когда ещё не было OpenGL и DirectX, не было видеопроцессоров. Всё что у вас есть — ЦП и экран, заполненный пикселями. Вам всё придётся писать самому.

Если эта идея кажется вам интересной, то вы не одиноки: это именно то, что можно сделать на такой выдуманной консоли, как TIC-80.
Читать дальше →

Ищем сокровища в исходном коде Aladdin

Reading time34 min
Views36K
image


На момент своего выхода в 1993 году Disney’s Aladdin на Sega Genesis (или Mega Drive, если в начале 90-х вы жили с другой стороны лужи) была удивительно красивой игрой.

Благодаря использованию технологии, которая позже стала известной, как Digicel, правильному выбору промежуточного ПО и впечатляющему таланту авторов Aladdin смогла выделиться на фоне других игр Genesis той эпохи. Красивая нарисованная от руки графика Aladdin установила новую планку качества для того, чего можно добиться на «железе» Genesis. Это стало возможным не с помощью особенно интересных растровых эффектов или тайных аппаратных приёмов, а благодаря сочетанию эффектной графики, дизайна и правильно выбранной технологии.

Эта уникальная смесь графики и технологий стала основной причиной, позволившей игре Aladdin занять особое место в истории видеоигр. Поэтому мне так радостно было найти архив с полным исходным кодом игры в коллекции Video Game History Foundation! Кроме бесценного источника данных, этот архив является для меня отличной возможностью создать стандарты для сохранения исходного кода, отслеживания зависимостей инструментов и многих других процессо-ориентированных аспектов в VGHF.

Как Ричард Гэрриот занялся играми

Reading time10 min
Views10K
image

Ричард Гэрриот воспринимал как само собой разумеющееся, что родители любого ребёнка его возраста летали в открытый космос. Для него это было обычным делом. «Так было, пока я не пошёл в Техасский университет, где я встретил людей, которых сейчас могу описать как „жители улицы Сезам“», — рассказывает он.

«Я никогда особенно не думал о людях, смотревших »Улицу Сезам", как о своих соседях, пока нам не пришлось переехать в Остин. Тогда я осознал: «Постойте-ка. Моё детство в НАСА было фантастикой, а фантастика „Улицы Сезам“ была на самом деле реальностью». Для меня это был довольно сильный культурный шок".

Хоть Гэрриот и родился в 1961 году в Кэмбридже (Англия), основной этап формирования личности пришёлся на жизнь в Хьюстоне, штат Техас. Его жилой район практически был продолжением Космического центра имени Линдона Джонсона, хьюстонской базы НАСА. Большинством его соседей стали астронавты, подрядчики и инженеры НАСА. Среди них был Джо Энгл, один из первых астронавтов, присоединившихся к программе запуска пилотируемых летательных аппаратов «Спейс шаттл», и Роберт Гибсон, более известный друзьям под именем Хут. Он был в команде астронавтов STS-27, которая всего за четыре дня сделала 68 витков вокруг Земли.
Читать дальше →

Как правильно предложить свою игру ютуберу/стримеру

Reading time5 min
Views13K
image

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

Совет 1: упростите мне работу!


  • Не заставляйте меня искать информацию о вашей игре. Добавьте в письмо скриншоты, ссылку на трейлер, краткое текстовое описание вашей игры, расскажите, на что она похожа и т.д.
  • Просто пришлите мне ключ. Если мне придётся ответить на письмо, чтобы попросить его, то, скорее всего, я не буду этого делать.
  • Приложите пресс-кит. Мне нужны хорошие PNG вашего логотипа с прозрачностью и красивые фоновые изображения, чтобы использовать в иконке видео. Если вы действительно хотите меня впечатлить, добавьте PNG с основными персонажами и врагами, которые я тоже смогу использовать. Помните, что мне придётся собрать из ваших иллюстраций целостную и красивую иконку размером 1280x720.
  • Если ваша игра ещё не вышла, укажите дату выхода, и будет ли эмбарго на видеообзор.
Читать дальше →

Как создать качественную карту для метроидвании

Reading time12 min
Views23K

Авторы Hollow Knight рассказывают о процессе построения сложного взаимосвязанного мира от набросков до готовой игры


image

Есть что-то удивительно приятное в исследовании сложных 2D-пространств игр, сделанных по модели Metroid и Castlevania. Такого чувства невозможно получить в других играх: чёткое осознание того, как части мира подогнаны друг к другу, умение распознать наличие скрытой комнаты, удовлетворение от получения новых способностей, позволяющих попасть на ранее недостижимые высоты. Качественная карта метроидвании заставляет игрока хотеть освоить каждый квадратный сантиметр и остаётся интересной, даже когда он проходит тем же маршрутом второй, и десятый, и двадцатый раз.

Так как же создать карту для метроидвании? Как создать взаимосвязанный мир, возвращаться назад в котором интересно, который даёт игроку свободу исследований, но при этом частично сохраняет за собой путь его развития? Есть ли секретная формула, тайное знание? Я задал эти вопросы создателям Hollow Knight, вдохновлённого Metroid фантастического приключения в антураже разлагающегося королевства Hallownest, которое напоминает мне анимационный фильм Дона Блута «Секрет НИМХ» (только вместо крыс здесь насекомые).

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

О выборе структур данных для начинающих

Reading time18 min
Views183K
image

Часть 1. Линейные структуры


Массив


Когда вам нужен один объект, вы создаёте один объект. Когда нужно несколько объектов, тогда есть несколько вариантов на выбор. Я видел, как многие новички в коде пишут что-то типа такого:

// Таблица рекордов
int score1 = 0;
int score2 = 0;
int score3 = 0;
int score4 = 0;
int score5 = 0;

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

// Таблица рекордов
const int NUM_HIGH_SCORES = 5;
int highScore[NUM_HIGH_SCORES] = {0};

Будет создан буфер из 5 элементов, вот такой:



Заметьте, что индекс массива начинается с нуля. Если в массиве пять элементов, то они будут иметь индексы от нуля до четырёх.
Читать дальше →

Что будет с аккаунтом Steam после вашей смерти?

Reading time5 min
Views179K

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

И несмотря на ту денежную и ностальгическую ценность, которую может иметь библиотека в Steam, после вашей смерти, в соответствии с действующим пользовательским соглашением Valve Corporation, ваш аккаунт фактически умрёт вместе с вами. При существующем состоянии вещей вы просто не можете оставить ваш аккаунт близкому другу или любимому человеку.

Обобщённый поиск путей для ИИ в платформерах

Reading time10 min
Views11K

Предисловие


Если вы создаёте игру-платформер в стиле «беги и прыгай», то, возможно, уже задумывались о добавлении в неё ИИ. Он может управлять противниками, объектами, которые игрок должен преследовать, и так далее… И слишком часто ради простоты программист реализации отказывается от умного ИИ, что в результате приводит к тому, что ИИ не может справиться с хитрыми прыжками, особо умным игроком или движущимися объектами уровня.

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

Мы рассмотрим основную идею и создадим полную реализацию. Более сложные случаи, в том числе подвижные платформы/разрушаемые стены, мы рассмотрим в другой статье.

Эта техника использована в игре Nomera, см. на www.dotstarmoney.com или в Twitter.

e3iKSJ7.png


Прежде чем начать, проверьте, возможно, вы удастся реализовать более простой алгоритм, соответствующий упрощённой геометрии карты. Например, если коллизии в уровнях распознаются по сетке квадратов (как в большинстве 2D-игр). В таких случаях можно реализовать надёжный поиск путей ИИ с помощью более простых техник. Мой метод в основном подойдёт тем, кто хочет более «человечного» поведения ИИ.
Читать дальше →

Information

Rating
Does not participate
Location
Россия
Registered
Activity