Вот и появился у нас первые прототип. Зацените чтоли, лайкните
Это техническая демо версия. все еще очень сырое, но сам игровой процесс примерно такой. Упор хотим сделать на анимации, чтобы все процессы были максимально милыми и няшными.
Наша целевая аудитория - девушки и женщины от 25 до 55 лет. Ну и все любители кошек заодно.
Продолжаю с друзьями делать игру. На этот раз ракурс котиков и их анимации крупным планом.
Напомню: мы делаем игру про то как котики работают на фабрике по производству кошачьих игрушек и вкусняшек. А ты - человечеко, должен их гладить, поить, кормить и убирать какашки.
Разработка игрового движка - это ключевой этап в создании любой игры. Этот процесс включает в себя не только техническое создание основы для игры, но и оценку ряда факторов, включая стоимость. В данной статье мы рассмотрим, из чего складывается цена разработки игрового движка, а также подробно обсудим, как выбрать оптимальное решение для вашего проекта.
На текущий момент существует множество игровых движков, каждый из которых имеет свои особенности и преимущества. Вот несколько основных игровых движков, которые широко используются в индустрии разработки игр:
Unity: Unity является одним из самых популярных и широко используемых игровых движков в мире. Он поддерживает разработку игр для различных платформ, включая мобильные устройства, ПК, консоли и виртуальную реальность. Unity предлагает обширные возможности для создания 2D и 3D игр, а также имеет огромное сообщество разработчиков и обширную базу ресурсов.
Unreal Engine: Разработанный Epic Games, Unreal Engine также является одним из наиболее мощных и популярных игровых движков. Он часто используется для создания высококачественных трехмерных игр, включая AAA-проекты. Unreal Engine обладает впечатляющими графическими возможностями, мощным редактором и обширными возможностями настройки.
Godot Engine: Godot Engine является бесплатным и открытым исходным кодом игровым движком, который обеспечивает возможности для разработки 2D и 3D игр. Он известен своей простотой в использовании, гибкостью и хорошей производительностью. Godot также поддерживает множество платформ и имеет активное сообщество разработчиков.
CryEngine: CryEngine разработан компанией Crytek и изначально использовался для создания игр в жанре шутеров от первого лица. Этот движок отличается высоким качеством графики и физики, а также обладает развитыми инструментами для создания реалистичных игровых миров.
GameMaker Studio: GameMaker Studio предоставляет инструменты для создания 2D игр и широко используется для разработки инди-проектов и небольших игр. Он отличается простотой в использовании и поддерживает множество платформ, включая мобильные устройства и консоли.
Это лишь небольшой список из множества игровых движков, доступных для разработки игр. При выборе оптимального движка следует учитывать требования вашего проекта, уровень опыта разработчиков и желаемую целевую платформу.
Языки программирования
Существует несколько языков программирования, которые широко используются в индустрии разработки игр. Вот некоторые из них:
C++: Язык C++ является одним из наиболее популярных языков программирования для создания игр, особенно при использовании таких игровых движков, как Unreal Engine и CryEngine. Он обеспечивает высокую производительность и позволяет создавать мощные и сложные игры.
C#: C# широко используется в разработке игр с использованием игрового движка Unity. Этот язык программирования обладает простым синтаксисом и хорошей поддержкой инструментов разработки, что делает его популярным среди разработчиков игр.
Python: Python используется в различных аспектах разработки игр, включая создание скриптов для управления игровым поведением, разработку инструментов и редакторов уровней, а также для разработки серверной части онлайн-игр.
JavaScript: JavaScript используется для разработки веб-игр, а также для создания интерактивных элементов в играх, особенно при использовании HTML5 и WebGL.
Java: Java широко применяется в разработке мобильных игр для платформы Android, а также в создании некоторых компьютерных игр.
Lua: Lua часто используется как скриптовый язык для программирования игровой логики и поведения в различных игровых движках и приложениях.
Каждый из этих языков имеет свои особенности и преимущества, и выбор зависит от требований проекта, предпочтений разработчиков и используемого игрового движка.
Что определяет стоимость разработки игрового движка?
Сложность и объем функциональности: Сложность и масштаб вашей игры напрямую влияют на стоимость разработки движка. Чем больше требуется функциональности и возможностей, тем больше времени и ресурсов потребуется на разработку.
Технологии и платформы: Выбор технологий и платформ, на которых будет работать ваша игра, также влияет на стоимость. Например, разработка для мобильных устройств может быть более дорогостоящей из-за необходимости оптимизации под ограниченные ресурсы.
Уровень кастомизации: Если вам требуется высокий уровень кастомизации для вашего игрового движка, это может повлечь за собой дополнительные затраты на индивидуальную разработку функций и инструментов.
Лицензионные соглашения и сторонние библиотеки: Использование сторонних библиотек и лицензий может также влиять на стоимость разработки, особенно если требуется приобретение платных лицензий или расширенных функциональных возможностей.
Выбор оптимального решения
При выборе игрового движка для вашего проекта следует учитывать несколько ключевых аспектов:
Цель проекта: Определите цели вашего проекта и требования к игровому движку. Например, если вам нужен движок для создания мобильных игр, выбор может быть ограничен определенными платформами, такими как Unity или Unreal Engine.
Бюджет: Оцените ваш бюджет на разработку игры и выберите игровой движок, который соответствует вашим финансовым возможностям. Обратите внимание, что некоторые движки могут предоставлять бесплатные или открытые для использования версии, что может быть выгодно для небольших команд или начинающих разработчиков.
Опыт и навыки команды: Учитывайте опыт и навыки вашей команды при выборе игрового движка. Некоторые движки могут быть более интуитивно понятными или легче в освоении, что может быть важным фактором, особенно для небольших или начинающих команд.
Сообщество и поддержка: Исследуйте сообщество и уровень поддержки для выбранных вами игровых движков. Наличие активного сообщества и обширной базы знаний может значительно облегчить процесс разработки и решение возможных проблем.
Заключение
Выбор языка программирования и игрового движка играет решающую роль в процессе создания игр. При выборе правильных инструментов необходимо учитывать требования проекта, особенности команды разработчиков, а также целевую аудиторию и платформы, на которых планируется выпуск игры.
Каждый язык программирования и игровой движок имеют свои преимущества и недостатки, а также области применения, в которых они наиболее эффективны. Важно выбрать тот язык и движок, которые наилучшим образом соответствуют потребностям вашего проекта и позволяют достичь поставленных целей.
Будьте готовы к изучению новых технологий и методик разработки, поскольку индустрия игровой разработки постоянно развивается и меняется. Не бойтесь экспериментировать и искать новые подходы, чтобы создать качественные и увлекательные игры, способные завоевать сердца игроков по всему миру.
Продолжаю серию материалов о своей «хакерской» игре. Ранее я рассказывал об ее процессе разработки, а сегодня затрону не менее важную часть — маркетинг.
Для продвижения игры я начал публиковать Shorts на YouTube, но это отнимало много времени и ресурсов. Будучи инженером, я стараюсь автоматизировать рутинные задачи, поэтому сделал решение, которое самостоятельно нарезает видео на 60-секундные фрагменты.
Проблема инди-игр
Gamedev-разработчикам недостаточно просто создать игру, чтобы она пользовалась популярностью у пользователей. Неотъемлемой частью процесса является маркетинг. Разумеется, можно рассчитывать, что игра сама найдет свою аудиторию. Но будем реалистами: даже самый крутой проект может остаться незамеченным, если о нем не рассказать.
Существует огромное количество гайдов по маркетингу инди-игр. Мне удалось не только ознакомиться с ними, но и опробовать на практике. Ниже делюсь своими выводами, которые могут помочь начинающим gamedev-разработчикам.
Контента должно быть много. Необходимо показать игру как можно большему количеству людей, чтобы они узнали и добавили ее в вишлист.
Частота публикации важнее уникальности. Конечно, адаптировать контент под каждую соцсеть — круто, но это отнимает много времени и ресурсов. Эффективнее публиковать несколько простых материалов, чем один уникальный.
Вертикальные видео дают хорошие охваты. Причем необязательно даже записывать свой голос, достаточно показать игровой процесс.
Таким образом, я стал нарезать горизонтальные видео на множество Shorts, чтобы получать дополнительные просмотры.
Небольшой лайфхак для увеличения охвата на YouTube. Если при постинге видео убрать галочку Publish to subscriptions feed and notify subscribers, то знакомые с игрой люди не будут видеть его в своей ленте.
Окно с параметрами видео перед публикацией
Что было раньше
Сейчас у меня есть два основных YouTube-канала — игровой и личный. На первом публикую горизонтальные и вертикальные видео для продвижения своей игры. Часть из них уходят в GameJolt, Reddit и другие площадки. На втором — только горизонтальные, но некоторые из них посвящаю разработке игр.
Для монтажа я использую CapCut. В личном канале делаю видеоряд и накладываю звук, а в игровом — добавляю сгенерированный голос. Процесс этот довольно затратный, из-за чего нередко страдает стабильность публикаций. Подливает масла в огонь неудобство генерации голоса из-за ограничений в 300 символов за раз. Приходится генерировать озвучку в несколько этапов, что сильно замедляет подготовку нового контента.
Ограничение по тексту
Возможности для автоматизации
Решение автоматизировать процесс долго вынашивать не пришлось, но какие здесь есть возможности для этого? Рассмотрю несколько примеров.
Нарезать горизонтальные видео, чтобы получать больше охватов.
Автоматизировать генерацию голоса и визуала для создания видео. Более того, можно анимировать маскот, от лица которого буду вести повествование.
Маскот игры
3. Автоматизировать производство горизонтальных видео за счет подбора визуала. Для этого буду использовать контент из пула видео и хэш-таблицы тегов на основе семантического анализа текста.
В статье начну с малого и реализую только первый пункт. Остальные решения оставлю для следующих материалов.
Итак, мне нужен «черный ящик» для горизонтальных видео, который будет:
менять формат с 16:9 на 9:16,
заполнять лишнее пространство размытым фоном,
нарезать видео в соответствии с таймкодом, но не более 60 секунд,
добавлять текст с нумерацией выпуска и призывом посмотреть полное видео.
Выбор инструментария и философия
Не вижу смысла заморачиваться с UI, поэтому буду использовать bash-скрипты. Для обработки видео выбираю библиотеку FFMPEG — поверхностное изучение показало, что ее будет достаточно. Устанавливаю на MacOS с помощью Homebrew:
Чтобы продолжить движение этого проекта в рамках философии UNIX, я нашел инструмент для загрузки YouTube-видео из терминала — youtube-dl. С его помощью я удалил свое первое отрендеренное видео.
Утилита проста в использовании. Сперва запрашиваю доступные форматы для скачивания видео:
Команда запускает библиотеку FFMPEG, чтобы передать на вход файл video.mp4. Применяю к нашему потоку filter_complex. Ниже расскажу, какие фильтры я использовал.
Вторая строка скрипта пропорционально меняет ширину нулевого видеопотока 0:v на его длину scale=-1:1920. Обрезает видео до вертикального формата crop=1080:1920 и размывает фон gblur-sigma=20. После — возвращает преобразованное видео в новый поток bg.
Третья строка снова берет 0:v, пропорционально меняет его длину на ширину scale=1080:-1 и возвращает результат в новый поток ov.
Аналогично преобразовываю аудио, чтобы оно не исчезло. Возможно, получится сделать это намного проще, но напрямую аудиопоток в map не отправить. Поправьте в комментариях, если вы знаете другой способ.
В четвертой строке смешиваю потоки bg и ov и располагаю видео в центре экрана overlay=(W-w)/2:(H-h)/2. Результат перемещаю в mix. После — отправляю потоки в финальный файл при помощи -map"[mix]" -map "[audio]". Выставляю 60 FPS и сохраняю результат в result.mp4. Флаг -y перезаписывает файл, если он уже существует.
Результат
Начало положено! Нам удалось сэкономить минуту работы ценой всего нескольких часов исследований. Разве это не прекрасно?
2. Нарезка видео
Если длительность видео превышает 60 секунд, то YouTube не пропустить его в раздел Shorts. Для этого нужно модифицировать предыдущий скрипт.
Более того, хочу нарезать видео не просто на куски по 60 секунд, а разделять их на логические части. В описании под видео есть проставленные таймкоды. Значит я могу просто скопировать этот текст и передать в скрипт, а он уже обрежет видео автоматически. Приступим!
Для таймкодов на YouTube использую следующий формат:
00:00 - Text 01:40 - Text2
Их легко можно преобразовать в массив секунд:
time_codes=()
while read -r line; do
minutes=${line:0:2}
seconds=${line:3:2}
minutes="$(printf "%.0f" "$minutes")"
seconds="$(printf "%.0f" "$seconds")"
time_codes+=("$(($minutes*60+$seconds))")
done < $2
Если расстояние между таймкодами больше 60 секунд, их нужно отредактировать. Конечно, можно автоматизировать это разбиение, но так я рискую обрывать видео на нелогичных моментах.
Далее смотрю на длительность видео с помощью команды ffprobe:
Здесь я добавил флаг -ss ${time_codes[$i]} для рендеринга с заданного момента в секундах, а также -t ${lengths[$i]}, который задает соответствующую длительность видео.
Отлично! Теперь видео подходят для раздела Shorts.
3. Добавление текста
Видео готово, осталось добавить текст. Сверху я буду выводить название видео и номер части, а снизу — призыв посмотреть полную версию. Центрировать текст не получится, поэтому приходиться генерировать каждую строку отдельно. Для удобства закину текст в файл с таймкодами и разобью его на две строки.
Далее модифицирую код, который считывает таймкоды:
Несмотря на большое количество кода, все довольно просто. В блоке с размытием фона появилось пять команд drawtext. У каждой есть текст, шрифт, цвет, размер, позиция по x, позиция по y, цвет и толщина обводки.
Результат.
Заключение
У меня получилось довольно удобное решение, которое уже не раз помогло мне сэкономить время. Некоторые строки я захардкодил, но это поправимо. Также планирую добавить выбор языка при помощи флага в shell-скрипте. Для русского все работает уже так.
Изначально у меня были мысли встроить в пайплайн загрузку готовых видео, но YouTube воспринимал их как спам и блокировал. Если у кого-то получилось адекватно автоматизировать данный процесс, делитесь своим опытом в комментариях. Буду очень благодарен.
Публикуем геймплейный тизер и прогресс в разработке нашей пошаговой стратегии за последний год. Новые особенности: - все локации генерируются процедурно и могут иметь несколько уровней глубины. Присутствует условное деление на пещеры, руины древних городов, исторические места и планы богов. - население локаций зависит от игровой ситуации и может меняться в процессе прохождения, открываются секретные уровни. - шахты и другие важные места можно захватывать после зачистки, чтобы они автоматически приносили ресурсы. - развитие мира влияет на первобытные племена и другие малые фракции. - правители и персонажи имеют отдельные сцены и подгружаются из них, имея некоторую интерактивность. - у нас тоже есть русы и ящеры :)
Рост мобильного трафика продолжается, и нет признаков того, что это изменится. Мобильные игры сегодня являются ключевым элементом в аффилиат-маркетинге, став важной частью маркетинговой воронки и даже самостоятельным направлением для рекламных кампаний. Освоение текущих тенденций в этой области становится более важным, так как они будут актуальны и в 2024 году.
Укрепление влияния искусственного интеллекта
Искусственный интеллект продолжает расширять свое присутствие в различных сферах человеческой деятельности, особенно это заметно в сегменте мобильных игр. Нейронные сети, ранее известные своей способностью генерировать изображения и тексты, теперь также активно применяются в разработке мобильных игр . Они оказывают помощь во всем: от генерации идей и дизайна до оптимизации , поддержке в создании сценариев и тестирования продукта. Это внедрение автоматизации и упрощение в процесс разработки и продвижения игр, при этом не снижая качество для конечных пользователей. Ожидается, что к 2024 году появятся новые инструменты на основе искусственного интеллекта для разработки игр, учитывая, что человеческое управление нейронными сетями и исправление ошибок все еще необходимо (пока машины не научатся рисовать пять пальцев, мы можем не волноваться о восстании машин).
Переход на другие игровые движки
Увеличение стоимости его услуг привело к поиску альтернатив, даже после отмены этого решения. Одной из перспективных альтернатив является бесплатный движок Godot, который легок в освоении и подходит для создания 2D и 2.5D игр. Хотя на данный момент Godot не имеет популярных игр, ситуация может измениться в будущем. Также в перспективе могут появиться и другие передовые игровые движки.
Уменьшение интереса к блокчейн-играм
В 2022 году блокчейн-игры, особенно на мобильных устройствах, вызвали большой интерес. Однако в 2023 году этот интерес начал снижаться, как показывает статистика Sensor Tower, указывающая на уменьшение загрузок и доходов от данного типа игр. Одной из причин уменьшения интереса стало снижение стоимости криптовалют в конце 2022 и начале 2023 годов, что повлияло на решения крупных игровых студий, таких как EA и Activision, отказаться от разработки блокчейн-игр. В настоящее время всего лишь менее 20% компаний продолжают проявлять интерес к данной технологии. Согласно опросу, проведенному Statista, 75% разработчиков в 2023 году не заинтересованы в внедрении блокчейна в свои игры. Из-за отсутствия существенных нововведений в области Web3 предполагается, что интерес к блокчейн-играм будет продолжать снижаться.
Кроссплатформенные игры
Кроссплатформенные игры являются играми, которые можно играть на различных устройствах, включая ПК, игровые приставки и мобильные устройства. Основным преимуществом таких игр является возможность играть в них в любое время и в любом месте, независимо от используемого устройства, будь то дома на диване, в метро в пути на работу или учебу. В последние годы кроссплатформенные игры стали очень популярны, учитывая увеличивающееся количество времени, проводимого людьми за смартфонами, при этом сохраняя интерес к играм на ПК. Компания Google преуспела в разработке кроссплатформенности, запустив сервис Google Play Games для ПК, позволяющий играть в игры из Google Play на компьютерах под управлением Windows, сохранять прогресс в играх и свободно переключаться между различными устройствами.
Легкие и простые игры с простым геймплеем
Это так называемые гибридно-казуальные игры, которые быстро создаются, имеют понятный функционал и заставляют пользователей играть долгое время. Они не требуют больших инвестиций и сложной разработки, а также привлекают своей простотой, предлагая игрокам возможность отвлечься от повседневных забот. Наличие большого количества уровней и возможностей монетизации делает их еще более привлекательными. Согласно Sensor Tower, в 2023 году доходы от таких игр увеличились на 30%. Наиболее популярными жанрами в этой категории стали головоломки и экшн-игры. Они особенно успешны в Китае, где их доля на рынке с 2019 года выросла с 20% до 43%.
Коммуникация и мероприятия в играх
В последнее время социальное взаимодействие в мобильных играх стало более важным. Игроки ценят возможность обмениваться сообщениями и взаимодействовать с другими пользователями. Разработчики ответили на эту потребность, внедряя функции, такие как голосовой чат, общие чаты, таблицы лидеров, интеграцию с социальными сетями и возможность делиться игровыми достижениями. Кроме того, для игроков, которым интересна компания, стали организовывать специальные игровые события, где они могут принимать участие вместе со своими друзьями онлайн и пройти уровни, созданные специально для различных праздников, таких как Новый год, с уникальными наградами и бонусами. Это позволяет игрокам разделить радость победы или горечь поражения с другими участниками.
Заключение
Новые технологии трансформируют игровую индустрию, предоставляя уникальные возможности для улучшения игрового процесса, вовлеченности игроков и монетизации. Изучение текущих тенденций в сфере разработки игр является важным шагом для успешной адаптации к требованиям будущего.
В 2024 году можно ожидать дальнейшего усиления влияния этих технологий на игровой процесс, создание более реалистичных и увлекательных игр, а также новые методы взаимодействия между игроками.
Не упустите свою возможность следовать этим тенденциям! Обратитесь к нам для организации сотрудничества и оптимизации вашего игрового контента в соответствии с новейшими технологиями!
В данной школе я полностью прошел 3 модуля - C# Junior уровень, Unity Junior уровень и Unity Физика, математика и сетевая разработка и в этом посте поделюсь своими впечатлениями.
C# - замечательный модуль, я пришел туда практически нулем, максимум которого был калькулятор ИМТ на питоне. Плавно шаг за шагом, благодаря грамотно выстроенному учебному процессу я смог научиться пользоваться C# и реализовывать на нем если не все, то многое из того, что хочу. Данный модуль абсолютно точно подойдет новичкам в программировании, так как порог входа тут минимальный, а то, как объясняют ООП - это просто сказка, по крайней мере на мой взгляд. Проходя модуль по C#, я предвкушал то, что ждет меня в Unity, и, лучше бы я этого не делал. Модуль по Unity меня очень сильно разочаровал.
Unity Junior уровень - в разы слабее модуля C# и вот почему:
•В модуле нет четкой структуры: сперва идет 3D разработка, потом 2D разработка, потом опять 3D разработка, потом опять 2D, потом в середине немного блендера, а перед этим небольшой блок математики. В результате в голове образуется каша, и ты не понимаешь, куда ты идешь и откуда.
• Пройдя этот модуль ты не сможешь написать полноценную игру, да, безусловно ты научишься пользоваться движком, узнаешь много полезной информации, но этого не хватит для создания игры.
• Выполняя домашние задания из этого модуля мне приходилось очень много искать информации в интернете, потому что порой в предоставленных материалах ее не хватало или она была очень поверхностной. Особенно, когда я выполнял последние задания, мне пришлось очень много чего гуглить.
• Вообще ни слова об архитектуре и проектировании. Да, об этом говорится в модуле Напильник, который я, на момент описания этого отзыва прохожу, но опять же, на мой взгляд Напильник не раскрывает все аспекты данной тематики.
Самое парадоксальное для меня то, что модуль C# напрочь лишен этих недостатков, и казалось бы, вот у вас уже есть очень классный модуль, вы умеете создавать учебный материал и выстраивать учебный процесс, сделайте модуль Unity таким же, в чем проблема? Но видимо проблема все-таки в чем-то есть.
Unity Физика, математика и сетевая разработка - в целом он хороший, тем не менее, если вы не планируете делать 3D игры с более менее реалистичными физическими взаимодействиями, то большая часть этого модуля будет для вас бесполезна. Я уверен, что если мне когда-нибудь придется работать над каким-нибудь более-менее сложным 3D проектом, использующим физику, я не раз обращусь к этому модулю.
Тем не менее, очень большим плюсом данного курса являются менторы и комьюнити. Они всегда тебе помогут с любым вопросом, помогут и расскажут, пока ты действительно не поймешь в чем дело. Как справедливо заметил Рома Сакутин, менторы - это плоть и кровь данного курса, я просто не представляю его без них, особенно без Орца и Алексея.
Конечно, покупая этот курс я ожидал от него большего, и тем не менее он дал мне базу и фундамент на котором я могу строить свое дальнейшее развитие самостоятельно. Мог бы я достичь тех же самых результатов и без покупки курса? Думаю да, но заняло бы это у меня намного больше времени.