Поиск случайной точки на PolygonCollider2D Unity

В этой статья я расскажу, как найти случайную точку на многоугольнике с очень странной формы без циклов!

Инструмент разработки 2D/3D-игр

В этой статья я расскажу, как найти случайную точку на многоугольнике с очень странной формы без циклов!

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

Представим небольшую команду. Подводя разработку проекта к стадии звукового сопровождения, чаще всего использует возможности среды без каких-либо дополнительных решений. В папке assets есть набор звуков и композиций. Часть звуков нужно проигрывать событийно, часть находятся на сцене в связанных настроенных компонентах и прочее.
Событийные звуки, через код, программиста просят проигрывать с учётом изменения pitch в небольших пределах. Особо никто не парится. Всех устраивает встроенные возможности настройки компонентов и Inspector-ом все довольны.
Теперь представим ситуацию посложнее. Компания/команда решает подтянуть звуковой дизайн игры с помощью FMOD. Программист начинает предполагать, как новые условия / требования повлияют на код. Придется переписывать кучу всего... Короче, страшное дело. Тем более видели этот интерфейс FMOD Studio? Управление космическим кораблем.

Создаем персонажа, который сам решает, что ему стоит сделать с игроком.
В этой статье я познакомлю вас с методикой проектирования искусственного интеллекта под названием GOAP на примере игры Hitman.
Подобные методики редко применяются в СНГ, но более популярны в зарубежных студиях (чаще всего уровня ААА), где есть отдельный департамент разработки ИИ и вместо готовых ассетов проектируются интереснейшие поведения. Но чем плохо начать сейчас внедрять в наш геймдев эти техники и наконец сделать достойную триплэй игру?
Всем привет, это моя первая статья на Хабр. Давно хотел попробовать что-то написать, но всё никак не решался, да и темы подходящей не было. Наконец тема подвернулась, и пришло время закрыть этот гештальт =)
В данной статье я опишу общий принцип "подкапотной" работы ECS фреймворков и некоторые проблемы, с которыми столкнулся при написании своего.
Когда я только начал узнавать про ECS, всё это казалось очень красивым, но только на бумаге, и нужно было начать что-то на нём реально писать, чтобы на собственном опыте проверить всё, о чём пишут. Успел попробовать несколько фреймворков на разных движках и языках. В основном это был великолепный entt, который я прикручивал к Godot, и LeoECS на Unity. Родной Unity фреймворк я пробовать не стал, потому что, когда начинал своё знакомство, API у него менялось чуть ли не раз в месяц, что меня отпугнуло.
В общем, получил достаточно опыта в использовании ECS на практике, но меня всё никак не покидал вопрос о том, как же оно работает под капотом. Есть пара хороших блогов о разработке ECS (от автора entt - https://skypjack.github.io/ и от автора flecs - https://ajmmertens.medium.com/), но все они давали мне недостаточно понимания как это можно сделать самому. В итоге я решил что лучший способ что-то понять — сделать это самому, поэтому мне пришлось писать свою ECS, как завещал старина Бендер =)

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

Эта статья родилась из внутреннего доклада для коллег, которые уже достаточно давно занимаются разработкой игр, но только недавно прикоснулись к Unity. Здесь мы собрали фишки и особенности работы с этим игровым движком разной степени капитанскости, почерпнутые из собственного опыта, которые стоит знать, чтобы эффективно им пользоваться и уже никогда ничему не удивляться.
Что такое AssetPostprocessor и чем Animation отличается от Animator? Почему не стоит доверять OnTriggerExit и зачем вам CanvasGroup? Чем хорош GameObject.Find и как вас спасут Property?
Далее в статье обсудим это, а также другие «особенности» работы с движком Unity.

Однажды я долго искал интересные 3D игры в Play Market и к своему сожалению не нашел почти ничего интересного.
Графика этих игр была слишком простая, освещение ужасное, текстуры слишком мыльные. Некоторые игры даже не дотягивали по качеству до игр для компьютеров и консолей 2000ых годов.
Мне показалось странным, сейчас в мобильные телефоны устанавливают мощные графические процессоры, а качество графики сомнительное.

Опубликовав свой первый проект в Steam «любовался» достаточно неплохим количеством скачивания. Только какой в этом толк, если вся эта движуха происходила на торрент-трекерах...
Поэтому всерьез задумался о защите своих коммерческих проектов от пиратов.
Конечно, универсального способа защиты от пиратов не существует и тема защиты от пиратства является как-никак актуальной, является темой постоянных дискуссий и споров.
Я лишь вашему вниманию в свою очередь хочу предложить вариант защиты Unity-проекта с использованием библиотеки kernel32.dll. А использовать данную технологию в своем проекте, либо не использовать – решать вам. И так приступим.
На нулевой нашей сцене создадим объект с названием SecurityManager и повесим на него скрипт с одноименным названием со следующим кодом (синглтон):

У каждого геймдизайнера наверняка в запасе есть десяток идей, которые он хочет реализовать. Однако придумать игру — дело несложное. Сложнее понять, имеет ли твоя идея потенциал, и стоит ли двигаться с ней дальше.
Меня зовут Матвей Палаш (Product Owner, DEVGAME), и я собрал несколько советов, которые помогут придумать крутую игру и выбиться вперед, даже если ваш конкурент — это Touch Instinct.
Сразу оговорюсь, что в данной статье не будет какого-то инновационного метода. Скорее список основных правил, которыми полезно руководствоваться. Что ж, начнем!

Привет! Я Виталий, ведущий 2D-художник, аниматор и специалист по эффектам в мобильной tower-defence игре Rush Royale студии IT Territory. Сегодня я расскажу об одной довольно важной части нашего проекта — эмодзи. Именно благодаря ним игроки могут выразить эмоции в жарких боях за башни — что, на наш взгляд, очень немаловажно.
Чтобы достичь текущего качества эмодзи, мы проделали большой путь. Но обо всем по порядку.

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

Привет, Хаброжители! У нас вовсю продолжается распродажа «Старый Новый год»
Кто пытается арифметическими методами генерировать случайные числа, тот, конечно, живет во грехе. Поскольку, как указывалось уже неоднократно, нет такого феномена, как случайное число — есть только методы для получения случайных чисел. – Джон фон Нейман
Генераторы случайных чисел (ГСЧ) – важнейшая составляющая разнообразных процессов, связанных с компьютерными программами, таких как криптография, моделирование, машинное обучение, игры, программирование, азартные игры, научные исследования – список можно продолжать. Но может возникнуть вопрос: как именно получить по-настоящему случайное значение, и почему это важно?

Из новостей на этой неделе: Github показал игры с Game Off 2021 с наивысшими оценками, Godot 3.5 beta 1, Unity 2022.1.0 Beta 3, Axiom 2.1, UVPackmaster 3.
Из интересностей: видео про громадных боссов в играх, «Сапёр» на движке Doom, доклад с GDC про создание правдоподобных лошадей для Red Dead Redemption II, статья про внутренности звуковой системы Street Fighter II.

Система навигации NavMesh позволяет объяснить игровым персонажам, как добраться до определённой точки уровня, избегая всевозможные препятствия и используя созданные игроком механики. Для работы с ней Unity предлагает следующие четыре компонента в работе которых мы попытаемся разобраться.

История о том, как незнание и невнимательность техартистов отняло у нас половину рабочего дня и побудило узнать больше про Unity вечером во вне рабочее время.
У нас на проекте артисты, как и программисты работают в своих ветках. Обычно это небольшие изменения в 1-2 префабе, добавление текстурок или изменение шейдера. Но тут внезапно возник запрос на большую фичу, которую они делают уже больше двух месяцев, в которую никто из разработчиков не лез и знал. Обычно все работает хорошо, но в этот раз, когда уже все было готово и протестировано в редакторе, у ребят не получилось запустить билд. Естественно, они пошли к нам и попросили помочь с проблемой.
Под катом расскажу, как искали причину проблемы и какие выводы сделали.

Политика монетизации - одна из самых важных составляющих мобильного приложения. Доходит и до того, что разработчики сначала продумывают маркетинговую схему, а уже потом натягивают на нее геймплей. Сейчас существует множество проверенных способов повысить ARPU (Average Revenue Per User) своей игры: лутбоксы, батлпасы, прямые продажы апгрейдов или косметических предметов. В этой статье мы рассмотрим самый простой, старый, но от этого не менее эффективный способ получения прибыли с мобильного приложения - внутриигровая реклама, а так же поговорим о том, как внедрить ее в Unity на примере Google AdMob.

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

До сих пор распространено мнение о том, что Unreal Engine превосходит Unity в графическом плане, но так ли это в действительности? (Спойлер: нет.)
Такое мнение сформировалось по ряду причин. Одна из причин отсылает нас к 2015 году, когда в Unity был доступен лишь встроенный конвейер рендеринга с рядом ограничений. На тот момент добиться сопоставимого с Unreal Engine визуала было очень сложно. Другой причиной является порог входа в Unity: он довольно низкий, а начинающим программистам и дизайнерам совсем не очевидна концепция компонентной системы Unity, что порождает довольно много слухов по сей день.
Сегодня с уверенностью можно сказать, что на качество графики, независимо от выбранного движка, влияют настройки средств визуализации, ведь параметры постобработки в Unreal Engine и Unity одинаковы.
Всем под кат! Далее мы расскажем, как добиться фотореалистичной графики в Unity.