Рубрика «разработка игр»

image

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

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

Для изящного решения этой задачи можно воспользоваться шаблоном проектирования «Состояние» (State design pattern). Ему-то мы и посвятим этот туториал!

Из туториала вы:

  • Научитесь основам шаблона «Состояние» в Unity.
  • Узнаете, что такое конечный автомат, и когда его использовать.
  • Узнаете, как использовать эти концепции для управления движением персонажа.

Примечание: этот туториал предназначен для опытных пользователей; предполагается, что вы уже умеете работать в Unity и обладаете средним уровнем знаний C#. Кроме того, в этом туториале используется Unity 2019.2 и C# 7.

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

Непрерывная интеграция в Unity: как сократить время сборок и сэкономить ресурсы + пайплайн в подарок - 1

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

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

Сразу договоримся, что в качестве сервера CI мы используем TeamCity от JetBrains, в качестве хранилища Git-репозиториев ― GitHub, для хранения артефактов сборки ― Nexus.
Читать полностью »

Если вы читаете этот текст – значит, вы либо подумали, что с заголовком статьи что-то не то, либо увидели в нём название знакомой компьютерной игры. VVVVVV – это инди-игра в жанре «платформер», завоевавшая сердца многих игроков своей приятной внешней простотой и не менее приятной внутренней сложностью. Несколько дней назад VVVVVV исполнилось 10 лет, и автор игры – Terry Cavanagh – отметил этот праздник публикацией её исходного кода. Что же «вкусненького» можно в нём найти? Ответ читайте в данной статье.

Рисунок 1

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

GPU Bound. Часть вторая. Бескрайний лес - 1

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

Салют. Как мы уже писали январь богат на новые запуски и сегодня мы анонсируем набор на новый курс от OTUS — «Разработчик игр на Unity». В преддверии старта курса делимся с вами переводом интересного материала.

Создание зомби-шутера от третьего лица с помощью DOTS - 1


Мы пересобираем ядро Unity с помощью нашего стека технологий, ориентированного на данные (Data-Oriented Tech Stack). Как и многие игровые студии мы тоже видим большие преимущества в использовании Системы Entity Component (ECS), Системы задач C#( C# Job System) и Компилятора Burst. На Unite Copenhagen у нас появилась возможность пообщаться с Far North Entertainment и углубиться в то, как они реализуют этот функционал DOTS в традиционных проектах на Unity.

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

Зрение Хищника: эффект термального видения - 1

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

Я сильно изменил его, чтобы модели выглядели более целостными под разными углами, привязав cap к вершинам и нормалям. То есть по сути это уже не matcap, но мне всё равно хотелось бы отдать должное этому шейдеру, с которого всё началось.

Зрение Хищника: эффект термального видения - 2

Будем двигаться по порядку, сначала вершинная функция:
Читать полностью »

image

На прошлой неделе создатель Dicey Dungeons Терри Кавана отпраздновал десятую годовщину своей давней игры VVVVVV, by опубликовав её исходный код [перевод на Хабре]. Если объяснять просто, то это значит, что любой человек может теперь посмотреть, как создавалась игра, потому что каждую строку кода можно внимательно изучить.

Такое нечасто случается и поэтому ценность публикации этой информации очень велика. Люди могут учиться по ней или улучшать код. Некоторые отзывы на исходный код VVVVVV были ужасными — исследователи увидели вещи, которые можно было написать лучше. Возможно, Кавана предвидел это — в своём посте, где он объявил о публикации кода, Терри признаёт, что «технически игра VVVVVV не очень хорошо продумана! Даже по стандартам инди-разработчиков-самоучек, код довольно хаотичен».

Существует заблуждение, что написание кода само по себе является изящным и продуманным, ведь в конечном итоге, это своего рода написание логики, не так ли? Не зря ведь это называется компьютерными НАУКАМИ? Но в реальности всё гораздо сложнее. Очень часто истории разработки видеоигр показывают, что поскольку в играх есть так много элементов, от геймдизайна до звука, что часто собираются в единое целое только в последний момент, если вообще когда-нибудь собираются.
Читать полностью »

image

Ты решил стать программистом чтобы разрабатывать игры? И вот ты разрабатываешь игры… настольные…

Захотелось нам летом поиграть в какую-нибудь настолочку про IT. И не получилось найти ту, которая бы понравилась. А это значит, что надо сделать самим! Расскажу, что у нас получилось.
Читать полностью »

Когда возникает потребность внедрить скриптовый язык в проект на C++, первым делом большинство людей вспоминает Lua. В этой статье его не будет, я расскажу о другом, не менее удобном и легком в освоении языке под названием ChaiScript.
image
Читать полностью »

Разработчик игры VVVVVV в честь её десятилетия сделал исходный код открытым - 1

Сегодня — десятилетняя годовщина релиза VVVVVV!

Хотя, возможно, и завтра — строго говоря, впервые игра стала доступной 3 часа утра по GMT 11 января 2010 года, спустя очень долгий день устранения каждого найденного мной бага, создания сборок последней минуты и попыток медленно закачать всё на сервер по чрезвычайно ненадёжному Интернет-соединению, которое постоянно разрывалось. Но я всегда живу девизом "завтра не настало, пока ты не проснулся", поэтому считаю настоящей датой релиза 10 января <3

Боже мой, десять лет.

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

[Исходный код VVVVVV на github]

В репозитории содержится две версии — десктопная, в 2011 году портированная Саймоном Ротом на C++, и более поздняя, которую обновлял и поддерживал Итан Ли, а также мобильная версия, написанная на Actionscript для Adobe AIR, основанная на первоначальной флеш-версии игры v1.0.

Хочу сказать огромное спасибо Итану Ли, сильно мне помогавшему, в том числе в подготовке репозитория для сообщества и организации объявления об этом на AGDQ (привет, спидраннеры!)! Спасибо, Итан!

Разработчик игры VVVVVV в честь её десятилетия сделал исходный код открытым - 2

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


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