Лавка Разработчика
3.38K subscribers
415 photos
45 videos
16 files
650 links
Мы тут игры пилить будем, или как?

YouTube: https://youtube.com/@gamedevlavka

Автор: @vavilichev

Все контакты: https://linktr.ee/vavilichev
Download Telegram
Там на днях Unity 6.2 релизнулся с бесплатным (пока что) AI на борту

Я скачал Uniy 6.2, чтобы потыкать AI инструмент, который теперь не Muse, а как я понял просто Unity AI. И вот, что удалось выяснить:

1. Генерация кода (куда ж без этого).
Сгенерировал два скрипта - монобех для двери, которая может открываться/закрываться с анимацией и без (моментально), при этом может быть заблочена. Сгенерировал в своем стиле (хз каком), но в целом код сносный, с небольшими правками по желанию можно работать. Попросил добавить воспроизведение звуков в разных случаях взаимодействия с кодом - добавил без проблем в нужные места. Нейминги на любителя, но код будет работать точно. Таким образом, за полминутки получил интерактивную дверь со звуками. Без визуала.
Не монобех код: сгенерировал простой ячеистый инвентарь со свойствами: емкость и списком ячеек, в которых записаны данные о имеющихся предметах.Функционал - добавление, удаление предметов с проверкой на переполненность, на отсутствие предмета (при удалении), и возможностью стакать предметы в ячейке, если добавляемый уже есть. Сгенерировал тоже сносно.
Инвентарь простой, но скорость создания кода впечатляет. Сомневаюсь, что получится выстроить сложную архитектуру, но простые игры клепать становится очень быстро.
Код генерируется внутри диалогового окна с возможностью сохранить в файл. Генерированию кода ставлю пятерку, инструмент хорош.

2. Генерация ассетов

2.1 Аудио. Пытался сгенерить звуки попытки открыть заблокированную деревянную дверь, открывание/закрывание деревянной двери, использование выключателя. Либо мои промпты отстой, выдает вроде в нужную сторону, но совсем не то (звук закрывания двери звучит как будто в дверь постучали, what? Или звук переключателя - просто свист), либо сам инструмент еще сыроват, либо и то и другое. Сильно не тыкал, так что делаю скидку и ставлю 3/5, может хуже.
2.2 Спрайты. Нууу... Генерация спрайтов не мой конек, но на превьюхе - то, что мне удалось получить с несложным промптом с генерацией яркой пиксель-арт лягухи, а затем и удалением фона. Прошу заметить на упоротое нечто справа от персонажа, да и в целом удаление фона.. Произошла страшная ошибка! Был вариант и больменее, но фон удалять не стал - боюсь. Все прикрепил к посту.

Можно еще генерить текстуры, анимации, шнырять по редактору и изменять сцену. В примере к последнему показывается, как бросается набор деревьев в AI ассистент и пишется промпт: создай сцену бла бла бла, и вот Unity делает это. А для чего еще нужен подобный функционал, сложно предположить. Из прикольного - можно менять всякие свойства, в примере - освещения. Но я не уверен, и тут далеко зашли.

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

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

В Unity 6.2 есть еще несколько новых штук:
- Mesh LOD - автогенерация LODов при импорте моделей. Неплохо, но тоже вопросик поставить надо.
- Graph Toolkit - похоже доделали или переделали Graph API, и теперь (надеюсь) будет удобно работать с графами и пилить свои инструменты
- World Space UI (UI Toolkit) - теперь вы знаете насколько сырой UI Toolkit, World Space только появился, до этого никак было
- Android XR улучшили, не знаю есть ли тут ковырятели дополненной реальности, там для вас приколюхи
- Диагностику улучшили
- Developer Data Framework, чтобы это ни значило, в описании говорится что прозрачный сбор данных для Build Profiles

В любом случае, рекомендую качать и тыкать AI ассистента, пока бесплатно. AI инструменты надо изучать, а то устареете, поцаны и поцанессы

#новости
34👍10
Handbook для новых работников Valve

Недавно наткнулся на пост, мол "в сеть утёк внутренний документ Valve для новых работников, бла-бла". Решил покопать и откопал в открытом доступе на оффициальном сайте Valve с переводом на русский язык данный хендбук. Что ж, кто-то кликбейтит

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

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

VALVe: Handbook for New Employees

#полезное
15👍8😁2
Нужен ли разбор VContainer на канале?
Anonymous Poll
66%
Да
13%
Нет
21%
Я креветка (не знаю, что такое DI)
6
Скриншот-суббота
Vol. 14
5

Отпуск, Кипр, 39.1

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

🔠 Прочитал книжку по планированию в ИТшечке: Shape Up. И есть очень много чего сказать на ее счет, оформлю отдельным постом.

🔠 Собсно, прилетел на Кипр, сижу в Лимассольске с температурой 39.1, потому что вчера переутомился с гуляниями :)

___
Надеюсь у вас со здоровьем все в порядке и вы пилите проекты с бешенной скоростью! И даже поделитесь скриншотами в комментариях, как мы тут обычно это делаем!

#скриншотсуббота
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥84😢4
Бесплатно зальем трафик на $100 в твою игру.

Разрабатываешь мобильную игру и не знаешь, будет ли она успешной?

Мы — мобильное издательство Apollo Publishing, и готовы вложить $100 в трафик на тест твоего проекта.

За полгода мы протестировали 60+ игр и потратили на это $6,000 (читай отзывы). И всё ради того, чтобы найти достойные проекты и вырастить их вместе — несколько таких уже в партнёрской работе.

Что ты получаешь:

— Рекламу у реальных пользователей.
— Честный фидбэк от опытных UA-спецов и продюсеров.
— Метрики, цифры, рекомендации.
— Возможность стать партнёром издательства с полной поддержкой.

Хочешь узнать потенциал своей игры прямо сейчас?

Пиши Ангелине 👉 @aaamarch — берём в работу несколько проектов в месяц, и каждый — смотрим лично.
👍5😁52🤡1
Всем привет!

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

А пока, порадуемся за Лавку Разработчика, в YouTube на канале уже 13 000 подписчиков! Пора видео-таки выпускать начинать.

Всем спасибо, Лю вас! Делайте игры!
149👍18❤‍🔥5🥱1
Скриншот-суббота
Vol. 146

Ah, here we go again

🔠 SameDay: видимого прогресса снова нет, т.к. поработать удалось снова только в самолете, где сложно манипулировать тачпадом. Сделал простенький инвентарь, можно будет поднимать разные предметы.

🔠 Вернулся в Сербию. Про поездку будет отдельный оффтоп. Да и про книжку Shape Up будет отдельный пост. Да и вообще, возвращаюсь, к вам, господа и дамы!

___
Закидывайте в комменты свои первые результаты этой осени!

#скриншотсуббота
Please open Telegram to view this post
VIEW IN TELEGRAM
1🔥162
✍️Отзыв на книгу Shape Up

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

Я изучал множество методологий менеджмента проектов, читал книжки про Agile, Scrum, даже Путь Toyota от корки до корки. Однако, планирование само по себе - исключительно индивидуальная сущность, которая "настраивается" не просто под сферу (геймдев, например), но и под каждый отдельный проект в частности. И чем больше я изучаю тему планирования, чем больше опыта набираюсь, тем больше в этом убеждаюсь. Это большая тема для дискуссии, отложим ее на потом как-нибудь, сегодня у нас всё же Shape Up.

Методология Shape Up, как по мне, подходит исключительно для уже сформированных крупных проектов, вставших на рельсы монетизации (или же поддержки для B2B), и только для проектов, в которых визуал играет последнюю роль. Я мечтал почерпнуть из книги что-то полезное, однако, получил почти ничего (нового), глядите сами. Тезисно:

- Разработка делится на т.н. "спринты". Это условные периоды, через которые нужно предоставлять рабочий билд. Обычно спринты 1-3 недели. Автор же предлагает 6 недель. За 6 недель в геймдеве может случиться воообще что угодно! Слишком много, слишком

- Планирование происходит в несколько этапов - это ок. Там в книге непривычные названия, которые можно привести к уже знакомым, например препродакшн, во время которого набрасывается идея, грубо говоря на бумаге дизайнерами (в нашем случае геймдизайнерами). Потом оформляется в какой-то визуал (макет), и обратываются "пробелы" вместе с тех командой. На это в книге уходит пара недель. Это ок, если что. Главное здесь (по версии автора) - уложиться в 6 недель производства. Если не влезает - нещадно резать

- Когда случается день Х (планирование), происходит голосование - какие фичи пойдут в работу в следующие 6 недель. Не прошло голосование - фича идет в мусорку. Даже не в бэклог. В книге это подается как плюс - не надо думать о бэклоге, однако, как я и сказал выше, данный пункт подходит к уже сформированным проектам. Для стартапов нельзя обойтись без бэклога, т.к. функционала в принципе еще не существует. В каком-то виде бэклог всё-таки должен быть.

- Если фичу не успели за 6 недель релизнуть, она отменяется. Совсем. Мол, жестко, зато не повадно будет. Потерять 6 недель работы тех команды - это очень дорого. Я уже говорил, что такое могут позволить только уже готовые продукты.

- После 6-недельного спринта идет 2х недельный "перерыв". Пока (гейм)дизайнеры собирают инфу, что же будет в следующем спринте. За эти 2 недели чинятся баги. При чем "по желанию" - имеется ввиду, какие хочешь, такие и чинишь. Странное утверждение, не правда ли? К тому же спринт получается не 6-недельный, а 8 недельный, 2 месяца. В геймдеве это майлстоун уже.

- Больше всего меня возмутила "обрезка" фич, чтобы запихнуть в 6-недельный спринт. В книге говорится, что не нужно жалеть пользователей, если им нужен функционал. Обрезать всё, что только можно, вставить уродливую полурабочую фичу и в релиз. И это правильно - для B2B решений, когда заказчику позарез нужен конкретный функционал ещё вчера. Однако, в геймдеве, где конечный пользователь очень требовательный, такое не прокатит. Функционал должен быть отполирован, интересен, визуал должен свервать и плавно двигаться, и абсолютно точно, он должен быть понятен, иначе в отзывах появится что-то около единички.

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

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

Хорошей недели!

#полезное
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13🔥54
Подборка бесплатных ассетов для Unity от SpeedTutor (сентябрь 2025)

Из интересного:

- Best Free Dialogue System for Unity - стали появляться бесплатные ассеты на основе Graph API, так что Unity 6000.0.23f1. Написано, что больше для визуальных новел подходит. Однако, в этой же подборке есть еще и Dialogue Graph Engine, где более явно сказано, что для создания интерактивных диалогов

- PieTabs - помощник для редактора, что-то вроде механики "Избранное", но более удобное, т.к. сделано в виде кнопок НАД панелью со вкладкой Project

- Editor Terminal - обычный терминал в виде вкладки в редакторе. Удобно для терминалодр****ов

- Custom Inspector - тоже, что и Odin, только не такой монструозный и бесплатный. Есть основные элементы кправления, вроде кнопок, иконок, галочек для скрытия, даже сериализация словарей.

Обзор от SpeedTutor

Подборка из 75+ ассетов

#полезное #ассеты
12👍4❤‍🔥3
Скриншот-суббота
Vol. 147

С Днём Программиста!

🔠 SameDay: система сохранений, если игрок выполнил не все условия для выхода из комнаты, то при следующем входе она будет выглядеть также (то есть условия успешного выхода также сделаны). Звуков понавставлял, приделал модельку персонажа, анимировал, отключил меш, чтобы ток тень была. Звуки ходьбы приделал. В общем, игра начинает быть похожей на что-то. Глянуть со звуком можно в комментариях

🔠 Набросал сценарий на тему DI Container с кратким обзором наиболее популярных Zenject, VContainer и ReFlex. Но, кажется, в первую очередь хочу поговорить о рефлексии, чтобы в ролике про DI можно было к нему отсылаться.

🔠 Там еще Nintendo Direct был вчера. Пост не писал, времени не хватило. Там всякие анонсы игр для Switch и Switch 2, Марио тут, Марио там, Марио фильм, в общем, классика Nintendo. Меня только заинтересовало, что Resident Evil 9: Requiem будет на Switch 2

___
Закидывайте в комменты свои первые результаты этой осени!

#скриншотсуббота
Please open Telegram to view this post
VIEW IN TELEGRAM
11👍2
Новость дня: Nau Engine - всё?

У этой новости тройное дно на самом деле. ООО «Н-Джинн» - юридическое лицо российского игрового движка Nau Engine ликвидируется. Да, в него планировали вбухать 1млрд деревянных рублей, но больше не планируют. То есть как бы, движок жив (сами разработчики так заявили), мол, это ж исходный код! Бери, да делай!

В реальности же, это означает: "ну, тут в общем, репозиторий с открытым исходным кодом, как мы и обещали. А там, если звезды на небе сойдутся и кто-то захочет поковыряться - может, что-то из этого и выйдет". Иными словами, не стоит ожидать от движка каких-либо изменений. Я бы сказал совсем.

Я даже как-то открывал, и пробовал тыкать в обрубок открытой беты, которая была больше похоже на ничто.

Ожидаемо? Да. Почему ожидаемо? А это вопрос сильно глубокий, а порой даже незаконный :)

Собственно, на этом всё. Пилим свой 30LetEngine

#новости
😁293😢3
🧠Что является основой для любой игры

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

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

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

Объяснять умными словами дальше считаю нецелесообразным, поэтому приведу примеры из разных точек для лучшего понимания механизма:
1. Цель: убить всех врагов (шутер). Противостояние - враги могут убить героя.
2. Цель: добраться до точки (платформер). Противостояние - ловушки, тайминги, враги, которые могут откинуть героя назад в прогрессе.
3. Цель: добраться до точки как можно быстрее (гонки). Противостояние - оппоненты, которые могут обогнать и помешать езде.
4. Цель: наладить отношения между персонажами (новелла). Противостояние - прописанный скверный характер персонажа, стоит неверно ответить, как отношения катятся в тар-тарары.

Далее примеры механик с использованием конфликтов, многие очевидны, но всё же:
1. Мощнее оружие - дороже стоит
2. Мощнее оружие - медленнее бьет
3. Экипировка дает +20 брони, но -10 к интеллекту
4. Зайдешь в данж повышенной сложности - можешь получить круче лут, но и отлететь больше вероятности
5. Вышибала: кидаешь мячь в игрока - есть шанс, что он ловкий, поймает мяч и скорее всего выбьет тебя же
7. В страегии: стремишься занять пустую территорию, поэтому посылаешь туда слабые (первые) войска, но рискуешь отстать от врага, который в это время качал войска и теперь легко может выбить твои войска
8. Баскетбол: чтобы получить больше очков - надо бросить издалека
9. Головоломки насквозь прошиты конфликтными механиками: сделал неправильное движение - сдох (проиграл)

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

#полезное #геймдизайн
Please open Telegram to view this post
VIEW IN TELEGRAM
18👍11❤‍🔥4🔥1
Скриншот-суббота
Vol. 148


Чуть опоздал

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

🔠 Написал длиннопост про базовый механизм в играх - конфликты. Подробно можно почитать здесь

___
Приглашаю проследовать в секцию комментариев дабы поделиться с обществом своими результатами за неделю!

#скриншотсуббота
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥143🆒2
This media is not supported in your browser
VIEW IN TELEGRAM
Значения полей в редакторе Unity можно копировать

Не знаю, с какой версии это началось, всю жизнь копировал целиком компонент, и в случае, если это невозможно - переносил значения ручками.

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

В примере выше копируется и вставляется Vector3, в буфере обмена в этот момент:

Vector3(10,20,30)


#полезное
👍38🔥8🤡4😁3😱32
Ищешь инвесторов для своей игры?

Участвуй в акселераторе «Фабрика видеоигр», доработай проект под руководством ведущих гейм-дизайнеров и презентуй инвесторам на финальном питчинге.

Что входит в программу акселератора?

🎮 Образовательные лекции, вебинары и Q&A-встречи с экспертами индустрии
🎮 Онлайн-разборы проектов и индивидуальные сессии
🎮 Помощь в создании и улучшении инвестиционной презентации
🎮 Офлайн-плейтесты продуктов
🎮 Кураторская поддержка на каждом этапе

За три сезона лучшие проекты получили финансирование на сумму свыше 150 млн рублей.

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

Реклама
Почему строковые переменные в Update - не хорошо

Есть страшный пример использования строк в Update, обновление количества жизней или ресурсов игрока. Начинающие разработчики часто используют Update для этой задачи, т.к. это самый очевидный вариант на старте. Это хороший пример, чтобы сразу разобрать несколько систем в Unity и программировании, на которые влияют строки, особенно в Update

Плохой пример:

void Update()
{
_textFieldCoins.text = player.CoinsAmount.ToString();
}


1. Самое стремное - перерисовка канваса. В Unity UI элементы (те, что UGUI) рисуются на канвасе, и любое изменение внутреннего элемента ведет к пересчету всего канваса. Что тяжелова-то, особенно если элементов много. Полная перерисовка канваса ведет к быстрой просадке FPS, особенно если значение меняется часто (например счетчик FPS).

2. В продолжение темы про “создание новых строк”. Это уже больше программистская тема - выделение памяти. Каждый кадр выделения памяти на коротенькие строки не страшен сам по себе в контексте количества памяти. Страшна фрагментация памяти. Когда свободные участки памяти дробятся и для выделения большого кусочка (например для загрузки спрайты) - нужно освободить память, которая уже не используется, но еще не очищена. Это очень трудоемкий процесс, так что ожидаются частые однокадровые просадки FPS. Как работает память и сборщик мусора с объяснением фрагментами рассказывал здесь и здесь в подробностях

Решение для многих известное - пользоваться событиями (Event) или реактивностью. И то и другое - разбирал на канале. Изменение значений в UI через события происходит только в момент изменения данных, не каждый кадр, что полностью убирает описанные выше проблемы.


void Start()
{
player.CoinsAmountChanged += OnCoinsAmountChanged;
}

void OnCoinsAmountChanged(int newAmount)
{
_textFieldCoins.text = newAmount.ToString();
}

P.S. не забудь отписаться от события


#полезное
🔥17👍12😱32
This media is not supported in your browser
VIEW IN TELEGRAM
Кооператив на двоих от моих хороших друзей!

Да, буквально вчера ребята из Catch The Void выкатили первый трейлер и опубликовали страницу в Steam, дабы обозначить относительно скорый выход The Whisker Watch. Это кооперативный рогалик про двух котов, которые по ночам навешивают Хтони, а днём прокачивают уютный особняк. Кооп (онлайн/локальный) в приоритете, но соло тоже ок. Кастомизация, комбинируемые гаджеты, цикл день/ночь.

Собсно, добавляйте в вишлист: https://store.steampowered.com/app/3994840/The_Whisker_Watch/?utm_source=tg

P.S. Говорят, даже Человека можно погладить.
❤‍🔥23🔥149
Скриншот-суббота
Vol. 14
9

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

🔠 SameDay:
- Новая кухня. Выглядит как старая, но теперь модельки нарезаны, что позволило сделать целый ворох мест для хранения и интерактивности
- Замутил принтер, который печатает всякое непристойное. Конфиг, что печатать задается - удобненько
Видео в комментах, как всегда

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

#скриншотсуббота
Please open Telegram to view this post
VIEW IN TELEGRAM
14