Как стать автором
Обновить
177
0
Никита Гук @dartmessiah

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

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

«Процедурное рисование» в ComfyUI

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

Кто интересуется темой рисующих нейросетей знают, что сейчас самый продвинутый и часто используемый интерфейс для Stable Diffusion (далее SD) это Automatic1111. Он позволяет использовать, вероятно, все существующие возможности SD на сегодня. Множество расширений, регулярные обновления и поддержка сообщества делают его мощным и удобным инструментом для генерации изображений. Но есть и альтернативные решения, одно из которых я сегодня рассмотрю.

Статья подойдет как тем кто уже пользуется Automatic1111, так и тем кто только планирует более глубоко погрузиться в мир "процедурного рисования".

Читать далее
Всего голосов 70: ↑70 и ↓0 +70
Комментарии 25

Добавляем ботов в мультиплеерный шутер на Unity

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

С ростом проекта в него приходит постоянно приходит новая аудитория: как матерые игроки, так и новички в жанре. Закинуть всех в один матч можно, но первым будет скучно, а вторым — сложно. В итоге всех можно потерять уже на старте.

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

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

Читать далее
Всего голосов 47: ↑46 и ↓1 +45
Комментарии 2

Насколько быстры компьютеры

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

Время для компьютеров течет не так, как для людей. То, что человеческим мозгом воспринимается как мгновение, для компьютеров растягивается на долгие эпохи. Данная статья — это метафора, в попытке осознать это простой и в общем-то очевидный факт.

Читать далее
Всего голосов 152: ↑151 и ↓1 +150
Комментарии 60

Опыт коррекции зрения под общим наркозом по методике ReLEx Smile или Крайне мучительное восстановление

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

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

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

Читать далее
Всего голосов 276: ↑275 и ↓1 +274
Комментарии 311

Аим-ассист в мультиплеерном шутере — как сделать правильно

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

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

Пару лет назад в нашем онлайн-шутере вообще не было аим-ассиста и автострельбы. Даже в сторе было написано, что Pixel Gun 3D — «hardcore shooter». Нас это устраивало, пока не стало сложнее привлекать новую аудиторию. Даже несмотря на обучение и матчмейкинг, новичкам было сложно освоиться.

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

Читать далее
Всего голосов 67: ↑67 и ↓0 +67
Комментарии 33

Потратить время сейчас, чтобы сэкономить потом: как мы выстраивали процессы разработки и планирования на игровом проекте

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

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

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

Материал для тех, кто задумался о долгосрочном планировании или только начал выстраивать процессы у себя. Внутри я подробно рассказал про наш опыт: как мы целиком обновили воркфлоу разработки, внедрили Jira, систему оценки фичей ICE, методологию планирования GIST, а также целую пачку новых инструментов и гуглдоков. Теперь мы на несколько месяцев вперед точно знаем, что будет в проекте. 

Читать далее
Всего голосов 42: ↑39 и ↓3 +36
Комментарии 6

Как за день потерять 30% онлайна и за два месяца сделать батлрояль

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

Однажды в своем PvP-шутере мы за один день потеряли 30% от 60 тысяч одновременного онлайна. Это был 2018-й, в тот день на iOS вышел Fortnite. И хотя хайп был уже около года, а PUBG регулярно бил рекорды, без королевской битвы нам жилось вполне спокойно. Но тут стало очевидно, что батлрояль нельзя игнорировать, игрокам он нравится и нужно разрабатывать свой.

За два месяца мы проделали много интересной и сложной работы. Например, сделали свой редактор террейна, чтобы отрисовывать ландшафт не в 500 тысяч треугольников, как это делал Unity Terrain, а всего в 30 тысяч. Или написали мешбейкер, сократив количество запросов на отрисовку с 800 до 100, а освещение научились запекать за 5 минут вместо 30 часов. 

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

Читать далее
Всего голосов 66: ↑66 и ↓0 +66
Комментарии 20

«Почему Kotlin хуже, чем Java?»

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

Такой провокационный вопрос задал реддитор nenemen в сабреддите Java:

«Я думаю о том, чтобы свой следующий проект сделать на Kotlin + Spring Boot, но мощь всенародной любви к Kotlin и одновременно ненависти к Java заставляют всё это походить на какой-то культ. Поэтому хотел бы услышать аргументы «против».

Мы в FunCorp в своё время сделали именно такой выбор в пользу Kotlin. И сегодня соотношение Java/Kotlin у нас составляет примерно 20 на 80, продолжая уменьшаться при каждом удобном случае. Поэтому ответы на этот вопрос меня заинтересовали, и я стал листать секцию комментариев. Там наткнулся на реплику реддитора rzwitserloot, которая мне показалась настолько взвешенной, многосторонней и рациональной, что я захотел поделиться ей с нашей командой, а заодно и читателями Хабра.

Далее перевод его аргументов.

Читать далее
Всего голосов 157: ↑143 и ↓14 +129
Комментарии 681

Тренды для разработчиков игр: зачем добавлять режим Among Us в свой проект

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

В прошлом году мы добавили в мобильный PvP-шутер режим Imposter по мотивам игры Among Us — переработанную и переосмысленную в 3D мини-игру с новыми механиками и фичами. Она стала популярным местом входа в игру даже среди тех, кто раньше не слышал про Pixel Gun. Другой пример: когда зарелизился Fortnite, мы за один день потеряли треть онлайна, и чтобы вернуть игроков, сделали свою реализацию батлрояля. Решение сработало — оказалось, им просто не хватало королевской битвы. То есть тренды, это не просто желание хайпануть — это возможность разговаривать с аудиторией на их языке.

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

Читать далее
Всего голосов 38: ↑37 и ↓1 +36
Комментарии 18

Как мы «вырастили» и победили читеров в своем онлайн-шутере

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

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

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

Читать далее
Всего голосов 93: ↑88 и ↓5 +83
Комментарии 111

Нарратив и «подземелья»: как геймдизайнеру связать локации с сюжетом

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


Много раз задумывался, что повествование в играх с открытым миром — отдельное искусство геймдизайна. Надо вовлечь игрока в исследование локаций, разнообразить все сайд-квестами, не слишком отвлекать от основной линии, и так далее. И нашел статью, где описывается один такой инструмент — концепт «подземелий» для последовательного перехода между важными частями сюжета. Всё на примерах Metroid, Zelda, Control и с общими выводами.
Читать дальше →
Всего голосов 19: ↑15 и ↓4 +11
Комментарии 3

BlessRNG или проверяем ГСЧ на честность

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


В геймдеве часто нужно что-нибудь завязать на рандоме: у Unity для этого есть свой Random, а параллельно с ним существует System.Random. Когда-то давно на одном из проектов сложилось впечатление, что оба могут работать по-разному (хотя должны иметь равномерное распределение).

Тогда в детали углубляться не стали — хватило того, что переход на System.Random исправил все проблемы. Сейчас решили разобраться подробнее и провести небольшое исследование: насколько «предвзяты» или предсказуемы ГСЧ, и какой выбрать. Тем более, я не раз слышал противоречивые мнения об их «честности» — попробуем разобраться, как реальные результаты соотносятся с заявленными.
Читать дальше →
Всего голосов 21: ↑19 и ↓2 +17
Комментарии 20

Рефлексия геймдизайнера: персонажи для игры, которая не вышла

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


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

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

Структура и манера описания меняется от персонажа к персонажу, потому что разным художникам нужны разные детали в описании, да и мои представления о приоритетах и акцентах менялись со временем. В рамках под концептами — уже сегодняшние комментарии.
Всего голосов 52: ↑52 и ↓0 +52
Комментарии 6

TDD в геймдеве или «кроличий ад»

Время на прочтение 7 мин
Количество просмотров 14K
TDD в геймдеве применяют довольно редко. Обычно проще нанять тестировщика, чем выделить разработчика для написания тестов — так экономятся и ресурсы, и время. Поэтому каждый успешный пример использования TDD становится интереснее. Под катом перевод материала, где эту технику разработки применили при создании передвижения персонажей в игре ElemenTerra.


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

Горячие клавиши Unreal Engine, которые сделают жизнь левел-дизайнера проще

Время на прочтение 6 мин
Количество просмотров 61K
Горячие клавиши используют все. Банальные Ctrl+C и Ctrl+V, а сколько раз выручал Ctrl+Z? Ну а Alt+F4? А если вспомнить количество негативных отзывов, когда в новых MacBook Pro добавили тачбар и вырезали ряд командных клавиш?

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


Читать дальше →
Всего голосов 35: ↑35 и ↓0 +35
Комментарии 0

«Почему надо фейлиться быстро»: Стив Коттон из Bungie о креативном процессе в компании

Время на прочтение 3 мин
Количество просмотров 10K
Сегодня стало известно о разделении Activision и Bungie — а у нас на руках как раз оказался материал с подборкой принципов креативного директора Bungie Стивена Коттона в разработке, отложенный до лучших времен, а перевести решили как раз сейчас. За этот материал отдельное спасибо нашему продюсеру Анатолию Шестову, который поговорил со Стивом в офисе компании во время PAX West 2018. Поехали.


Читать дальше →
Всего голосов 34: ↑31 и ↓3 +28
Комментарии 13

Как мы делали книжный сканер для судов

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


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

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

Задачей сканера было механически выровнять сканируемый материал на плоскости, а потом отсканировать.

С тех пор поменялись две вещи:
— Подходы к конструированию электроники.
— Подходы к машинному зрению.
Всего голосов 50: ↑50 и ↓0 +50
Комментарии 42

Симулируем реалистичную реку в Houdini и Unreal Engine 4

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


Когда только начался переход с DX9 на DX10 стало появляться много игр с круто смоделированной водой с правильными эффектами. Тогда разница была очень заметной, особенно если сравнивать игры прошлых поколений и тот же Crysis. Поэтому когда наткнулся на гайд, как сделать простую, но реалистичную симуляцию реки через плагин Houdini для UE4, то даже не стал задумываться и быстро перевел.
Всего голосов 46: ↑46 и ↓0 +46
Комментарии 3

Общая игровая логика на клиенте и сервере

Время на прочтение 16 мин
Количество просмотров 15K
На Pixonic DevGAMM Talks выступал еще наш DTO Антон Григорьев. Мы в компании уже говорили, что работаем над новым PvP-шутером и Антон поделился некоторыми нюансами архитектуры этого проекта. Он рассказал, как построить разработку, чтобы изменения в игровой логике клиента появлялись на сервере автоматически (и наоборот), и можно ли не писать код, но при этом минимизировать трафик. Ниже — запись и расшифровка доклада.

Всего голосов 34: ↑33 и ↓1 +32
Комментарии 6

Как создать игровой ИИ: гайд для начинающих

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


Наткнулся на интересный материал об искусственном интеллекте в играх. С объяснением базовых вещей про ИИ на простых примерах, а еще внутри много полезных инструментов и методов для его удобной разработки и проектирования. Как, где и когда их использовать — тоже есть.

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

UPD. Извиняюсь, но собственный перевод этой статьи на Хабре уже делал PatientZero. Прочитать его вариант можно здесь, но почему-то статья прошла мимо меня (поиском пользовался, но что-то пошло не так). А так как пишу в блог, посвященный геймдеву, решил оставить свой вариант перевода для подписчиков (некоторые моменты у меня оформлены по-другому, некоторые — намеренно пропущены по совету разработчиков).
Читать дальше →
Всего голосов 60: ↑60 и ↓0 +60
Комментарии 19

Информация

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