Pull to refresh
4
0
Send message

Как устроена система игровых событий в проектах Playrix

Reading time6 min
Views6.6K

В продолжение темы нашего движка VSO, которую затронули ребята в статьях про разработку нашей «маленькой Unity» и про улучшение редактора, расскажу об одной из систем, относящихся к игровой логике. Это кросс-проектная система игровых событий GameEvents.

Читать далее

Разработка мобильных игр на Unity. URP, 2D Animation и другие новомодные вещи на примере игры

Reading time8 min
Views9.3K

Всем привет! Это снова Илья и сегодня мы поговорим о технической реализации мобильной игры в современных реалиях. Статья не претендует на уникальность, однако в ней вы можете найти для себя что-то полезное. А чтобы рассмотреть разработку на реальном проекте - мы возьмем реализацию нашей игры, которая на днях выходит в Soft-Launch.

Читать далее

Работа с аудио в Unity — трассировка и облачные вычисления

Reading time4 min
Views3.6K

Всем привет! В этой статье мы рассмотрим пример работы с объемным аудио в Unity для консольных и ПК проектов. На данном примере будет описан пайплайн работы с аудио на крупном проекте с множеством источников звука, HRTF и др.

Читать далее

Введение в отладку на примере Firefox DevTools, часть 1 из 4

Reading time3 min
Views20K

Используете для отладки JavaScript-кода только console.log? Есть способ получше! Отладчик в Firefox DevTools помогает быстро находить ошибки в коде и бережёт ваши нервы и время.

Узнать, как сберечь нервы и время

Ускоряем цикл foreach до for

Reading time6 min
Views17K

Привет!

В этой небольшой заметке о быстром енумераторе для foreach на C#:

foreach (var i in 1..10)

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

Будет много бенчмарков и шарплаба. Прошу под кат!

Читать далее

Физическое моделирование на GPU с использованием compute shader в среде Unity3D

Reading time17 min
Views39K
В этом руководстве я расскажу, как использовать compute shader для реализации вычислений на видеокарте — на примере модели волос:

Метод проб и ошибок: как мы создавали кастомный импортер в Unity3D для текстурных массивов

Reading time10 min
Views5.1K

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

Раньше на проекте  War Robots у нас был устоявшийся и вполне рабочий пайплайн по импорту текстурных массивов, на выходе которого мы получали массивы в конечном формате (ASTC, ETC2), отлично удовлетворяющие нашим требованиям для мобильных платформ. С этим все у нас было хорошо — до поры. Проблемы начались тогда, когда возникла необходимость релиза на ПК. 

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

Читать далее

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

Reading time7 min
Views9.7K

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

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

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

Читать далее

AltUnity Tester для автоматизации Unity проектов

Reading time3 min
Views5.6K

AltUnity Tester - это инструмент автоматизации тестирования на основе пользовательского интерфейса с открытым исходным кодом, который помогает находить объекты в вашей игре Unity и взаимодействовать с ними с помощью тестов, написанных на C #, Python или Java.

Читать далее

Шо, опять?

Reading time10 min
Views48K

В работе с гостевыми Wi-Fi сетями столкнулся с неприятной проблемой. Много устройств Apple iPhone и iPad отключается от Wi-Fi при затухании экрана (блокировка) и, при отсутствии мобильного интернета, сообщения из мессенджеров не приходят и гости эмоционально реагировали: «не в АйФоне же дело!? Дома всё в порядке на домашнем роутере!»

Дело почти дошло до «замены шлюза с встроенным контроллером точек доступа», управляющего десятками точек доступа, но ведь у Андроидов и Windows-устройств всё в порядке было...

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

Читать далее

Здоровый сон взрослого человека — это засыпать за 15 минут и не вставать ночью попить и пописать

Reading time13 min
Views167K


Послушала на днях 2х-часовое выступление «Здоровый сон» врача-невролога, сомнолога Елены Царевой. Выдернула самые важные для себя пункты:

  1. Спать регулярно, ложиться и вставать в одно и то же время — самое важное. 
  2. Биоритмы — частично наследуются, частично регулируются стилем жизни. На них можно влиять самому.
  3. Нормальное время отхода ко сну около 22:00. Сова и жаворонок — это отклонение на ±1-2 часа. Больше — это нарушение и сдвиг фазы сна, чаще из-за внешних раздражителей.
  4. Самая частая причина плохого сна и тяжелого засыпания — неправильный свет.
  5. Для сдвига режима на 1 час организму нужен 1 день на адаптацию.
  6. Невозможно «доспать» бессонную ночь. Досыпание устраняет только 30% последствий недосыпа.
  7. Прежде, чем искать причины плохого сна, исключите психологические проблемы (тревожность, депрессию), нарушения щитовидки, дефицит железа, диабеты, сердечно-сосудистые заболевания и патологию почек и мочеполовой системы.
  8. Водителям и пассажирам: 17 часов без сна равны 0,5 промилле, 21 час без сна — 0,8 промилле.
  9. В постели без сна больше 15 минут не находиться — совет при бессоннице. 
  10. Самые физиологичные будильники — те, что светятся. 

Под катом конспект 2х-часового выступления про сон на 15 минут чтения. Еще один поинт в копилку полезных материалов про сон — Sleep Hackers.
Читать дальше →

Оптимизация игр на Unity: проверенный в деле план

Reading time10 min
Views38K

Оптимизация игр — отдельная головная боль разработчиков, процесс, который может идти бесконечно. Нужно учесть загрузку процессора, видеокарты и не потерять FPS. Нашли статью, автор которой 13 лет разрабатывает на Unity и делится советами по оптимизации. Под катом есть пошаговый план, как сделать проект на Unity более производительным.

Читать далее

Халява с Юлы и Авито

Reading time10 min
Views59K

Как вы думаете, многие люди используют дома холодильники и стиральные машины? Наверное практически все. А ломается эта техника? Еще как! А всегда ли ее потом чинят? Наверное кто-то чинит. А кто-то не чинит, а хочет от нее избавиться. А как проще всего избавиться? Вынести на помойку? А если вы живете на 3…5 этаже без лифта? Может быть выкинуть в окно? ;-) Нет, гораздо проще дать бесплатное объявление типа «Отдам даром старый холодильник. Морозит кое как самовынос  и самовывоз». Объявление можно дать на авито или юлу. Указать свой номер телефона и всегда найдутся желающие взять технику. Что-то можно будет сдать в прием лома, что-то пустить на запчасти, а что-то может и починить, если есть навыки.

Только вот есть интересные моменты: сколько может найтись таких желающих и как быстро они найдутся?

Забегая вперед скажу: желающих может найтись много, и найдутся они очень быстро. В СПб, в среднем, холодильник в любом состоянии находит нового владельца за 1…2 минуты. Время очень короткое, неправда  ли? А теперь я расскажу мою историю по порядку.

Несколько лет назад, мне по работе приходилось мотаться по городу. Причем ездил я в основном на метро и на маршрутках. Сидел и копался на сайтах объявлений в поисках чего-то интересного из компьютерных раритетов и прочих штуковин. И случайно напоролся на объявление об отдаче то ли газовой плиты, то ли еще чего-то похожего. И отдавали рядом с моим домом. Решив, разжиться на халявку этой техникой я дождался станции (чтобы не так шумно было) и позвонил, но мне ответили, что все, уже отдано. А прошло минуты 3…4. Ого-го, что-то быстро. И я стал уже целенаправленно искать подобные объявления, и да, они находились, только реально что-то взять уже не выходило. Я всегда опаздывал.

Читать далее про халяву ;-)

Подготовка 2д арта для игр

Reading time4 min
Views9K

Всём привет, меня зовут Григорий Дядиченко и я технический продюсер. Сегодня хочется обсудить подготовку 2д арта. Существует, скажем так, хороший тон в плане подготовки графических ассетов. Исходя из контекста технических ограничений и удобства дальнейшей работы. Больше речь про Unity3d конечно, но многие вещи работают везде одинаково и по сути меняются в нюансах. Если вам интересная данная тема, то добро пожаловать под кат!

Читать далее

Посмотрите, как Google отслеживает ваше местоположение. С Python, Jupyter, Pandas, Geopandas и Matplotlib

Reading time8 min
Views50K

В отделе продаж можно услышать аббревиатуру ABC: Always Be Closing, что означает заключение сделки с покупателем. Последнее десятилетие породило еще одну аббревиатуру ABCD: Always Be Collecting Data

Мы используем Google для почты, карт, фотографий, хранилищ, видео и многого другого. Мы используем Twitter, чтобы читать поток сознания одного президента. Мы используем Facebook для обмена сообщениями и… ну, почти все. Но наши родители пользуются им. Мы используем TikTok… Понятия не имею, зачем. 

На самом деле, оказывается, что большинство из вышеперечисленного бесполезно… Ничего подобного, суть в том, что мы их используем. Мы их используем, и они бесплатны. В экономике XXI века, если вы не платите за товар, вы являетесь товаром. 

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

Читать далее

Разработка Tizen-приложений для Samsung Smart TV: полный гайд для Javascript-разработчиков

Reading time12 min
Views53K

Эта статья рассказывает про удивительные приключения JS-разработчиков в мире ОС Tizen. В ней будет и пошаговая настройка рабочего окружения, и подключение «умного» телевизора Samsung вместе с пультом, и, конечно, сам процесс разработки и публикации приложения для Tizen Store — с примерами и подводными камнями. 

Так что если вы разделяете наше мнение о том, что Javascript — лучший язык программирования, потому что он работает практически везде – от домашнего Smart TV до кораблей SpaceX, то добро пожаловать под кат.

Читать далее

Как я спас компанию, заставив играть коллектив в настольные игры

Reading time23 min
Views24K

“Нет ничего более приятного, чем опыты над людьми, особенно когда тебе за это платят”… Что можно сказать о человеке, прочитав эту фразу? Что ему нравится его работа!

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

Создание шутера с LeoECS. Часть 2

Reading time8 min
Views11K

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

Читать далее

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

Reading time10 min
Views31K

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

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

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

Читать далее

Каждому яду — свой антидот. Как спастись или хотя бы попытаться (upd: про противоядия при бытовых отравлениях)

Reading time9 min
Views116K
Всем бойцам РХБЗ (радиационной, химической и биологической защиты) не посрамившим честь своего ОЗК посвящается...

С интересом читая статьи коллеги gjf про самые интересные, самые страшные и самые нестрашные яды испытываю ностальгию :). Потому что любой правильный химик, начиная свой творческий путь в первую очередь интересуется либо ядами, либо взрывчатыми веществами, либо наркотиками. Вот не встречал людей, которых в химию бы привело что-то другое, честно. Правда с годами, если хобби становится профессией, вся информация как-то переосмысливается и упорядочивается, возникают совершенно иные приоритеты. Вот и теперь, читая упомянутые статьи я вспоминал свой бумажный блокнотик, в котором в том числе были и описания необычных ядов. Все течет, все изменяется, теперь в моем «рабочем» блокноте чаще встречаются «противоядия». Ибо человеком придуманы тысячи способов уничтожить жизнь и пока не придумано ни одного — ее создать. Сила — в равновесии, поэтому если на Хабре есть яды — должны быть и противоядия. Ну и проснулся ж во мне перманентно дремлющий сержант белорусского РХБЗ. Статья коротенькая, почти без воды, но может так оказаться, что жизненно важная (=«закладочная», FAQ по метанолу)! За противоядием — идем под кат.


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

Information

Rating
Does not participate
Registered
Activity