Рубрика «unity» - 21

Создание игры «35ММ». Постапокалипсис в России - 1

Всем доброго времени суток, меня зовут Сергей Носков. Сегодня я бы хотел рассказать о создании моего первого полноценного инди-проекта под названием 35ММ, вышедшего в Steam в 2016 году. История конечно давняя, и с тех пор уже было опубликовано несколько статей и интервью на тему проекта, однако, подробного описания процесса разработки не было. Также, практически не были затронуты технические моменты реализации. Об этом, собственно, мы и поговорим.

Начнем с небольшой предыстории. 35ММ — это адвенчура с видом от первого лица в сеттинге постапокалипсиса на территории России. В народе — симулятор ходьбы. Игра повествует нам историю путешествия двух странников по опустевшим землям, оставленным цивилизацией. Основная часть населения вымерла после страшной болезни, и теперь природа отыгрывает у человечества свои очки. К сожалению, уже не помню точно, как зародилась идея данного проекта, но точно помню, что на тот момент я был ярым фанатом темы сталкера, игр «Метро» и вообще подобного атмосферного антуража. У меня всегда вызывали трепет и восторг пейзажи заброшенных городов, промышленных зон и деревень. Уж не знаю, что это за болезнь такая и как такую любовь объяснить, но нас таких много. В общем-то, подобной страсти по данной теме было достаточно для того, чтобы начать создание своего небольшого игрового мира.

Читать полностью »

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

Unity: отрисовываем множество полосок здоровья за один drawcall - 1

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

Я не буду никого стыдить за код, но достаточно сказать, что некоторые из решений были не совсем блестящими, например, кто-то добавлял к каждому врагу объект Canvas (что очень неэффективно).

Метод, к которому я в результате пришёл, немного отличается от всего того, что я видел у других, и не использует вообще никаких классов UI (в том числе и Canvas), поэтому я решил задокументировать его для общества. А для тех, кто хочет изучить исходный код, я выложил его на Github.
Читать полностью »

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

Дайджест интересных материалов для мобильного разработчика #293 (1 — 7 апреля) - 1Читать полностью »

Привет! Хочу поделится своей историей запуска мобильной игры. Это история о сотрудничестве с издателем, в которой я хочу рассказать о подводных камнях, подстерегающих инди-разработчика во время работы с последним.
Читать полностью »

Большой город для мобильных устройств на Unity. Опыт разработки и оптимизации - 1

Привет! В этой публикации хочу поделиться опытом разработки массивной мобильной игры, с большим городом и трафиком. Примеры и приемы описанные в публикации не претендуют называться эталонными и идеальными. Я не являюсь дипломированным специалистом и не призываю повторять свой опыт. Целью работы над игрой было — получение интересного опыта, получение оптимизированной игры с открытым миром. При разработке я старался максимально упрощать код. К сожалению, я не использовал ECS, а грешил с singleton.

Игра

Игра на тематику мафии. В игре я попытался воссоздать Америку 30-40. По сути игра является экономической стратегий от первого лица. Игрок захватывает бизнес и старается удержать его на плаву.
Реализовано: автомобильный трафик (светофоры, избегание столкновений), human трафик, бар, казино, клуб, квартира игрока, покупка костюма, смена костюма, покупка/покраска/заправка автомобиля, копы, охрана/гангстеры, экономика, продажа/покупка ресурсов.

Архитектура

image

Я жалею, что не использовал ECS, а пытался в велосипед. В итоге получилось все громоздко и слишком зависимо. У приложения одна точка входа — игровой объект application(go), на котором висит одноименный класс Application. Он отвечает за предварительную загрузку БД, заполнение пулов и первичные настройки. Кроме того, на плечи application(go) ложатся и несколько других singleton классов-компонентов-менеджеров.
Читать полностью »

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

Дайджест интересных материалов для мобильного разработчика #292 (25 марта — 31 марта) - 1Читать полностью »

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

Необходимый функционал:

  1. Любой класс может подписаться на любое событие (часто агрегаторы в юнити делают подписчиками конкретные Gameobject)
  2. Должна быть исключена возможность двойной подписки конкретного экземпляра, на конкретное событие (в стандартных средствах за этим нужно следить самому)
  3. Должен быть функционал как ручной отписки, так и автоматической, в случае удаления экземпляра/отключения монобеха (хочется подписаться и не париться что подписчик вдруг откинет копытца)
  4. события должны уметь перекидывать данные/ссылки любой сложности (хочется в одну строку подписаться и получить весь комплект данных без заморочек)

Читать полностью »

Unity — платформа, которая существует довольно давно и постоянно развивается. Однако, работая в ней с несколькими проектами одновременно, все еще можно столкнуться со сложностями в использовании общих исходников (.cs), библиотек (.dll) и остальных ассетов (изображения, звуки, модели, префабы). В этой статье мы расскажем о нашем опыте работы с нативным решением такой проблемы для Unity.

Unity Package Manager - 1

Читать полностью »

In this article series, I will talk about how and why we decided to create our own solution for import of Flash animation to Unity, and about optimization techniques and internal workings of the plug-in. I also have lots of other fascinating stuff to tell about: internals of the SWF format, special features of the Unity editor extension and general matters of animation. You'll find all that inside!

Flash-animation in Unity3D from scratch. Part one, lyrical - 1
Читать полностью »

image

В последние несколько месяцев Facebook заполонили 3D-фотографии. Если вам не довелось их увидеть, то объясню: 3D-фотографии — это изображения внутри поста, которые плавно меняют перспективу при скроллинге страницы или когда перемещаешь по ним мышь.

За несколько месяцев до появления этой функции Facebook тестировал похожую функцию с 3D-моделями. Хотя можно легко понять, как Facebook может рендерить 3D-модели и поворачивать их в соответствии с позицией мыши, с 3D-фотографиями ситуация может быть не столь интуитивно понятной.

Техника, которую использует Facebook для создания трёхмерности двухмерных изображений, иногда называется смещение карты высот. В нём применяется оптическое явление под названием «параллакс».
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js