Программист
Как вращается камера в 3D играх или что такое матрица поворота
Туториал по Unreal Engine. Часть 1: знакомство с движком

Unreal Engine 4 — это набор инструментов для разработки игр, имеющий широкие возможности: от создания двухмерных игр на мобильные до AAA-проектов для консолей. Этот движок использовался при разработке таких игр, как ARK: Survival Evolved, Tekken 7 и Kingdom Hearts III.
Разработка в Unreal Engine 4 очень проста для начинающих. С помощью системы визуального создания скриптов Blueprints Visual Scripting можно создавать готовые игры, не написав ни строчки кода! В сочетании с удобным интерфейсом это позволяет быстро изготавливать рабочие прототипы.
В этой части туториала по Unreal Engine 4 мы ознакомимся с основными возможностями программы. Вот основные темы, которые будут в нём рассмотрены:
- Установка движка
- Импорт ассетов
- Создание материалов
- Использование Blueprints для создания объектов с простейшими функциями
Справочник по синхронизаторам java.util.concurrent.*
В java.util.concurrent много различных классов, которые по функционалу можно поделить на группы: Concurrent Collections, Executors, Atomics и т.д. Одной из этих групп будет Synchronizers (синхронизаторы).

Синхронизаторы – вспомогательные утилиты для синхронизации потоков, которые дают возможность разработчику регулировать и/или ограничивать работу потоков и предоставляют более высокий уровень абстракции, чем основные примитивы языка (мониторы).
Органайзер-каталог для карт Heroes III и более 7700 карт в придачу

Я играю в Heroes of Might and Magic со времен
Цели были следующие:
- Избавиться от дубликатов карт
- Точно знать, играл я в эту карту или нет, если играл, то знать статус: выиграл, проиграл или пропустил
- Иметь возможность загружать в органайзер новые карты с проверкой на уникальность
- Писать свой личный комментарий к карте
- Иметь возможность мгновенно отсортировать каталог карт по следующим параметрам:
названию, статусу, версии, кодировке, размеру карты, наличию подземелья, уровню сложности и размеру файла
Learn OpenGL. Урок 4.10 — Инстансинг

Инстансинг
Представьте, что вы задумали сцену, содержащую огромное количество моделей объектов, причем преимущественно эти модели содержат одинаковые вершинные данные, разнятся только матрицы трансформации, примененные к ним. Например, сцена с травяным полем, где каждая былинка представлена маленькой моделью, составленной буквально из пары треугольников. Конечно же, для достижения нужного эффекта придется отрендерить эту модель не один раз, а тысячу, десять тысяч раз за кадр. Поскольку в каждом листике содержится буквально пара треугольников, то его рендер будет практически мгновенным. Но вот тысячи повторных вызовов функций рендера совокупно очень заметно ударят по производительности.
Почему дизайн Go плох для умных программистов
На протяжении последних месяцев я использую Go для имплементаций Proof of Concept (прим.пер.: код для проверки работоспособности идеи) в свободное время, отчасти для изучения самого языка программирования. Программы сами по себе очень просты и не являются целью написания статьи, но сам опыт использования Go заслуживает того, чтобы сказать о нем пару слов. Go обещает быть (прим.пер.: статья написана в 2015) массовым языком для серьезного масштабируемого кода. Язык создан в Google, в котором активно им пользуются. Подведя черту, я искренне считаю, что дизайн языка Go плох для умных программистов.
14 лучших метроидваний на PC

Метроидвания — один из тех жанров, сформулировать границы которых довольно сложно. Само его название является соединением двух довольно разных серий игр — Metroid и Castlevania. Признаки принадлежности к жанру всегда были предметом споров. Поэтому мы подозреваем, что это будет один из самых противоречивых списков: мы обязательно пропустим чью-нибудь любимую игру, которую не посчитали метроидванией. Тем не менее, все выбранные нами игры потрясающи.
Нужно честно признаться, что мы ограничились довольно консервативной интерпретацией жанра — только теми играми, которые соответствуют классической модели огромного исследуемого мира с разблокируемыми областями, к которым нужно возвращаться, и получаемыми новыми возможностями. Мы стремились по возможности отсеять игры, которые лучше соответствуют категории «roguelike/lite», а также те, которые можно просто описывать словом «платформеры». Да, такой выбор — настоящее минное поле. А способность обнаружения мин мы на карте ещё не нашли.
Поэтому нет, Dark Souls и её родственники сюда не относятся, как и Бэтмен с его приключениями в Аркхэме. Вы против? Как вам угодно. Однако самой противоречивой игрой, не вошедшей в наш список, стала Dead Cells. Кто-то с жаром возражал, что это настоящая метроидвания, другие справедливо утверждали, что это roguelite-платформер с увеличивающимся набором навыков. Да, без споров не обошлось.
Игры никак не ранжированы и перечислены в случайном порядке. Ну ладно, поехали!
Как бороться с репостами или пара слов о перцептивных хешах
перцептивный хэш-алгоритмы описывают класс функций для генерации сравнимых хэшей. Они используют различные свойства изображения для построения индивидуального «отпечатка». В дальнейшем эти «отпечатки» можно сравнивать друг с другом.
Если хэши отличаются, значит, данные разные. Если хэши совпадают, то данные, скорее всего, одинаковые (поскольку существует вероятность коллизий, то одинаковые хэши не гарантируют совпадения данных). В этой статье речь пойдет о нескольких популярных методах построения перцептивный хешей изображения, а также о простом способе борьбы с коллизиями. Всем кому интересно, прошу под кат.
Как побороть распространенные артефакты графики
«Надо убрать серые пятна и белые линии. Тут пульсирующая кнопка дергается, там прогресс-бар лесенкой идет».
Смотришь игровые ресурсы — нет в них ничего такого, все спрайты обрезаны. Читаешь код — формулы правильные, точности шейдера хватает. Но результат все равно получился неважный. Где ошибка?

Небольшой опрос для тех, кто уже знает откуда берутся артефакты. Что делать в такой ситуации?
- Нужна мощная видеокарта и свежие драйверы;
- Стоит сделать скачиваемые наборы графики для всех возможных разрешений экрана;
- У квадратных текстур с размерами степени двойки нет таких проблем;
- Это все из-за сжатия графики (PVRTC/DXT5/ETC1/...);
- В графическом редакторе придется слегка размазать края;
- Так и должно было получиться, ведь мы не подготовили графические данные;
- Поможет только антиалиасинг;
- Нужны текстуры и таргеты в режиме premultiplied alpha.
Какой вариант ответа правильный, почему именно он и как побороть артефакты графики читайте под катом.
Планетарный ландшафт

Рис.1 карта высот + плоскость = ландшафт
Почему это работает? Если представить, что игрок находится на поверхности сферы, и радиус этой сферы чрезвычайно велик по отношению к размеру игрока, то искривлением поверхности можно пренебречь и использовать плоскость. Но что если не пренебрегать тем фактом, что мы находимся на сфере? Своим опытом построения такого рода ландшафтов я хочу поделиться с читателем в данной статье.
Использование ImGui с SFML для создания инструментов для разработки игр
Привет, Хабр!
Данная статья — вольный перевод моей статьи на русский с некоторыми небольшими изменениями и улучшениями. Хотелось бы показать как просто и полезно использовать ImGui с SFML. Приступим.
Введение
При разработке игр очень важно иметь хорошие инструменты для создания контента (редактор уровней, ресурсов и пр.), а также для дебаггинга. Наличие данных вещей повышает производительность и креативность. Гораздо проще отлавливаются баги и исправляются уже найденные: легко выводить значение различных переменных, а также создавать виджеты для их изменения, чтобы посмотреть, что происходит с игрой при определённых их значениях. Виджеты для изменения переменных также очень полезны для полировки геймплея. Например, можно легко изменять скорость передвижения персонажей, скорость перезарядки оружия и пр.
Вот какие инструменты я создал с помощью ImGui для своей игры:
Редактор уровней
Введение в процедурную анимацию: инверсная кинематика

Часть 4. Введение в градиентный спуск
Эта часть представляет собой теоретическое введение в инверсную кинематику и содержит программное решение, основанное на градиентном спуске (gradient descent). Эта статья не будет всеобъемлющим руководством по этой теме, это всего лишь общее введение. В следующей части мы покажем настоящую реализацию этого алгоритма на C# в Unity.
Серия состоит из следующих частей (части 1-3 представлены в предыдущем посте):
- Часть 1. Введение в процедурную анимацию
- Часть 2. Математика прямой кинематики
- Часть 3. Реализация прямой кинематики
- Часть 4. Введение в градиентный спуск
- Часть 5. Инверсная кинематика для робота-манипулятора
- Часть 6. Инверсная кинематика щупалец
Часть 7. Инверсная кинематика лап паука
Изучение английского языка с помощью параллельных переводов
Находясь за рубежом, можно легко вычислить русских, только начинающих говорить на английском. Характерно твердое произношение согласных, и произношение слов английских слов — как пишется, так и читается.
Если вы поставили перед собой цель — изучить английский язык, то можно обратить внимание на изучение английского языка с помощью параллельных переводов. Этот способ мало вам поможет — если ваша цель — разговорный английский. Но если вы хотите свободно читать английскую литературу, то параллельные переводы — это хороший способ сформировать обширный словарный запас и освоить произношение слов.
На сайте getParallelTranslations.com процесс изучения английских слов с помощью параллельных переводов выглядит следующим образом.
Есть набор художественных книг. На данный момент их около пятидесяти. Вы можете выбрать любую из книг для изучения английского языка.
Каждая книга разбита на предложения как показано на рисунке ниже.
Элиза
Регистрируем торговую марку в США

Вопрос этот, прямо скажем, волнует не каждого. Но если вы планируете серьёзно выходить на рынок США, то этот вопрос обязательно возникнет. Минусов или проблем от регистрации торговой марки нет, но это стоит некоторых денег. Зато после регистрации, можно будет писать на сайте и в рекламной продукции — МояМарка ®. Это добавит вашему продукту/услуге некоторой солидности.
Ранее на хабре был топик по патентам. Я же раскажу о регистрации торговой марки, как всегда на своём опыте.
Ctrl+СОН (контролируем сон с помощью гаджетов)
Поскольку для меня тема актуальная, тут же захотелось найти какой-то гаджет, который мог бы будить меня в «правильной фазе сна». Что такое фазы сна написано в статье по ссылке выше.
Погуглив немного нашел три варианта, каждый из которых обещал разбудить меня именно тогда, когда я смогу это сделать без лишних усилий и головной боли и потом целый день себя чувствовать прекрасно.
Вот они:
Спать мало, но правильно?
Но я вот наткнулся на него сегодня и решил написать кое-что о сне. Уверен, что это будет полезно многим хабравчанам, да и случайным читателям тоже.
Локализация и деньги
Эпиграф
В далеком 1995-м деньги просто падали с небес тому, кто умел их подбирать. Это коснулось и игр.
Как только вышла в свет прекраснейшая, сделанная на полном энтузиазме, локализованная версия игры «Warcraft II», мужик (парень, как вариант) посмотрел, как голодный русско-язычный народ расхватывает горячие пирожки с надписью «русская версия», и понял «Это хорошо!». И понеслась…
Пиратская локализация. Как это было
Итак, за окном шел дождь, и календарь отсчитывал 1991 год…
Information
- Rating
- Does not participate
- Location
- Ростов-на-Дону, Ростовская обл., Россия
- Date of birth
- Registered
- Activity