Как стать автором
Обновить
0
0

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

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

Где мои деньги чувак: оформление и бандлы Steam, локализация и дистрибуторы

Время на прочтение27 мин
Количество просмотров19K
Это длиннющие следующие три части из цикла «где мои деньги, чувак» в которых мы будем говорить о важности оформления странице на Steam, работе с комьюнити и важности региональных ограничений. Посмотрим на дистрибьюторов и рынок 3d-party дистрибуции, альтернативных открытых платформах, бандлах, фондах и лучших практиках краудфандинга в 2018 году. Наконец, посмотрим на то, что важно для безболезненной локализации игр и сколько это стоит.

Помимо веселых гифок мы снова будем считать чужие деньги и строить грандиозные планы покорения мира.
Читать дальше →
Всего голосов 30: ↑29 и ↓1+28
Комментарии13

Как с первого раза попасть в AppStore: пошаговое руководство

Время на прочтение11 мин
Количество просмотров11K


К запуску курса «Fullstack мобильный разработчик», проводимого совместно с агентством Agima, мы подготовили серию материалов о том, как создавать приложения для мобайла. Будем говорить о кейсах, цифрах, правилах и провалах, но начнем, вместе с Никитой Архиповым из студии Anvics, с темы прохождения релиза в App Store. Разберем, как договориться с ревью-командой и избежать проблем, по шагам расскажем про техническую сторону — от создания сертификата до взаимодействия с Itunes Connect — и про то, о чем все молчат, — как же все таки пройти ревью с первого раза. Готовьте лапки, и поехали!

Пы сы: а еще в этой серии материалов спрятаны скидки на курс: в каждом посте по мобильной разработке есть ребус, в котором зашифровано слово или название решения из области мобайла. За отгаданный ребус вы получаете скидку 10%! Кстати, скидки суммируются, так что если соберете их все, то сможете отхватить курс по очень вкусной цене! Первый ребус ищите уже в этом тексте!

Читать дальше →
Всего голосов 27: ↑20 и ↓7+13
Комментарии1

«Магическая константа» 0x5f3759df

Время на прочтение9 мин
Количество просмотров124K
В этой статье мы поговорим о «магической» константе 0x5f3759df, лежащей в основе элегантного алгоритмического трюка для быстрого вычисления обратного квадратного корня.

Вот полная реализация этого алгоритма:

float FastInvSqrt(float x) {
  float xhalf = 0.5f * x;
  int i = *(int*)&x;  // представим биты float в виде целого числа
  i = 0x5f3759df - (i >> 1);  // какого черта здесь происходит ?
  x = *(float*)&i;
  x = x*(1.5f-(xhalf*x*x));
  return x;
}

Этот код вычисляет некоторое (достаточно неплохое) приближение для формулы

image

Сегодня данная реализация уже хорошо известна, и стала она такой после появления в коде игры Quake III Arena в 2005 году. Её создание когда-то приписывали Джону Кармаку, но выяснилось, что корни уходят намного дальше – к Ardent Computer, где в середине 80-ых её написал Грег Уолш. Конкретно та версия кода, которая показана выше (с забавными комментариями), действительно из кода Quake.
В этой статье мы попробуем разобраться с данным хаком, математически вывести эту самую константу и попробовать обобщить данный метод для вычисления произвольных степеней от -1 до 1.

Да, понадобится немного математики, но школьного курса будет более, чем достаточно.
Читать дальше →
Всего голосов 212: ↑210 и ↓2+208
Комментарии188

Что за болезнь: рак. Риски и мифы

Время на прочтение14 мин
Количество просмотров57K
В первой статье о раке мы рассказали, что это за болезнь и как она развивается. После прочтения у многих возник вопрос, что влияет на развитие злокачественной опухоли. Сегодня эксперты проекта Solo биомедицинского холдинга Атлас расскажут о реальных и мифических факторах, которые повышают риск онкологических заболеваний.


Иллюстрации: Майкл Ковальски
Читать дальше →
Всего голосов 39: ↑38 и ↓1+37
Комментарии129

Введение в процедурную анимацию

Время на прочтение11 мин
Количество просмотров52K
image

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

GIF

Серия будет состоять из следующих частей:

Всего голосов 48: ↑46 и ↓2+44
Комментарии3

Лайфхаки редактора Unity 3D. Часть 1: Атрибуты

Время на прочтение8 мин
Количество просмотров119K

Содержание


  • Часть 0. Перечень GUI элементов, используемых в статьях
  • Часть 1. Атрибуты
  • Часть 2. Окна
  • Часть 3. Редактор класса, наследника от MonoBehavior или ScriptableObject
  • Часть 4. Редактор класса, кастомный редактор для сериализуемой переменной

Предисловие


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

Большая часть взята из опыта использования, куда попала из родной документации движка. Вы легко можете сами найти необходимую информацию, поворошив документацию Unity 3D. Просто, по собственному опыту скажу, что у многих программистов либо нет времени, либо нет желания копаться в мантрах. Поэтому и выкладываю максимально краткое руководство по основным редакторским возможностям, которые я использовал на работе и в своих проектах.
Читать дальше →
Всего голосов 9: ↑8 и ↓1+7
Комментарии11

Топ 15 бесплатных Unity ассетов для начинающего 2D разработчика

Время на прочтение4 мин
Количество просмотров112K

Введение


Unity3D – безумно удобная среда, которая многое делает за нас. Именно поэтому она сейчас так востребована: разработка игр при правильном подходе становится не сложнее сборки конструктора.

Сама платформа Unity предоставляет широкий набор инструментов, но иногда не хватает и их. Тогда в дело вступает Asset Store с миллионами ассетов, моделей и примеров проектов.



Если у вас еще мало опыта в разработке приложений, имейте в виду: Asset Store – это огромный склад велосипедов, которые уже изобрели до вас. При этом там можно найти очень много бесплатного контента, или же контента по цене одной чашки кофе (сэкономьте на латте!).

Почему мы посвятили статью именно 2D играм? Посмотрите на рынок: 2D игры сейчас переживают ренессанс. Чтобы в этом убедиться, достаточно взглянуть на инди-сектор в Steam, Ketchapp и Zeptolab в мобильной разработке. 2D игры давно превратились из отжившего свое сектора в отдельную процветающую нишу рынка. Поэтому если вы решили делать 2D игру на Unity, сначала убедитесь, что у вас в арсенале есть все нужные инструменты, чтобы обеспечить должное качество продукта.
Читать дальше →
Всего голосов 11: ↑10 и ↓1+9
Комментарии4

Готовим Physically Based Rendering + Image-based Lighting. Теория+практика. Шаг за шагом

Время на прочтение24 мин
Количество просмотров38K
Хей, привет. 2017 год на дворе. Даже простенькие мобильные и браузерные приложения начинают потихоньку рисовать физически корректное освещение. Интернет пестрит кучей статей и готовых шейдеров. И кажется, что это должно быть так просто тоже обмазаться PBR… Или нет?

В действительности же честный PBR сделать достаточно сложно, потому что легко достичь похожего результата, но сложно правильного. И в интернете полно статей, которые делают именно похожий результат, вместо правильного. Отделить мух от котлет в этом хаосе становится сложно.
Поэтому цель статьи не только разобраться, что же такое PBR и как он работает, но и научиться писать его. Как отлаживать, куда смотреть, и какие ошибки типично можно допустить.
Статья рассчитана на людей, которые в достаточной мере уже знают hlsl и неплохо знакомы с линейной алгеброй, и можете написать свой простейший неPBR Phong свет. В общем я постараюсь как можно проще объяснить, но рассчитываю на то, что некоторый опыт работы с шейдерами вы уже имеете.
Читать дальше →
Всего голосов 46: ↑46 и ↓0+46
Комментарии11

Нейросеть генерирует движения персонажа видеоигры в реальном времени

Время на прочтение4 мин
Количество просмотров37K
image

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

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

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

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

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

Исследователи из Эдинбургского университета разработали новую систему обучения, называемую фазово-функциональной нейронной сетью (PFNN), которая использует машинное обучение для анимации персонажей в видеоиграх и других приложениях.
Всего голосов 48: ↑44 и ↓4+40
Комментарии94

Физика поездов в Assassin's Creed Syndicate

Время на прочтение14 мин
Количество просмотров20K

В этой статье я хочу рассказать о нашем собственном симуляторе, созданном для моделирования физики поездов в Assassin's Creed Syndicate. Действие игры происходит в Лондоне 1868 года, в период промышленной революции, когда развитие общества зависело от пара и стали. Для меня было огромным удовольствием поработать над уникальной возможностью реализации мира Лондона викторианской эпохи. Внимание к историческим и реальным деталям привело нас к созданию этой физической симуляции.

Введение


Сегодня писать свои физические движки не очень популярно. Однако бывают ситуации, в которых создание собственного физического симулятора с нуля чрезвычайно полезно. Такие ситуации могут возникать, когда есть особая необходимость в новой геймплейной функции или части симулируемого игрового мира. Именно такая проблема возникла у нас при разработке системы железных дорог и управления поездами в Лондоне 19-го столетия.

Стандартная система соединения европейских поездов приведена на Рис. 1 слева. Такая же система использовалась в поездах 19-го века в Лондоне [1]. Когда мы начали работу над поездами, то быстро осознали, что можно создать интересные взаимодействия и зависимости, симулируя стяжку физически. Поэтому вместо жёсткого скрепления вагонов мы соединили их подвижным сцепным устройством, управляющим движением всех вагонов поезда.

image
Рис. 1. Слева — детали винтовой стяжки (источник: Википедия [1]). Справа — соединительная система в Assassin’s Creed Syndicate.
Всего голосов 47: ↑44 и ↓3+41
Комментарии19

Перевод: Анатомия игрового движка Total War, Часть 1

Время на прочтение3 мин
Количество просмотров11K


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

Кому интересно, добро пожаловать под кат!
Читать дальше →
Всего голосов 16: ↑12 и ↓4+8
Комментарии5

Нейронные сети для начинающих. Часть 1

Время на прочтение7 мин
Количество просмотров1.6M
image

Привет всем читателям Habrahabr, в этой статье я хочу поделиться с Вами моим опытом в изучении нейронных сетей и, как следствие, их реализации, с помощью языка программирования Java, на платформе Android. Мое знакомство с нейронными сетями произошло, когда вышло приложение Prisma. Оно обрабатывает любую фотографию, с помощью нейронных сетей, и воспроизводит ее с нуля, используя выбранный стиль. Заинтересовавшись этим, я бросился искать статьи и «туториалы», в первую очередь, на Хабре. И к моему великому удивлению, я не нашел ни одну статью, которая четко и поэтапно расписывала алгоритм работы нейронных сетей. Информация была разрознена и в ней отсутствовали ключевые моменты. Также, большинство авторов бросается показывать код на том или ином языке программирования, не прибегая к детальным объяснениям.

Поэтому сейчас, когда я достаточно хорошо освоил нейронные сети и нашел огромное количество информации с разных иностранных порталов, я хотел бы поделиться этим с людьми в серии публикаций, где я соберу всю информацию, которая потребуется вам, если вы только начинаете знакомство с нейронными сетями. В этой статье, я не буду делать сильный акцент на Java и буду объяснять все на примерах, чтобы вы сами смогли перенести это на любой, нужный вам язык программирования. В последующих статьях, я расскажу о своем приложении, написанном под андроид, которое предсказывает движение акций или валюты. Иными словами, всех желающих окунуться в мир нейронных сетей и жаждущих простого и доступного изложения информации или просто тех, кто что-то не понял и хочет подтянуть, добро пожаловать под кат.
Читать дальше →
Всего голосов 70: ↑60 и ↓10+50
Комментарии64

Сжатие мобильной графики в формат ETC1 и открытая утилита

Время на прочтение9 мин
Количество просмотров17K
При развитии free-to-play мобильной игры вместе с новыми фичами регулярно добавляется и новая графика. Часть ее включается в дистрибутив, часть скачивается в ходе игры. Для возможности запуска приложения на устройствах с небольшим размером оперативной памяти разработчики применяют аппаратно сжатые текстуры.



Формат ETC1 обязателен к поддержке на всех Android-устройствах с OpenGL ES 2.0 и является хорошей отправной точкой оптимизации потребляемой оперативной памяти. По сравнению с форматами PNG, JPEG, WebP загрузка текстур ETC1 осуществляется без интенсивных расчетов обычным копированием памяти. Также улучшается производительность игры по причине меньших размеров данных текстур пересылаемых из медленной памяти в быструю.
Читать дальше →
Всего голосов 27: ↑26 и ↓1+25
Комментарии15

Как рендерится кадр нового Doom

Время на прочтение15 мин
Количество просмотров106K


Выпущенный в 1993 году первый DOOM внёс фундаментальные изменения в разработку игр и механик, он стал мировым хитом и создал новых идолов, таких как Джон Кармак и Джон Ромеро.

Сегодня, 23 года спустя, id Software принадлежит Zenimax, все основатели уже покинули компанию, но это не помешало коллективу id продемонстрировать весь свой талант, выпустив отличную игру.
Читать дальше →
Всего голосов 156: ↑155 и ↓1+154
Комментарии94

Интерполяция замкнутых кривых

Время на прочтение8 мин
Количество просмотров17K
Всем привет! Недавно возникла практическая необходимость использовать интерполяцию для замкнутых кривых. Проект разрабатывался под .Net на C#, а готовых реализаций алгоритма я не обнаружил, впрочем, как и для других языков и технологий. В результате пришлось самому изучить мат.часть существующих методов и написать свою библиотеку. Наработками и готовым решением готов поделиться с вами.


Читать дальше →
Всего голосов 45: ↑44 и ↓1+43
Комментарии18

Input lag во время рендеринга и как его побеждать

Время на прочтение6 мин
Количество просмотров34K
Привет всем. Многие из вас знакомы с лагом ввода. Это бывает, когда вас в очередной раз убивают в компьютерной игре, и вы кричите: «Ну я же нажал блок/атаку/уворот». Ну а затем джойстик летит в стену. Знакомо? Происходит это потому, что между нажатием клавиш и появлением результата на экране проходит значительное время. Фактически, когда вы смотрите в экран — вы видите прошлое состояние, которое может абсолютно не отражать действительность.

Если вы разрабатываете собственную игру, или вообще занимаетесь рендером, и хотите уменьшить задержки ввода, то крайне советую заглянуть под кат.
Поехали
Всего голосов 65: ↑64 и ↓1+63
Комментарии37

Путь инди-разработчиков на рынке Steam Greenlight: Проект №1

Время на прочтение6 мин
Количество просмотров16K
Приветствую, коллег по цеху и всех тех, кто подумывает о начале работы в игровой индустрии. Сегодня я от лица своей команды разработчиков игр начинаю серию статей, в которых собираюсь поделиться с вами нашим опытом в геймдеве. Также постараюсь затронуть как можно больше аспектов по работе с рынком Steam, по большей части тех, которые пока еще не были освещены на Хабре.

Среди рассмотренных будут следующие темы:

1. Наш опыт в выборе подходящей идеи и движение от первых наработок до полноценного продукта.
2. Проведение маркетинговой компании. Что способствовало раскрутке нашей игры и что в итоге помешало нашей стать игре более узнаваемой.
3. Юридические вопросы, связанные с работой с рынком Steam. Открытие ИП или ООО. Выбор валютного расчетного счета.

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

Целью статьи является возможность поделиться с вами опытом, поэтому по ходу статьи практически не будут делаться выводы (их вы только увидите в конце), в основном будут приводится факты и результаты тех или иных наших решений.
Читать дальше →
Всего голосов 23: ↑22 и ↓1+21
Комментарии15

Прокачка pointlight теней в Unity

Время на прочтение9 мин
Количество просмотров14K
image

Аналогов подобных теней для точечного источника света (Pointlight с эффектом размытия на расстоянии, имитирующий arealight) в компьютерных играх я почему-то до сих пор не встречал. Везде — либо полностью запечённые тени, либо «лампочки» вообще без теней, максимум — обыкновенная PCF-фильтрация. Хотя для направленного солнечного света уже давно применяются PCSS-тени (GTA5, например). В Unreal есть интересный алгоритм сродни рейтрейсингу, который рисует красивые arealight-тени, но только для статической геометрии (требуется генерация дополнительных объёмов). В Unity же всё совсем плохо — мягко фильтруется только солнечный свет, а «прожекторы» и «лампочки» в пролёте.
Читать дальше →
Всего голосов 30: ↑30 и ↓0+30
Комментарии22

Наручный аэродром для дронов и юбка-бесконечность: новые работы SexyCyborg

Время на прочтение3 мин
Количество просмотров38K


Пользователь Reddit с ником SexyCyborg на днях опубликовала сообщение с описанием своего нового проекта, получившего название «юбка-бесконечность». SexyCyborg — это девушка из Китая, которой нравится разрабатывать необычные электронные устройства. Также ее интересует сфера информационной безопасности. На Geektimes уже писали о разработках юного дарования: туфлях с тайником, распечатанных на 3D принтере и "Сияющей юбке" с лентой из светодиодов.

Китаянка создала еще и наручную станцию для миниатюрных дронов, которая позволяет носить эти устройства везде и всюду, не боясь их повредить.
Читать дальше →
Всего голосов 45: ↑39 и ↓6+33
Комментарии53

Adventure Jam 2016

Время на прочтение13 мин
Количество просмотров9.3K
image

Хочется рассказать про опыт участия в Adventure Jam 2016. Некоторое время назад я решил попробовать принять участие в каком-нибудь геймджеме и вывесил пост про поиск команды в одном из сообществ вконтакте. Прошло больше месяца, никто не писал, и я уже забыл об этой затее, но внезапно на связь вышел художник Сергей. Довольно быстро мы нашли крупный конкурс длиной в две недели, темой которого были игры-адвенчуры. Решено было делать классический point'n'click-квест. Команду пополнили аниматор Борис и композитор Василий, за несколько скайп-сессий мы обсудили сеттинг и сюжет, после чего принялись за работу. Под катом вы найдете небольшой постмортем в четырех частях от лица каждого участника команды, с описанием техпроцесса, проблемами и решениями, впечатлениями и выводами, которые каждый вынес из участия.
Читать дальше →
Всего голосов 17: ↑17 и ↓0+17
Комментарии11

Информация

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