• Как создавать графику для VR — рекомендации Google

    • Перевод

    Создание графических ресурсов: рекомендации




    Как художник VR и AR, я заметил две тенденции. Во-первых, постоянно появляются новые инструменты и практики, которые позволяют повысить качество наших работ. Но в то же время возвращаются техники и навыки конца 90-х и начала 2000-х. Они полностью применимы к виртуальной реальности, потому что вычислительные ресурсы в VR ограничены. И если вы только начинаете свой путь, то вам стоит рассмотреть разнообразные подходы. Итак, если вы художник и недавно занялись VR, то вот некоторые из моих самых любимых советов по созданию качественных графических ресурсов.
    Читать дальше →
    • +11
    • 2,1k
    • 1
  • Введение в нейросети

    • Перевод
    image

    Искусственные нейронные сети сейчас находятся на пике популярности. Можно задаться вопросом, сыграло ли громкое название свою роль в маркетинге и применении этой модели. Я знаю некоторых бизнес-менеджеров, радостно упоминающих об использовании в их продуктах «искусственных нейронных сетей» и «глубокого обучения». Так ли рады были бы они, если бы их продукты использовали «модели с соединёнными кругами» или «машины „совершишь ошибку — будешь наказан“»? Но, вне всяких сомнений, искусственные нейросети — стоящая вещь, и это очевидно благодаря их успеху во множестве областей применения: распознавание изображений, обработка естественных языков, автоматизированный трейдинг и автономные автомобили. Я специалист по обработке и анализу данных, но раньше не понимал их, поэтому чувствовал себя мастером, не освоившим свой инструмент. Но наконец я выполнил своё «домашнее задание» и написал эту статью, чтобы помочь другим преодолеть те же самые препятствия, которые встретились мне в процессе моего (всё ещё продолжающегося) обучения.

    Код на R для примеров, представленных в этой статье, можно найти здесь в Библии задач машинного обучения. Кроме того, после прочтения этой статьи стоит изучить часть 2, Neural Networks – A Worked Example, в которой приведены подробности создания и программирования нейросети с нуля.
    Читать дальше →
  • Skyrim, отрендеренный в тексте

    • Перевод

    Фрактальные истории, или как создать текстовую адвенчуру с открытым миром




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

    Моя идея превратилась в короткую игру Insignificant Little Vermin, с которой я участвовал в этом году на IFCOMP. В статье я расскажу о процессе создания этой игры и о том, чему я научился, понаблюдав за тем, как в неё играют люди (на Twitch).
    Читать дальше →
  • Создание концепт-артов в 3D

    • Перевод
    image

    Бен Николас поделился секретами своего рабочего процесса и рассказал об источниках вдохновения для ярких экспериментов с 3D.

    Введение


    Я начал заниматься 3D, когда мне было 13 лет. Мой хороший друг детства тогда баловался с 3D, и он вдохновил меня на его самостоятельное изучение. Сначала я работал в Bryce, потом довольно быстро перешёл к 3ds Max и Maya. В старшей школе я уже занимался 3D на фрилансе и выполнял случайные работы, пользуясь обретёнными знаниями. Больше всего меня притягивало hard surface-моделирование, потому что я вырос рядом с самолётными и вертолётными ангарами, ведь мой отец был пилотом. Он же научил меня любить научную фантастику. Думаю, оба этих аспекта стали основой моего вкуса в искусстве.
    Читать дальше →
  • Интегрирование уравнений движения

    • Перевод
    image

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

    Темой этой статьи как раз и будет реализация такого интегрирования.

    Интегрирование уравнений движения


    Вы можете помнить из курса старшей школы или вуза, что сила равна произведению массы на ускорение.

    $F = ma$


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

    $a = F/ma = F/m$


    Ускорение — это темп изменения скорости от времени:

    $dv/dt = a = F/m$



    Аналогично, скорость — это темп изменения позиции от времени:

    $dx/dt = v$


    Это значит, что если мы знаем текущие позицию и скорость объекта, а также приложенные к нему силы, то сможем проинтегрировать, чтобы найти его позицию и скорость в определённый момент времени.
    Читать дальше →
    • +26
    • 6,9k
    • 7
  • Дизайн классов в играх: не только RPG

    • Перевод
    image


    Классы можно встретить везде. Бывшие когда-то принадлежностью исключительно RPG, сегодня системы классов используют во множестве видов игр. Всем нам известны стандартные «воины» или «волшебники» классической фэнтези, но чему мы можем научиться в дизайне классов из других игр?

    Для начала нам нужно ответить на вопрос: что же такое класс? Определение этого термина в играх достаточно расплывчато, и правильных ответов можно дать несколько. В таких RPG, как Dungeons & Dragons классы определяются правилами и представляют собой список способностей, которые может иметь персонаж игрока.

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

    Поэтому при обсуждении классов мы говорим не только о стандартных классах и расах из RPG, но и об армиях в Starcraft, персонажах Street Fighter и даже машинах из Mario Kart. Кажется странным засовывать их всех в одну категорию, но у них у всех есть нечто общее: выбор, который игрок делает за пределами игры, определяет его возможности в игровом процессе.
    Читать дальше →
  • Создаём собственный физический 2D-движок: части 2-4

    • Перевод
    image


    Оглавление


    Часть 2: ядро движка

    • Интегрирование
    • Метки времени
    • Модульная архитектура
      • Тела
      • Формы
      • Силы
      • Материалы
    • Широкая фаза
      • Отсечение дубликатов контактных пар
      • Система слоёв
    • Проверка пересечения полупространств

    Часть 3: трение, сцена и таблица переходов

    • Трение
    • Сцена
    • Таблица переходов коллизий

    Часть 4: ориентированные твёрдые тела

    • Математика вращения
    • Ориентированные формы
    • Распознавание коллизий
    • Разрешение коллизий

    Читать дальше →
    • +50
    • 13,4k
    • 7
  • Интуитивная разработка алгоритмов

    • Перевод
    image

    Если вы программист, то, возможно, у вас возникали ситуации, когда в выбранном игровом движке или библиотеке нет нужной функции. За этим следовал ужасающий момент, когда вам приходилось обыскивать весь Интернет в поисках кода, написанного людьми, решавшими эту проблему до вас (я говорю о вас, пользователи StackOverflow). Конечно, в этом нет ничего плохого (я и сам так поступаю), но очень часто вы можете сделать это самостоятельно, даже когда речь идёт о таких теоретических задачах, как геометрия или перетасовка. Я один из тех людей, которые всегда пытаются понять, как всё работает, и разве есть способ понимания лучше, чем прийти к нему самому, заново изобретя решение на лету (если, конечно, оно существует)?

    Ставим перед собой пример задачи


    В этой статье я опишу несколько этапов, которые, как мне кажется, довольно эффективны для самостоятельного выведения решающего задачу алгоритма. Чтобы применить их к чему-то конкретному, мы рассмотрим пример задачи: выпуклое разбиение простых многоугольников. Это звучит сложно и по-научному, но на самом деле это не так трудно.
    Читать дальше →
  • Реализация «Тетриса» в игре «Жизнь»

    • Перевод
    То, что начиналось как приключение, закончилось одиссеей.

    image

    Задача по созданию тетрис-процессора размером 2 940 928 x 10 295 296


    Этот проект стал кульминацией труда множества пользователей в течение последних полутора лет. Хотя состав команды со временем менялся, в написании этой статьи принимали участие следующие авторы:

    • PhiNotPi
    • El'endia Starman
    • K Zhang
    • Muddyfish
    • Kritixi Lithos
    • Mego
    • Quartata

    Также мы хотим поблагодарить 7H3_H4CK3R, Conor O'Brien и многих других пользователей, вложивших свои труд в решение этой задачи.

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

    Стоит также заглянуть в GitHub нашей организации, в котором мы выложили весь код, написанный для решения задачи. Вопросы можно задавать в нашем чате разработки.
    Читать дальше →
  • Работа с видео в Full Throttle Remastered

    • Перевод
    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 года)
    Читать дальше →
    • +18
    • 4,9k
    • 6