Обновить
0
@maxpsyhosread⁠-⁠only

Пользователь

Отправить сообщение

Как сегодня создаются 64k intro: погружение в Immersion

Время на прочтение14 мин
Охват и читатели26K
image


В декабре прошлого года мы наконец-то закончили наш проект. В этом видео показана наша последняя работа — четырёхминутная анимация «Immersion». Точнее, это запись того, что обычно называется 64k-интро. Но подробнее об этом чуть позже.


Работа над проектом заняла лучшие свободные часы последних двух лет жизни. Всё это началось во время проведения Revision 2015, большого мероприятия, устраиваемого каждый год в Германии во время пасхальных каникул. Мы вдвоём болтали по дороге из отеля в место проведения мероприятия. Предыдущим вечером уровень конкуренции в области 64kB intro оказался высоким. Очень высоким. Опытная и хорошо известная венгерская группа Conspiracy наконец вернулась с серьёзной, потрясающей работой. Наш лучший враг Approximate идеально успел по времени с завершением цикла выпуска и показал значительные улучшения в сторителлинге. Продуктивная группа Mercury обрела собственный зрелый стиль дизайна в интро, которое не оставляло сомнений в своей победе.

Игрофикация – игра как мотивация в бизнесе

Время на прочтение5 мин
Охват и читатели37K


Сначала главная новость – Coursera скоро будет доступна с субтитрами на русском, и первый курс как раз геймификация Кевина Вербаха.

Теперь про саму тему. На прошлой неделе я побывал специальным гостем на мероприятии по геймификации, и ниже расскажу о нём с примерами из близких мне настольных игр.

Вообще, игрофикация или геймификация — это когда игровые механики накладываются на что-то в реальной жизни. В СССР, например, были соревнования смен, доска с лучшими работниками и так далее — всё это хорошие добрые игры, когда работа идёт не ради плана, а ради того, чтобы доказать свою крутость или просто поучаствовать в процессе. Ещё примеры:
  • Хабр. Карма, рейтинг плюс наши бейджи и инвайты: они создают дополнительную мотивацию писать посты.
  • Террористы. На самой лекции также говорилось, что боевики в Аль-Каиде проходят несколько уровней своего рода игры, каждый из которых разблокирует новые возможности в организации.
  • Обучение. Там же приводился пример про школу, в которой все в начальных классах стали играть роли в экипаже космического корабля. Учиться стало интересно уже не потому что так надо, а потому, что это помогало проходить сюжет.
Читать дальше →

Игра на UWP: расширенный экран-заставка

Время на прочтение21 мин
Охват и читатели5.7K
Привет, Хабр! Мы продолжаем нашу экспериментальную серию статей для программистов-самоучек, в которой Алексей Плотников, один из участников нашего сообщества Microsoft Developer, рассказывает о создании игры на UWP. Сегодня поговорим о расширенном экране-заставке. Не забывайте оставлять комментарии, вы можете повлиять на ход разработки.

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

Генерируем уровни для игры с помощью нейросетей

Время на прочтение12 мин
Охват и читатели19K

Предисловие


За последние несколько лет прогресс в области искусственного интеллекта привёл к созданию методов машинного обучения на основе обучения представлениям (representation-learning) с несколькими слоями абстракции — так называемому «глубокому обучению». Общественное и медийное внимание было привлечено к этой области исследований благодаря древнекитайской настольной игре го. Несмотря на то, что сложность го часто сравнивают со сложностью самой жизни, программе AlphaGo, использующей глубокое обучение с подкреплением (deep reinforcement learning), удалось превзойти мирового чемпиона по го Ли Седоля. Удивительно, что исследования ИИ были использованы в играх и получили такое широкое общественное внимание. Стоит также заметить, что один из разработчиков AlphaGo, Демис Хассабис, был ведущим программистом Theme Park (1994 год) и ведущим программистом ИИ Black & White (2001 год). Игры и современный прогресс ИИ, возможно, имеют некую корреляцию.

Эта статья является постмортемом, отчётом о попытке нашей команды реализации генерирования уровней для Fantasy Raiders с помощью различных методов искусственных нейронных сетей. Раньше генерирование уровней было процессом кодирования знаний разработчика игры с помощью неких вероятностных техник. Однако для Fantasy Raiders мы написали программу, которая могла учиться и генерировать уровни на основании наших данных. Как нам кажется, в результате мы получили всего лишь ключ к решению задачи генерирования уровней, а не общее решение. Чтобы поделиться нашими открытиями с другими разработчиками игр мы хотим подробно рассказать о процессе наших исследований, от начала до конца.
Читать дальше →

Релиз Apache Ignite 2.4 — Distributed Database and Caching Platform

Время на прочтение5 мин
Охват и читатели5.1K
12 марта 2018 г., спустя 4 месяца после прошлой версии, вышел Apache Ignite 2.4. Этот релиз примечателен целым рядом нововведений: поддержка Java 9, множественные оптимизации и улучшения SQL, поддержка платформой нейронных сетей, новый подход к построению топологии при работе с диском и многое другое.

Apache Ignite Database and Caching Platform — это платформа для распределенного хранения данных (оптимизированная под активное использование RAM), а также для распределенных вычислений в близком к реальному времени.

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

Примеры использования: быстрый распределенный кеш; слой, агрегирующий данные из разрозненных сервисов (например, для Customer 360 View); основное горизонтально масштабируемое хранилище (NoSQL или SQL) оперативных данных; платформа для вычислений и т.д.

Далее рассмотрим основные новшества Ignite 2.4.
Читать дальше →

Иллюстрированное руководство по устройству сети в Kubernetes. Части 1 и 2

Время на прочтение6 мин
Охват и читатели69K
Прим. перев.: Автор статьи — Amanpreet Singh — называет себя «всё ещё начинающим в мире сетей», однако именно это и побудило его разобраться в их базовом устройстве в Kubernetes (который он использует в production), а затем — поделиться с сообществом очень доступным материалом с наглядными иллюстрациями. В оригинале он разбит на две части, однако в этом переводе мы объединили их в одну статью.



Вот вы запустили множество сервисов в кластере Kubernetes и пожинаете плоды… или хотя бы собираетесь это сделать. Однако, даже несмотря на существование ряда утилит для настройки кластера и управления им, вам всё же интересно, как всё работает «под капотом». Куда смотреть, если что-то сломается? По себе знаю, что это важно.
Читать дальше →

Мобильная 3D игра на Unity3D менее чем за 90 часов

Время на прочтение11 мин
Охват и читатели98K
image Приветствую! Сегодня я расскажу вам о своем опыте разработки игры на Unity для платформы Android, менее чем за 90 часов, на примере создания простенького «раннера». В процессе повествования я затрону некоторые детали и ключевые этапы, с описанием всех возможных подводных камней и методов их решения. Данная история описывает процесс создания игры для мобильных платформ, начиная от концепции и заканчивая готовым продуктом. Надеюсь, она вдохновит вас на создание собственного проекта, либо поможет пролить свет на некоторые особенности движка Unity. Без лишних слов, приступим к делу!
Читать дальше →

ТЗ высокой четкости

Время на прочтение6 мин
Охват и читатели59K
Я аналитик, который пишет непонятные ТЗ. Т.е. я пытаюсь писать очень понятные ТЗ. В целом, я слушаю клиентов, потом я слушаю разработчиков, потом голоса в своей голове. Зачем я говорю с ними? В общем, получается то, что получается. Ну вы поняли.



Написать идеальное ТЗ проще простого:

1. Договорился о минимальном этапе (на 2-4 недели).
2. Описал юзер-стори по шагам.
3. Составил список экранов будущей системы.
4. Прописал названия методов API и форматы данных.
5. Запросил тестовый контент и составил таблицы с тестовыми данными.
6. Сформулировал из всего этого цели и задачи.
7. Согласовал план работ и выставил задачи в таск-менеджер.

Но не тут-то было! Давайте я расскажу, как все происходит в реальной жизни, а также поделюсь своими лайфхаками, как я с этим справляюсь.
Читать дальше →

Познаём Нирвану – универсальную вычислительную платформу Яндекса

Время на прочтение8 мин
Охват и читатели59K
Машинное обучение превратилось в модный термин, но при работе с большими объёмами данных оно уже много лет является жизненной необходимостью. Яндекс обрабатывает более 200 миллионов запросов ежедневно! Когда-то в интернете было так мало сайтов, что наилучшие из них помещались в каталог, а теперь за релевантность ссылок на страницы в выдаче отвечают сложные формулы, обучающиеся на новых и новых данных. Задача ложится на так называемые конвейеры, регулярные процессы, обучающие и контролирующие эти формулы.

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



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

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

Мы расскажем, с какими проблемами столкнулись при использовании предыдущего решения, опишем ключевые компоненты Нирваны и объясним, почему для платформы было выбрано именно такое название. А потом посмотрим на скриншот и перейдем к задачам, для которых полезна платформа.
Читать дальше →

Ох уж эти модальные окна или почему я полюбил render-функции в VueJs

Время на прочтение19 мин
Охват и читатели56K
Привет всем!
Моя первая публикация прошла с неприятным осадком. Я обещал исправить это недоразумение и на ваш суд представляю свою первую статью-урок по VueJs. Надеюсь, она окажется полезной. Мыслей много, опыта тоже немало. Всю жизнь учусь по чужим статьям, урокам. Пришло время тоже делиться знаниями.
А будем мы творить модальные окна. Да опять они. Но не такие простые, как описаны в первой моей (не моей) публикации.

Много уже их создано для Vue. Пользовался всякими. И видимо, когда достигаешь какого-то определенного уровня владения инструментом (в данном случае Vue), сразу хочется сделать велосипед, но конечно со своими прибамбасами, типа, чтобы круче всех и т.д. И я не стал исключением из правил.

Из всех доступных модальных компонентов, использовал в основном этот — Vuedals.
Но решил я его проапгрейдить. В принципе от основы остался только EventBus и взаимодействие событий связанных с открытием-закрытием окон. Основной компонент переписан и стал оберткой-контейнером и добавлен новый компонент — само модальное окно.
Но обо всем по порядку. И статья получится очень немаленькая, кто осилит, тот красавчик :)
Читать дальше →

Анализ игр с HDR

Время на прочтение8 мин
Охват и читатели45K

Последнюю пару недель я потратил на исследование HDR-картинки различных игр.

Когда речь идёт об SDR-видео, то вам должны быть знакомы значения RGB в интервале 0-255, где 0 представляет чёрный цвет, а 255 — белый.

HDR10 /Dolby Vision в этом плане немного отличается, не только потому, что использует интервал 0-1023, но и потому, что все эти значения данных представляют не просто чёрно-белый (или цветной) градиент, но и меру освещённости в нитах, то есть в единицах измерения яркости света.

В отличие от используемых в предыдущих видеоформатах значений, эти значения определены и абсолютны. Значение 0 всегда означает полное отсутствие света (полная чернота), значение 1023 всегда представляет 10000 нит освещённости, значение 769 всегда обозначает 1000 нит.

То есть если передать современному HDR-телевизору эти значения, он должен выводить точно такое количество света, которое описано заданным значением.

Эта система используется и в HDR10, и в Dolby Vision. Её могут называть HDR на основе PQ (PQ based HDR).

На сегодняшний момент есть не так много телевизоров с максимальным значением 10000 нит, вам повезло, если у вашего значение превышает 1500 нит.

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

Основы криптографии. Часть 0

Время на прочтение4 мин
Охват и читатели31K
Целью данного цикла статей я хотел бы поставить создание простейшего криптозащищенного мессенджера с упором исключительно на криптографию, исключая из рассмотрения технические тонкости непосредственно коммуникаций, сетевых протоколов, графики и всего остального.

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

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

Однако с подобным подходом возникает ряд проблем:

  • Сейф можно вскрыть болгаркой или иным силовым методом
  • Производитель сейфов может оставить обходную лазейку и получить доступ к содержимому

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

Уязвимости вашего приложения

Время на прочтение20 мин
Охват и читатели28K

Актуальны ли ещё угрозы XSS? Прошло около 20 лет с тех пор, как Cross Site Scripting (XSS) появился как вид атаки. С тех пор мы получили богатый опыт и знания, защита наших сайтов стала намного сложнее, а многочисленные фреймворки были призваны оберегать нас от ошибок. Но последние данные показывают совсем другую картину: в первых кварталах 2017 года количество сообщений об XSS-атаках и количество найденных уязвимостей выросло в несколько раз.


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


Прототипом статьи является доклад на конференции HolyJS 2017 Moscow. Алексей — фронтенд-тимлид/архитектор в компании EPAM Systems и один из лидеров сообщества FrontSpot в Минске. Основные области профессиональных интересов: архитектура и инфраструктура приложений, управление разработкой.


В этом тексте огромное количество картинок со слайдов. Осторожно, трафик!

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

Почему люди не покупают вашу игру

Время на прочтение10 мин
Охват и читатели21K
image

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

Да, выбор кажется очевидным: или один и тот же пережаренный кофе или поистине независимое творение мысли.

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

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

Сравнение: Docker swarm, Kubernetes, Rancher и D2C

Время на прочтение4 мин
Охват и читатели34K

С того момента как мы начали вести корп. блог на Хабре, на демо и при обращениях в поддержку нас стали чаще сравнивать с оркестраторами. И если раньше были вопросы о том, в чем отличия D2C от Heroku, Clou66 и тому подобных сервисов, то теперь, видимо, нас стали рассматривать как альтернативное решение для оркестрации.


Чтож, попробую поправить ситуацию и провести сравнение с несколькими популярными решениями, о которых слышно чаще: Docker swarm, Kubernetes и Rancher. А чтобы зайти не «с конца», кратко дам по маленькому обзору на каждую из них.

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

Прототипирование на продакшн-технологиях

Время на прочтение9 мин
Охват и читатели17K


В Яндекс.Деньгах мы сделали БЭМ-платформу основным инструментом дизайнеров для построения интерфейсов, дополнив ее всем необходимым арсеналом для масштабирования.

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

Разработка игр под NES на C. Главы 4-6. Рисуем персонажа

Время на прочтение7 мин
Охват и читатели18K

В этой части рассмотрим работу с графикой: фон и спрайты персонажей.
<<< предыдущая следующая >>>

image
Источник


Что такое V-blank?


PPU — графический процессор — может или отправлять сигнал в телевизор, или получать информацию от процессора, но не одновременно. Так что единственное время для пересылки это V-blank, период кадрового гасящего импульса.


90% времени PPU отправляет пиксели в видеовыход, строка за строкой слева направо и сверху вниз. Внизу экрана делается пауза, и все повторяется снова. Это происходит 60 раз в секунду. Пауза после отрисовки кадра и есть V-blank. Это весьма короткий промежуток времени. В него реально вложить обновление 2-4 столбцов фоновых тайлов и обновление спрайтов. Обновление фона особенно критично для игр с прокруткой.

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

Создание атмосферного викторианского города из модулей

Время на прочтение7 мин
Охват и читатели24K
Майкл Эндрюс рассказал, как он использовал модульный подход при создании красивого фрагмента выдуманного города; интересная работа с освещением и архитектурой.


Введение


Привет, меня зовут Майкл Эндрюс. Мне двадцать лет, я студент из северного Нью-Джерси. Сейчас я учусь на третьем курсе колледжа Чемплейн по специальности «игровая графика и анимация». Я специализируюсь на моделировании твердотельных пропсов, текстурировании и графике окружений. До недавнего времени я работал только над учебными проектами, создавал различные пропсы и окружения для развития моих художественных и технических навыков. Программа колледжа дала мне инструменты, необходимые для успешной работы после выпуска. Я только что окончил семестр в Монреале, где учился у Винсента Джойала (Vincent Joyal), который помог мне понять графику окружений и научил создавать достойные работы.

Проект


В начале каждого проекта я в первую очередь смотрю на общую картину и решаю, какие основные аспекты я хочу передать. Нынешняя моя работа основывается на концепте Джиорджио Греку (Giorgio Grecu). С самого начала я знал, что хочу передать масштаб и атмосферу картины. Я осознавал, что для меня этот концепт выделился на фоне остальных своим освещением, архитектурой и дымом/туманом. Передача этих аспектов стала основной сложностью проекта. Ещё одной существенной сложностью была компоновка переднего плана. Я решил не использовать в этой работе людей, потому что они сильно отвлекали бы зрителя от композиции. Эта проблема решилась добавлением новых уровней на плоскости земли в виде лестниц. Также я добавил скамейки, фонтан, ещё одну арку, мелкие листья и другие детали, которые сделали пространство более заполненным. Кроме переднего плана, серьёзной задачей было создание большого количества модулей и масштабность самой архитектуры. Потребовались считанные часы, чтобы сделать моделирование интересным и в то же время по-прежнему правдоподобным.
Читать дальше →

Как реклама помогла вспомнить забытый плагиат на Марио

Время на прочтение2 мин
Охват и читатели16K
По телеку сейчас крутят рекламу. Я прислушался, и музыкальное сопровождения показалось мне знакомым.

Вот эту рекламу, кому интересно
Рекламируют не какой-то товар, а полезное дело, так что ее не противно смотреть



Откуда же оно? Что-то было такое… Да! Это была игра, которая на заре компьютерных развлечений вызвала столько же восторга, сколько и споров и скандалов, и эта мелодия именно оттуда!



Что же это за игра, неотличимая от Марио?
Читать дальше →

Дорога на войну: ИИ игр серии Total War

Время на прочтение10 мин
Охват и читатели17K
image

С самого основания моей серии видео «AI and Games» на YouTube я исследовал различные реализации ИИ, решающие определённые задачи в дизайне видеоигр, требующие немедленного, реактивного поведения в сочетании с долговременным и стратегическим принятием решений. Популярным жанром, в котором ИИ может создавать быстрый, реактивный и захватывающий геймплей, являются шутеры от первого лица (FPS). Но если мы хотим рассмотреть потребность в эффективных системах, учитывающих баланс принятия краткосрочных и долгосрочных решений, то идеальным предметом для изучения являются игры в жанре стратегии реального времени (Real-Time Strategy, RTS).

И RTS, и FPS продолжают вносить инновации в современные видеоигры, стремясь соответствовать их дизайну. Но играм в жанре RTS нужно оценивать гораздо более обширное и длительное влияние быстрых и реактивных решений. Кроме того, им требуется управлять ресурсами на разных уровнях абстракции и сложности в многочасовых игровых сессиях. При обсуждении сложностей и инноваций, с которыми приходится столкнуться ИИ стратегических игр, ни в коем случае нельзя не упомянуть одну франшизу — Total War компании Creative Assembly.
Читать дальше →

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность