• Прогнозирование физики на стороне клиента в Unity

    • Перевод
    image

    TL;DR


    Я создал демо, показывающее, как реализовать прогнозирование на стороне клиента физического движения игрока в Unity — GitHub.

    Введение


    В начале 2012 года я написал пост о как-бы-реализации прогнозирования на стороне клиента физического движения игрока в Unity. Благодаря Physics.Simulate() тот неуклюжий обходной способ, который я описал, больше не нужен. Старый пост до сих пор является одним из самых популярных в моём блоге, но для современного Unity эта информация уже неверна. Поэтому я выпускаю версию 2018 года.

    Что-что на стороне клиента?


    В соревновательных многопользовательских играх необходимо по возможности избегать читерства. Обычно это значит, что применяется сетевая модель с авторитарным сервером: клиенты отправляют серверу вводимую информацию, а сервер превращает эту информацию в перемещение игрока, а потом отправляет снэпшот получившегося состояния игрока обратно клиенту. При этом возникает задержка между нажатием клавиши и отображением результатом, что неприемлемо для любых активных игр. Прогнозирование на стороне клиента — это очень популярная техника, скрывающая задержку, прогнозируя то, каким будет получившееся движение и сразу показывая его игроку. Когда клиент получает результаты от сервера, он сравнивает их с тем, что спрогнозировал клиент, и если они отличаются, то прогноз был ошибочным и нуждается в коррекции состояния.
    Читать дальше →
  • Модульный Sci-Fi уровень на UE4: вдохновляемся Ностромо и Серенити

    • Перевод
    Баланс и реиграбельность, пожалуй, одни из главных моментов для PvP-шутера. Визуал тоже важен и для всего этого у нас есть целый пайплайн левел-дизайнера. Другое дело — жанры, где атмосфера окружения стоит на первом месте, а над уровнем работает один человек вместо целой команды. И воркфлоу такого «человека-оркестра» мне оказался очень интересен. Недавно наткнулся как раз на статью, где автор выполняет как раз такую роль и создает Sci-Fi локацию.

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

    Читать дальше →
    • +38
    • 4,7k
    • 4
  • Как Емеля на Ludum Dare ходил

      Коротко о мероприятии


      О феномене Ludum Dare уже есть немало материалов, статей и обсуждений. Например, тут, вот тут или тут, но всё же ниже будет небольшая вводная, минимальный контекст.


      Офис полон участниками Ludum Dare


      Ludum Dare — это соревнование по ускоренной разработке компьютерных игр. Основано парнем по имени Geoff Howland и впервые было проведено в апреле 2002. Всего за пару дней вы окунаетесь в безумное приключение с неожиданным финалом. В начале у вас есть только тема (которая выбирается в канун события посредством нескольких раундов голосования из формируемого сообществом пула тем), и что у вас получится в конце — невозможно предугадать и в этом заключается интрига, азарт и одна из вещей, что заставляет людей вновь и вновь жертвовать себя на пару дней этому событию. Кстати, о жертвах. Тема минувшего, 43-го Ludum Dare была — "Sacrifices Must Be Made". И уж тут полёт фантазии трактовать эту формулировку просто неограничен.

      Читать дальше →
    • Дайджест интересных материалов для мобильного разработчика #278 (3 — 9 декабря)

        В нашей еженедельной подборке герои Swift-а, поиск неуловимого бага в React Native, лучшие приложения App Store и Google Play 2018 года, первый стабильный Flutter, первый Яндекс.Телефон и многое другое. Подключайтесь!

        Читать дальше →
      • Математика в Gamedev по-простому. Матрицы и аффинные преобразования

          Всем привет! Меня зовут Гриша, и я основатель CGDevs. Сегодня хочется продолжить тему математики в геймдеве. В предыдущей статье были показаны базовые примеры использования векторов и интегралов в Unity проектах, а сейчас поговорим о матрицах и аффинных преобразованиях. Если вы хорошо разбираетесь в матричной арифметике; знаете, что такое TRS и как с ним работать; что такое преобразование Хаусхолдера – то вы возможно не найдёте для себя ничего нового. Говорить мы будем в контексте 3D графики. Если же вам интересна эта тема – добро пожаловать под кат.


          Читать дальше →
        • AI в игре Hase und Igel: minimax на троих


            После настоящего бума настольных игр конца 00-х в семье осталась несколько коробок с играми. Одна из них — игра “Заяц и Ёж” в оригинальной немецкой версии. Игра для нескольких игроков, в которой элемент случайности сведен к минимуму, а побеждает трезвый расчет и способность играющего “заглядывать” вперед на несколько шагов.

            Мои частые поражения в игре привели меня к мысли написать компьютерный “интеллект” для выбора наилучшего хода. Интеллект, в идеале, способный сразиться с гроссмейстером Зайца и Ежа (а что, чай, не шахматы, игра попроще будет). Далее в статье идет описание процесса разработки, логики AI и ссылка на исходники.
            Читать дальше →
          • Как я делал комикс-игру по Лавкрафту



              Привет, Хабр! Это будет история о тернистом пути разработки 2D-квеста в сеттинге миров Говарда Филлипса Лавкрафта, который целиком оформлен в виде интерактивного комикса. Ну то есть все в игре, начиная от головоломок и заканчивая интерфейсом — это один бесшовный комикс. Если вас заинтересовала такая концепция, прошу под кат, где будет больше гифок, технические детали и опыт публикации на основных платформах.
              Читать дальше →
            • Russian AI Cup 2018: CodeBall. Зрелищное 3D соревнование



                С 2012 года ежегодно проводится соревнование Russian AI Cup по написанию искусственного интеллекта и ботов, которые ожесточенно сражаются в виртуальном мире вместо своих владельцев. За все прошлые чемпионаты на платформе зарегистрировалось более 40 000 пользователей, которые прислали нам более 150 000 различных решений. Каждый новый чемпионат — это новая игровая задача со своими правилами, законами и механикой. Стараемся постоянно вносить новые идеи и фичи, чтобы игры из года в год становились еще более интересными и зрелищными, развивая наш мотор под капотом проекта и делая всё во славу нашего сообщества.

                Этот год не стал исключением. Mail.Ru Group в сотрудничестве с Codeforces.com официально объявляют о датах чемпионата Russian AI Cup 2018 под названием CodeBall.

                Итак, поехали!
                Читать дальше →
              • Разработка ИИ на примере игры Dicey Dungeons

                • Перевод

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

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

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

                Ну, давайте начнём с объяснения задачи!
                Читать дальше →
                • +24
                • 5,7k
                • 1
              • Эмоциональные роли в играх. Грамотное повествование и вовлечение в поток

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

                  • заинтригованный необычным квестом игрок не станет тут же выключать игру, он поиграет «еще чуть-чуть», чтобы удовлетворить своё любопытство (и в итоге просидит в два раза дольше);
                  • значимый NPC начинает косвенно шантажировать персонажа игрока на интимные отношения, и игрок раздражённо пытается по мирному отвязаться от нахала (пример внутри);
                  • если игрок уже полюбил изученную им вселенную и её оригинальных NPC обитателей, то ему не будет наплевать на очередной апокалипсис, когда только его герой сможет спасти весь мир;
                  • если игрок влип в опасную ситуацию в roguelike (и под угрозой более 20 часов), а потом чудом выбрался из неё, он наверняка захочет поделиться своими достижениями на любимом форуме.


                  AVGN Games — Angry Video Game Nerd получает игру про себя [1]

                  В статье описываются различные эмоциональные роли, которые отыгрываются игровым персонажем и/или самим игроком. Приводятся примеры игр, где успешно использовались эти приёмы вовлечения. Выдаются ссылки на источники использованной литературы для более углубленного изучения темы.
                  Читать дальше →
                  • +11
                  • 2,3k
                  • 9

                Самое читаемое