• Портирование Detroit: Become Human с Playstation 4 на PC

    • Перевод

    Введение


    В этой серии постов мы расскажем о портировании игры Detroit: Become Human с PlayStation 4 на PC.

    Detroit: Become Human была выпущена на PlayStation 4 в мае 2018 года. Мы начали работу над версией для PC в июле 2018 года, а выпустили её в декабре 2019 года. Это адвенчура с тремя играбельными персонажами и множеством сюжетных линий. Она имеет очень качественную графику, а большинство графических технологий было разработано самой компанией Quantic Dream.

    3D-движок обладает отличными возможностями:

    • Реалистичный рендеринг персонажей.
    • PBR-освещение.
    • Высококачественная постобработка, например Depth of Field (DOF), motion blur, и так далее.
    • Временно́е сглаживание.



    Detroit: Become Human

    С самого начала 3D-движок игры проектировался специально для PlayStation, и мы понятия не имели, что позже он будет поддерживать другие платформы. Поэтому версия для PC стала для нас сложной задачей.
    Читать дальше →
    • +23
    • 7,2k
    • 9
  • Опознаём плохие условия работы по текстам вакансий

    • Перевод


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

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

    Люди не жалеют усилий на написание вычурных текстов вакансий и психологическое препарирование на собеседованиях. Я берусь за разбор подобных вещей из желания помочь вам не клюнуть на эту белиберду. Прямо скажем, вы заслуживаете лучшего. Как и все мы.
    Читать дальше →
  • Стивен Вольфрам: кажется, мы близки к пониманию фундаментальной теории физики, и она прекрасна

    • Перевод
    В продолжение моего поста про вычислимую Вселенную я хочу представить вам свой перевод статьи Стивена Вольфрама, созданной в рамках его проекта The Wolfram Physics Project.


    Неожиданное открытие


    За прошедшие несколько веков произошел настоящий прорыв в наших знаниях о принципах работы окружающего нас мира. Но несмотря на это, у нас все еще нет фундаментальной теории физики, и мы все так же не имеем ответа на вопрос о том, как именно работает наша Вселенная. Я занимаюсь этой темой уже порядка 50-и лет, но только в последние несколько месяцев все кусочки пазла наконец-то начали складываться вместе. И получающаяся картина оказалась гораздо прекрасней, чем все, что я только мог себе представить.
    Читать дальше →
  • Полиморфные аллокаторы C++17

      Уже совсем скоро в OTUS стартует новый поток курса «C++ Developer. Professional». В преддверии старта курса наш эксперт Александр Ключев подготовил интересный материал про полиморфные аллокаторы. Передаем слово Александру:





      В данной статье, хотелось бы показать простые примеры работы с компонентами из нэймспэйса pmr и основные идеи лежащие в основе полиморфных аллокаторов.

      Основная идея полиморфных аллокаторов, введенных в c++17, — в улучшении стандартных аллокаторов, реализованных на основе статического полиморфизма или иными словами темплейтов. Их гораздо проще использовать, чем стандартные аллокаторы, кроме того, они позволяют сохранять тип контейнера при использовании разных аллокаторов и, следовательно, менять аллокаторы в рантайме.
      Читать дальше →
    • Все, что вам надо знать о юридически значимой переписке: бумажной и электронной

        Как устроен обмен юридически значимыми сообщениями в России

        В любимых нами американских сериалах часто встречается эпизод, когда притворяющийся курьером или случайным прохожим человек вручает герою увесистый пакет и сообщает, что тому пришла повестка. Герой меняется в лице: он понимает, что деваться некуда, повестку он получил. Лео Месси, чтобы сообщить «Барселоне» плохие новости, использовал специальную испанскую технологию доставки сообщений, которая называется “бюрофакс” (собственно, заинтересовавшись кейсом Лео, мы и решили затронуть эту тему).

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

        Про юридически значимую переписку в сети можно найти много мифов – вроде «я не открою письмо с повесткой, значит, я его не получу, и мне ничего не будет» или «отправлять заказное письмо электронно – ненадежно». В этой статье мы собрали ответы на самые популярные вопросы, которые касаются обмена юридически значимыми сообщениями в России, чтобы вы точно знали зачем, когда и как ими правильно пользоваться.
        Читать дальше →
      • Одноглазый глубиномер

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

          Далее много картинок
        • Немного об ускорении программы: распараллеливание (ручное или автоматическое) на базе сверхоптимистичных вычислений

            Здравствуйте, уважаемые читатели. В этой публикации речь пойдет о такой (уже ставшей привычной) вещи как ускорение работы программы путем применения параллельных вычислений. Технологии организации таких вычислений известны – это и обычное многопоточное программирование, и применение специальных интерфейсов: OpenMP, OpenAcc, MPI, DVM и многих других (при этом распараллеливаются циклы, используется векторизация или конвейеризация, организуются ленивые вычисления, выделяются независимые блоки программы, которые можно запустить в параллель и т.п.).

            При этом обычно исходят из той идеи, что распараллеливание не должно каким-то образом влиять на результаты исполнения программы. Это жесткое, но справедливое для многих случаев требование. Однако если мы пытаемся распараллелить программу, ведущую какие-либо расчеты численными методами (обучаем нейронную сеть, моделируем динамику жидкости или молекулярной системы, решаем обыкновенные дифференциальные уравнения или оптимизационные задачи), то результат и так (в любом случае) будет иметь некоторую погрешность. Поэтому, почему бы не применить «рискованные» технологии распараллеливания, которые могут внести в математическое решение небольшую дополнительную погрешность, но позволят получить еще некоторое дополнительное ускорение? Об одной из таких технологий – о расщеплении тел циклов с предсказанием промежуточных результатов и откатом при неудачном предсказании (собственно, это и есть «сверхоптимистичные» вычисления в частично транзакционной памяти) и пойдет речь.
            Читать дальше →