Горячее
Лучшее
Свежее
Подписки
Сообщества
Блоги
Эксперты
Войти
Забыли пароль?
или продолжите с
Создать аккаунт
Я хочу получать рассылки с лучшими постами за неделю
или
Восстановление пароля
Восстановление пароля
Получить код в Telegram
Войти с Яндекс ID Войти через VK ID
Создавая аккаунт, я соглашаюсь с правилами Пикабу и даю согласие на обработку персональных данных.
ПромокодыРаботаКурсыРекламаИгрыПополнение Steam
Пикабу Игры +1000 бесплатных онлайн игр
Поднимайтесь как можно выше по дереву, собирайте цветы и дарите их близким.
Вас ждут уникальные награды и 22 выгодных промокода!

Пикаджамп

Аркады, Казуальные, На ловкость

Играть

Топ прошлой недели

  • AlexKud AlexKud 38 постов
  • SergeyKorsun SergeyKorsun 12 постов
  • SupportHuaport SupportHuaport 5 постов
Посмотреть весь топ

Лучшие посты недели

Рассылка Пикабу: отправляем самые рейтинговые материалы за 7 дней 🔥

Нажимая кнопку «Подписаться на рассылку», я соглашаюсь с Правилами Пикабу и даю согласие на обработку персональных данных.

Спасибо, что подписались!
Пожалуйста, проверьте почту 😊

Помощь Кодекс Пикабу Команда Пикабу Моб. приложение
Правила соцсети О рекомендациях О компании
Промокоды Биг Гик Промокоды Lamoda Промокоды МВидео Промокоды Яндекс Директ Промокоды Отелло Промокоды Aroma Butik Промокоды Яндекс Путешествия Постила Футбол сегодня

IT + Unreal Engine

С этим тегом используют

Программирование IT юмор Программист Юмор Работа Картинка с текстом Разработка Gamedev Инди Инди игра YouTube Игры Компьютерные игры Все
12 постов сначала свежее
Блог компании
practicum.yandex
practicum.yandex
1 год назад

Хочу сделать инди-игру: кого взять в команду?⁠⁠

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

Хочу сделать инди-игру: кого взять в команду? Gamedev, Инди, Unreal Engine, Unity, Инди игра, IT, Обучение, Длиннопост, Блоги компаний

Тем не менее довести проект до релиза — большое дело, и проделать этот путь в команде намного проще. Рассказываем об оптимальном составе маленькой инди-студии.

Почему нужна команда

Игру можно сделать и в одиночку. Таких примеров в индустрии масса: от легенд вроде Minecraft и Papers, Please до лавины пиксельных квестов и бумер-шутеров, которые заполонили Steam.

Хочу сделать инди-игру: кого взять в команду? Gamedev, Инди, Unreal Engine, Unity, Инди игра, IT, Обучение, Длиннопост, Блоги компаний

По тегу «инди» в Steam нашлось свыше 90 тысяч игр — это более чем половина всего каталога!

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

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

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

Главные роли в команде

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

1. Гейм-дизайнер

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

Хочу сделать инди-игру: кого взять в команду? Gamedev, Инди, Unreal Engine, Unity, Инди игра, IT, Обучение, Длиннопост, Блоги компаний

Инди-RPG Undertale — пример того, как оригинальная концепция Тоби Фокса даже в простейшем пиксельном исполнении перевернула представления о жанре

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

2. Арт-директор

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

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

1/3

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

3. Разработчик

Без него идеи гейм-дизайнера и визуальные ассеты арт-директора так и останутся на бумаге. Разработчик должен обратить их в код и собрать на основе всего этого рабочую игру. Эта роль часто самая технически сложная и требует тесного взаимодействия с гейм-дизайнером.

Трио «гейм-дизайнер, графический дизайнер и программист» — база, которая нужна любой игре. Повторимся: это не минимальный, а оптимальный состав инди-команды, чтобы довести проект до релиза.

Конечно, в геймдеве еще полно должностей: например, кто-то может заняться сценарием, звукорежиссурой, маркетингом, тестированием. Если нет возможности нанять таких специалистов, придется делить обязанности по-братски: за одни задачи возьмется тот, у кого больше времени и энтузиазма, за другие — у кого есть подходящие навыки.

Звучит неорганизованно? Да, в команде из трех человек всегда есть место авралу и хаосу — они соседствуют с фаном, удовольствием от достигнутого результата и исполнением своей давней мечты. Идите к ней вместе с Яндекс Практикумом: проходите бесплатные курсы, определяйтесь с IT-профессией и осваивайте навыки, которые помогут разрабатывать игры.

Какие навыки нужны

У каждой роли есть обязательный набор навыков и специальный, который зависит от проекта: в каком жанре игра, как она будет выглядеть, на каком движке собрана и так далее.

Для роли гейм-дизайнера

Нужно научиться работать с системой контроля версий. Это важно, потому что гейм-дизайнер участвует в прототипировании игровых механик, тестирует актуальные билды — работает в связке с разработчиком, который точно использует систему контроля версий. Самая популярная называется Git. Кстати, в Яндекс Практикуме есть бесплатный курс «Основы работы с Git» — добавляйте в закладки.

Основы программирования (тоже доступно бесплатно в Яндекс Практикуме) — еще один навык, который объединяет разработчика и крутого гейм-дизайнера.

В зависимости от проекта может пригодиться высшая математика с теорией вероятностей. Например, для экономических и 4X-стратегий или для больших многослойных RPG. Обновить знания поможет бесплатный тренажер «Основы математики для цифровых профессий». Теория там тоже есть.

Хочу сделать инди-игру: кого взять в команду? Gamedev, Инди, Unreal Engine, Unity, Инди игра, IT, Обучение, Длиннопост, Блоги компаний

Для роли арт-директора

Обязательный навык — UX/UI-дизайн. Пользовательский опыт от взаимодействия с игрой и ее интерфейсом сильно влияет на общее впечатление от проекта.

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

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

В зависимости от проекта может потребоваться моушн-дизайн и умение создавать и анимировать 3D-модели вроде этой.

Хочу сделать инди-игру: кого взять в команду? Gamedev, Инди, Unreal Engine, Unity, Инди игра, IT, Обучение, Длиннопост, Блоги компаний

Для роли разработчика

Программист, каким бы языком он ни владел, пользуется системой контроля версий, знает основы программирования и хотя бы немного — алгоритмы.

Дальше главная развилка: движок. Скорее всего, ваша команда восходящих инди-звезд выберет для своей первой игры один из этих движков (потому что они удобные, доступные и по ним больше всего гайдов на YouTube):

  • Unity;

  • Godot;

  • Unreal Engine.

Если вы остановились на Unity или Godot, то ваш разработчик наверняка знаком с языком C#. А если вы замахнулись на Unreal Engine, значит, в вашей команде есть обладатель сакральных знаний С++.

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

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

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

ПЕРВЫЙ ШАГ К СВОЕЙ ИГРЕ

Реклама ООО «Яндекс», ИНН: 7736207543

Показать полностью 8
Gamedev Инди Unreal Engine Unity Инди игра IT Обучение Длиннопост Блоги компаний
12
17
Lepenson
Lepenson
1 год назад
Лига Разработчиков Видеоигр

Нарративный дизайнер aka сценарист игр⁠⁠

Ищу приложение навыкам и умениям.

Здравствуйте. Меня зовут Александр. Так получилось, что в данный момент я нигде не работаю. В связи с этим интересуюсь: вдруг кому-то нужен человек моих компетенций и талантов?

Я нарративный дизайнер в геймдеве. Если проще — сценарист в разработке игр:

— умею работать с сюжетом — от общей концепции до проработки деталей;

— создаю персонажей — внешность, характер, развитие, речевые особенности;

— пишу. Пишу много, пишу качественно, пишу всё: диалоги, описания, названия, художественные вставки и интерфейсные тексты;

— работаю с базой знаний (Confluence и т. п.), чтобы не пришлось искать, как называется вон та штука, о которой все забыли, но она вдруг нужна по сюжету;

— работаю с игровыми движками: Unreal Engine, Unity, Construct. Не боюсь таких страшных слов, как "скрипты", "ассеты", "диалоговое дерево" и "реимпорт в базу данных";

— имею опыт координационной работы внутри и между командами;

— владею английским на уровне С1 (Advanced); 

Подробное резюме на русском: https://docs.google.com/document/d/1r5ZmkhW-kvNqkhxmbVbBIpoqaM75bYDLBmUJlJS1lmM/edit?usp=sharing

Подробное резюме на английском: https://docs.google.com/document/d/1YLo0BF027hoo7Qw-1645amFWdpCOA_bPK8iKZ4CGi-s/edit?usp=sharing

Буду очень, очень признателен за репосты, причём как в соцсетях, так и в реале, по принципу "шести рукопожатий".

Telegram для связи: https://t.me/axel_levine

Показать полностью
[моё] Разработка Компьютерные игры Gamedev Unity Unreal Engine Работа Поиск работы Резюме Объявление IT Текст
5
MakeY0urGame
MakeY0urGame
1 год назад

Создание ИГРЫ в C++ Unreal Engine. Урок 9. LineTrace⁠⁠

[моё] Игры Unreal Engine Gamedev Инди C++ Программирование IT Видео YouTube
0
1
NutrientElement
NutrientElement
1 год назад
Лига программистов
Серия Программирование

Куда копать для того чтобы начать разрабатывать игры на JavaScript⁠⁠

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

Куда копать для того чтобы начать разрабатывать игры на JavaScript Программирование, Unreal Engine, IT, Unity, Программист, Разработка, Игры, Gamedev

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

Например:

  • PixiJS - это 2D-рендерер WebGL, который позволяет эффективно отрисовывать 2D-сцены и объекты1.

  • ExcaliburJS - это полноценный игровой фреймворк, написанный на TypeScript, который предоставляет систему сцен и камер, спрайты и анимации, звуки, физику и т.д.1.

  • Unity - это самый популярный игровой движок в мире, который поддерживает C# и JavaScript для создания 2D и 3D игр для разных платформ23.

  • Phaser - это быстрый и удобный фреймворк для создания HTML5 игр с использованием Canvas и WebGL.

Интересные факты и фичи языков программирования у нас в канале, заходи :)

Показать полностью
[моё] Программирование Unreal Engine IT Unity Программист Разработка Игры Gamedev
5
13
Kazualishe
Kazualishe
1 год назад
Лига Разработчиков Видеоигр
Серия Рефлексия начинающего разработчика

Рефлексия начинающего разработчика (часть 2, отдых и информация о проекте)⁠⁠

Не совсем знаю как устроены серии постов. Но допустим что всё что было написано в предыдущем посте вы уже знаете)

Об отдыхе

Часто вы раздумываете о том, чего на самом деле вы хотите от жизни и что приносит вам удовольствие?) Для меня оказалось, что эти вещи принципиально не совпадают. Когда я закончил универ и пришло понимание, что всё что я до этого делал, я делал "не правильно". Игнорировал отдых, портил режим сна и т.д. и т.п. И только когда я начал жить с девушкой, я понял, что всё это время "пускал себя в расход", тем самым испортил себе здоровье. Тогда то я и задумался, как получить хорошую производительность и не умереть к 40, хех.

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

Как бы это банально не звучало, но очень помогают физ нагрузки. Сразу обозначу - я не спортсмен, на объективность не претендую. Это лето я провёл некий эксперимент. Каждую неделю я старался ездить на "воскрески". Это любительские срайкбольные игры, которые возникают стихийно. На них я бегал с нелёгкой винтовкой 3-5ч, а не уставать это время даёт постоянный приток адреналина от самого процесса. После данных игр у меня ещё 3 дня болят все мышцы, но зато очень поднимает мотивацию "работать головой" в течении недели.

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

Обычные занятия в зале пробовал, но не задалось. Для меня оказалось это весьма скучным, из-за чего я начинал себя там "перебарщивать". Брал тяжёлые для себя веса, излишне истощал себя, короче, делал все ошибки новичка. Постепенно пришёл к выводу, что мне оно не оч подходит из-за недостатка мотивации. А стандарт в виде отжиманий и упражнений на пресс я и дома могу делать.

Итог: недостаток отдыха и физических нагрузок негативно влияет на производительность. Необходимо разобраться, как "правильно" отдыхать и какие физ нагрузки будут не слишком занимать много времени и подходить под твои особенности организма.

О тимбилдинге

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

Раз уж речь зашла о команде, надо чтобы было понятно как она устроено. Раз уж я тут распинаюсь, то и начну с себя:

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

Моя девушка - неопределившийся художник. Имеет неплохие навыки рисования, но имеет огромный период отсутствия практики, поэтому сейчас должна добивать пробелы при переходе с бумаги на цифру. Плюс, начала себя пробовать в 3D. Не совсем с удачной стороны, но мы сейчас это корректируем. Осваивает ZBrush и Blender. Планирует стать моушен дизайнером.

Первый брат-"акробат" - это 3D-моделлер, который уже имеет опыт работы с разработчиками игр. Пока самый производительный член команды, потому что результат его работы уже готовые ассеты для игры. Работает даже немного наперёд планирования. Сам сейчас работает в НИИ конструктором, работает в основном в различных CAD-программах, поэтому сфера для него знакомая.

Второй брат-"акробат" - это программист-разработчик. Имел опыт взаимодействия с Unity. Работает в отделе разработки ПО для ЧПУ-станков(насколько я понимаю). Постепенно осваивает UE вместе со мной, поэтому с ним мы взаимодействуем больше всего.

Назовём его так - "Критик". Я тут немного отыграюсь, может меня даже кто то осудит. Но этот член команды стали таковым не совсем по собственной воле, а я скорее его на это вывел. Использую его как некую "экспертную" систему для корректирования моих идей и работ остальных членов команды. Назовём его "редактором" всего проекта, ибо если бы не он, то многие вещи в наших задумках были бы недостаточно глубоки. Вообще трудно определить его конкретную роль, ибо я даю ему заниматься чем он захочет. Сейчас например осваивает 3D-моделирование, для создания модели боевого дрона. Основную роль он выполняет именно для меня как "критик" моих идей.

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

Немного о проекте, но не о игре

На то что я далее напишу в этом параграфе хотел бы услышать конструктивную критику.

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

Для всех "вещей", которые требуют разработки была заведена специальная таблица. Т.е. там находятся описания механик, 3д-модели, концепт-арты и т.д. С помощью этой таблицы я собираюсь отслеживать изменения этих "вещей" по мере разработки итераций прототипа самой игры. Может есть для этого более удобное решение, но пока я это организовал так.

Соответственно был заведён приватный репозиторий на GitHub, на котором сейчас есть зачаток приложения. Была произведена интеграция с Notion. Пока вопрос обстоит в инструментах слияния веток, если кто за это шарит, просьба написать в комментариях решение или ссылочку, буду очень благодарен)

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

Для 3D-моделинга используется Blender. Но так же начинаем рассматривать альтернативы в виде ZBrush, но возникает вопрос использования пиратского софта при разработке в будущем коммерческого продукта. На ранних этапах я решил не углубляться в данный вопрос, основываясь на том, что если использоваться только открытый софт, то проблем быть не должно. Но как оказалось, что есть софт, который весьма ощутимо может упрощать разработку, но лицензия либо не продаётся в РФ, либо стоит слишком дорого.

На данный момент всё. Думаю выкладывать сюда информации об разработке игры. Но понимаю, что могу много времени тратить на формирование поста, которое мог лучше потратить на сам разработку)

Ещё раз, конструктивную критику приветствую)

PS вывод после прошло поста сделал, больше такого объёма я делать не буду)

PPS по факту я не совсем разработчик получаюсь, так что возможно заголовок не оч хорошо оправдан у данной серии)

Показать полностью
[моё] Программирование IT Gamedev Эффективность Рефлексия Проект Игры Разработка Unreal Engine Инди игра Команда Длиннопост Текст
2
14
GoblinCave
GoblinCave
1 год назад
Лига Разработчиков Видеоигр

Нейросети - это буквально "руки из ж*пы". Как решить проблему лишних пальцев и конечностей?⁠⁠

Нейросети - это буквально "руки из ж*пы". Как решить проблему лишних пальцев и конечностей? Разработка, Программирование, Gamedev, Программист, Инди игра, Unity, Unreal Engine, IT, Дизайн, Арты нейросетей, Нейронные сети, Stable Diffusion, Игры, Game Art, Motion design, Гайд, Анимация, 2D, 2D анимация, 2d рисование, Длиннопост

● Примерно так выглядит сбор "деталей" для создания модельки в "Dragon Bones".

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

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

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

● Как это исправить?

Можно просто добавить в запрос "detailed fingers" и без конца мучать нейросеть в ожидании чуда. Но куда проще взять "ситуацию с руками" в свои руки. Я владею Photoshop на базовом уровне, но даже таких знаний хватает, чтобы исправить косяки робота.

Я отобрал модельки с менее уродливой правой рукой (та где видно пальцы). Именно с ней связанно больше всего косяков. С помощью графического редактора я удалил лишнее и дорисовал недостающее. В основном применялся "Штамп". Цветовая палитра копируется пипеткой, обводка при помощи кисти.

Нейросети - это буквально "руки из ж*пы". Как решить проблему лишних пальцев и конечностей? Разработка, Программирование, Gamedev, Программист, Инди игра, Unity, Unreal Engine, IT, Дизайн, Арты нейросетей, Нейронные сети, Stable Diffusion, Игры, Game Art, Motion design, Гайд, Анимация, 2D, 2D анимация, 2d рисование, Длиннопост

▸ Эволюция руки

Таким образом вместо соотношения 1/100 удачных, мы получаем уже 5-10/100, что делает работу с нейросетью более продуктивной. Да, программа не нарисует все за вас, придется научиться хотя бы редактировать графические элементы. Но это уже в половину проще чем рисовать все с нуля.

Нейросети - это буквально "руки из ж*пы". Как решить проблему лишних пальцев и конечностей? Разработка, Программирование, Gamedev, Программист, Инди игра, Unity, Unreal Engine, IT, Дизайн, Арты нейросетей, Нейронные сети, Stable Diffusion, Игры, Game Art, Motion design, Гайд, Анимация, 2D, 2D анимация, 2d рисование, Длиннопост
Нейросети - это буквально "руки из ж*пы". Как решить проблему лишних пальцев и конечностей? Разработка, Программирование, Gamedev, Программист, Инди игра, Unity, Unreal Engine, IT, Дизайн, Арты нейросетей, Нейронные сети, Stable Diffusion, Игры, Game Art, Motion design, Гайд, Анимация, 2D, 2D анимация, 2d рисование, Длиннопост
Нейросети - это буквально "руки из ж*пы". Как решить проблему лишних пальцев и конечностей? Разработка, Программирование, Gamedev, Программист, Инди игра, Unity, Unreal Engine, IT, Дизайн, Арты нейросетей, Нейронные сети, Stable Diffusion, Игры, Game Art, Motion design, Гайд, Анимация, 2D, 2D анимация, 2d рисование, Длиннопост
Нейросети - это буквально "руки из ж*пы". Как решить проблему лишних пальцев и конечностей? Разработка, Программирование, Gamedev, Программист, Инди игра, Unity, Unreal Engine, IT, Дизайн, Арты нейросетей, Нейронные сети, Stable Diffusion, Игры, Game Art, Motion design, Гайд, Анимация, 2D, 2D анимация, 2d рисование, Длиннопост
Нейросети - это буквально "руки из ж*пы". Как решить проблему лишних пальцев и конечностей? Разработка, Программирование, Gamedev, Программист, Инди игра, Unity, Unreal Engine, IT, Дизайн, Арты нейросетей, Нейронные сети, Stable Diffusion, Игры, Game Art, Motion design, Гайд, Анимация, 2D, 2D анимация, 2d рисование, Длиннопост
Нейросети - это буквально "руки из ж*пы". Как решить проблему лишних пальцев и конечностей? Разработка, Программирование, Gamedev, Программист, Инди игра, Unity, Unreal Engine, IT, Дизайн, Арты нейросетей, Нейронные сети, Stable Diffusion, Игры, Game Art, Motion design, Гайд, Анимация, 2D, 2D анимация, 2d рисование, Длиннопост

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

Показать полностью 8
[моё] Разработка Программирование Gamedev Программист Инди игра Unity Unreal Engine IT Дизайн Арты нейросетей Нейронные сети Stable Diffusion Игры Game Art Motion design Гайд Анимация 2D 2D анимация 2d рисование Длиннопост
0
22
GoblinCave
GoblinCave
1 год назад
Лига Разработчиков Видеоигр

Godot 4: создание платформера от гоблина для человеков | Урок 2: Персонаж, управление и физика⁠⁠

Для тех кто первый раз читает мой гоблинский блог - расскажу кратко что тут происходит. Я сам являюсь зеленым новичком в разработке игр и в своем блоге описываю этапы изучения столь сложного дела. На данный момент - это работа с движком Godot 4.

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

● Создание сцены с персонажем:

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

Godot 4: создание платформера от гоблина для человеков | Урок 2: Персонаж, управление и физика Gamedev, Инди игра, Разработка, Программирование, Программист, Инди, Unity, Unreal Engine, Python, IT, Гайд, Игры, Godot, Godot Engine, Платформер, Геймеры, Видео, Без звука, Длиннопост

Как выглядит узел "CharacterBody2D"

● Визуальное изображение персонажа:

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

Godot 4: создание платформера от гоблина для человеков | Урок 2: Персонаж, управление и физика Gamedev, Инди игра, Разработка, Программирование, Программист, Инди, Unity, Unreal Engine, Python, IT, Гайд, Игры, Godot, Godot Engine, Платформер, Геймеры, Видео, Без звука, Длиннопост

Узел "Sprite" -> Texture -> Быстро загрузить

● Настройка зоны столкновения:

Чтобы наш персонаж не проваливался в текстуры и реагировал на поверхности мы должны настроить зоны столкновения. В прошлом уроке мы работали со слоем Collision в нашем TileMap. Тут же мы добавляем узел "CollisionShape2D", который представляет из себя выделение зоны столкновения в виде простой геометрической фигуры. Вид этой фигуры мы выбираем во вкладке "Shape".

Godot 4: создание платформера от гоблина для человеков | Урок 2: Персонаж, управление и физика Gamedev, Инди игра, Разработка, Программирование, Программист, Инди, Unity, Unreal Engine, Python, IT, Гайд, Игры, Godot, Godot Engine, Платформер, Геймеры, Видео, Без звука, Длиннопост

Узел "CollisionShape2D" -> Shape -> Новый RectangleShape2D

● Начальные данные для физики и управления:

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

Чтобы создать константу мы пишем: const название_константы = значение

Переменные же создаются по другому: var название_переменной = значение

Давайте разберемся за что отвечают указанные нами значения:

speed и acceleration - от этих значений будет зависеть скорость передвижения по оси X (влево-вправо)

jump_velocity - это значение влияющее на высоту прыжка. Ось Y в Godot перевернута с ног на голову и отрицательное значение означает вверх.

friction - значение влияющее на скорость остановки при прекращении передвижения.

Godot 4: создание платформера от гоблина для человеков | Урок 2: Персонаж, управление и физика Gamedev, Инди игра, Разработка, Программирование, Программист, Инди, Unity, Unreal Engine, Python, IT, Гайд, Игры, Godot, Godot Engine, Платформер, Геймеры, Видео, Без звука, Длиннопост

Так выглядят наши константы в коде

Так же мы добавляем значение гравитации, однако оно выставляется из внутренних настроек проекта.

var gravity = ProjectSettings.get_setting("physics/2d/default_gravity")

● Общая функция для управления персонажем:

Задав исходные данные мы можем приступать к настройкам функций нашего персонажа. Для этого мы пишем стандартную функцию Godot:

func _physics_process(delta):

Для тех кто не знает - эта функция вызывается перед каждым физическим кадром, который привязан к физическому fps, он по умолчанию равен 60 раз в секунду.

var input_axis = Input.get_axis("ui_left","ui_right")

Get_axis - это функция которая присваивает переменной одно из двух значений при нажатии одной из двух кнопок. Первое значение равно -1 и задается при нажатии клавиши "влево". Второе же равно 1 и задается при нажатии клавиши "вправо". Если на момент кадра не нажата ни одна из этих кнопок, значение равно 0. Это позволяет нам определить нужное направление для изменения координат персонажа.

Godot 4: создание платформера от гоблина для человеков | Урок 2: Персонаж, управление и физика Gamedev, Инди игра, Разработка, Программирование, Программист, Инди, Unity, Unreal Engine, Python, IT, Гайд, Игры, Godot, Godot Engine, Платформер, Геймеры, Видео, Без звука, Длиннопост

Влево = -1 | Вправо = 1 | Стоим на месте = 0

● Движение по оси X (влево-вправо), создаем новую функцию:

handle_acceleration (input_axis, delta)

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

if input_axis !=0:

Если данное условие выполнено, то мы совершаем перемещение в заданном направлении. Для этого используется функция move_toward.

velocity.x = move_toward(velocity.x, speed * input_axis, acceleration * delta)

velocity.x - это переменная отвечающая за перемещение по оси X.

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

Каждый кадр мы двигаемся в выбранную сторону, начальная точка меняется и это создает замкнутый круг движения. А чтобы его запустить, мы добавляем нашу функцию под physics_process и в конце пишем move_and_slide().

Godot 4: создание платформера от гоблина для человеков | Урок 2: Персонаж, управление и физика Gamedev, Инди игра, Разработка, Программирование, Программист, Инди, Unity, Unreal Engine, Python, IT, Гайд, Игры, Godot, Godot Engine, Платформер, Геймеры, Видео, Без звука, Длиннопост

move_toward ( начальная точка, точка прибытия, расстояние шага за один кадр )

▸ А где тормоза то !?

● Как сделать остановку?

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

Копируем нашу прошлую функцию и переименовываем ее:

handle_friction (input_axis, delta):

Так же меняем заданное условие, input_axis должен быть равен нулю. Главное помнить, что знак равенства при сравнении выглядит вот так "==".

if input_axis == 0:

В функции move_toward заменяем значения. Первое остается прежним, на втором ставим ноль, а на третьем стираем acceleration и пишем friction. Все это в сумме обеспечит нам быструю остановку.

Godot 4: создание платформера от гоблина для человеков | Урок 2: Персонаж, управление и физика Gamedev, Инди игра, Разработка, Программирование, Программист, Инди, Unity, Unreal Engine, Python, IT, Гайд, Игры, Godot, Godot Engine, Платформер, Геймеры, Видео, Без звука, Длиннопост

Функции обратные друг другу

● Движение по оси Y (прыжок, гравитация), создаем новую функцию:

aplay_gravity(delta):

Если мы не на земле, то бишь в воздухе - нас должно тянуть вниз.

if not is_on_floor():

velocity.y += gravity * delta

Ставим именно "+=", так как это сделает плавное падение с нарастающим ускорением. Не забудьте умножить на delta, иначе все произойдет за долю секонды.

● Следующая функция для прыжка:

handle_jump(delta):

Для нас важны два условия - нахождение на земле в момент прыжка и нажатие нужной клавиши.

if is_on_floor() and Input.is_action_just_pressed("ui_accept"):

Если данное условие соблюдено мы приравниваем параметр оси Y к значению высоты прыжка.

velocity.y = jump_velocity

Добавляем эти функции под physics_process, а после переходим на сцену "world". Туда из общего списка ресурсов перетаскиваем сцену "player".

Godot 4: создание платформера от гоблина для человеков | Урок 2: Персонаж, управление и физика Gamedev, Инди игра, Разработка, Программирование, Программист, Инди, Unity, Unreal Engine, Python, IT, Гайд, Игры, Godot, Godot Engine, Платформер, Геймеры, Видео, Без звука, Длиннопост

.tscn - это формат сцены в Godot

Godot 4: создание платформера от гоблина для человеков | Урок 2: Персонаж, управление и физика Gamedev, Инди игра, Разработка, Программирование, Программист, Инди, Unity, Unreal Engine, Python, IT, Гайд, Игры, Godot, Godot Engine, Платформер, Геймеры, Видео, Без звука, Длиннопост

Как выглядит наш блок с функциями

● Что у нас получилось в итоге?

✓ Если вы нажимаем клавишу влево или вправо - персонаж двигается в выбранном направлении.

✓ Если ни одна из клавиш направления не нажата - мы останавливаемся.

✓ Если мы находимся в воздухе - нас тянет вниз с каждой секундой все сильнее.

✓ Если находясь на земле, мы жмем прыжок - нас подкинет вверх.

▸ Оно живое!

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

✓ Зеленые новички - крепитесь и подписывайтесь, скоро новая статья. На очереди две темы - "анимация персонажа" или "двойные прыжки и прыжки от стены".

✓ Опытные шаманы - запасайтесь успокоительным, ибо дальше будет еще куча попыток освоить gamedev.

✓ Ну и все кто имеет свое мнение, поддержку или усмешку - пишите комменты!

Показать полностью 9 2
[моё] Gamedev Инди игра Разработка Программирование Программист Инди Unity Unreal Engine Python IT Гайд Игры Godot Godot Engine Платформер Геймеры Видео Без звука Длиннопост
14
20
GoblinCave
GoblinCave
1 год назад
Лига Разработчиков Видеоигр

А на что собственно живут разработчики из России в 2023 году?⁠⁠

А на что собственно живут разработчики из России в 2023 году? Программирование, Разработка, Программист, Gamedev, Инди игра, Unity, Инди, Unreal Engine, Python, IT, Монетизация, Россия, Технологии, Цифровые технологии, Длиннопост

Я постепенно постигаю разработку игр и не то что бы надеюсь на какую либо финансовую выгоду. Создать простенький проект и довести его до играбельного релиза - уже само по себе достижение. Но так или иначе начинаешь задаваться вопросами, на что живут разрабы из России?

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

Публикация игры в Steam требует оплаты слота, публикация в Google Play требует оплату лицензии разработчика. Говорят пополнить Steam можно через Qiwi, но с Google Play такое не работает. То есть, уже на этапе публикации вашего проекта вы сталкиваетесь с проблемами.

Допустим вы каким то образом смогли разместить свой проект на площадке - что по монетизации?

Как мне известно вывести деньги со Steam можно через Райффайзен, выбрав функцию банка-посредника. Учитывая плату самому Steam, наценку банка и налоги - вы получите в лучшем случае 50% от заработанных денег. Как происходит вывод средств с Google Play не знаю, но предположительно для этих целей заводится зарубежный счет с карточкой. Правда вам это вряд ли пригодится - публикация платных продуктов из РФ приостановлена.

Один из видов монетизации мобильных игр - это реклама!

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

Что же остается простому работяге игрового фронта?

Ответ прост - крутиться в поиске всех возможных альтернатив. За неимением возможности выгрузить свое приложение в Google Play разработчики из России все чаще смотрят на тот же App Gallery. Если игра проста и имеет возможность выгрузки в формате HTML5 - то можно попробовать Яндекс.Игры или другие сайты с браузерными проектами. Конечно, есть зародыш в виде RuStore, но не думаю что он в ближайшие пару лет получит действительно широкую аудиторию.

Медиаторы Appodeal и Clever Ads Solution все еще работают с Россией, что позволяет получать выплаты от "забугорных" рекламных сетей через посредника. К тому же есть сетки Яндекса и My Target, которые гарантированно дают выплаты.

Если же вы нацелены на Steam, то вам предстоит найти посредника, который подключится к вашему аккаунту, приобретет слот из своей страны, а после вы удалите его доступ через настройки. Либо можно обратиться к издателям, если вы сделали качественный проект. Если же вы нацелены только на аудиторию из России - можете попробовать VK Play (правда продажи там в разы меньше).

А на что собственно живут разработчики из России в 2023 году? Программирование, Разработка, Программист, Gamedev, Инди игра, Unity, Инди, Unreal Engine, Python, IT, Монетизация, Россия, Технологии, Цифровые технологии, Длиннопост

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

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

P.S.

С последнего поста прошло две недели и нет - я не помер. Продолжаю изучать движок Gogot и собирать по нему информацию. Решил изменить подход к созданию статей по разработке и буду публиковать короткие блоки с описанием каждого элемента будущей игры.

Показать полностью 1
[моё] Программирование Разработка Программист Gamedev Инди игра Unity Инди Unreal Engine Python IT Монетизация Россия Технологии Цифровые технологии Длиннопост
9
Посты не найдены
О нас
О Пикабу Контакты Реклама Сообщить об ошибке Сообщить о нарушении законодательства Отзывы и предложения Новости Пикабу Мобильное приложение RSS
Информация
Помощь Кодекс Пикабу Команда Пикабу Конфиденциальность Правила соцсети О рекомендациях О компании
Наши проекты
Блоги Работа Промокоды Игры Курсы
Партнёры
Промокоды Биг Гик Промокоды Lamoda Промокоды Мвидео Промокоды Яндекс Директ Промокоды Отелло Промокоды Aroma Butik Промокоды Яндекс Путешествия Постила Футбол сегодня
На информационном ресурсе Pikabu.ru применяются рекомендательные технологии