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

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

Автор: @vavilichev

Все контакты: https://linktr.ee/vavilichev
Download Telegram
Скриншот-суббота
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)


#полезное
👍41🔥9🤡4😁3😱32
Почему строковые переменные в 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. не забудь отписаться от события


#полезное
🔥19👍13😱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. Говорят, даже Человека можно погладить.
❤‍🔥26🔥1410
Скриншот-суббота
Vol. 14
9

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

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

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

#скриншотсуббота
Please open Telegram to view this post
VIEW IN TELEGRAM
16
Дружеское напоминание: осенняя распродажа в Steam началась!

Длиться будет неделю, до 6 октября, так что расчехляйте кошельки

https://store.steampowered.com/
11
Unity разослали всем письма с предупреждением об опасности

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

Уязвимость найдена в версии 2017.1 и продолжила свое существование дальше, так что фактически очень рекомендуется пересобрать игру и перевыложить, если ваша игра на Windows, MacOS, Linux, Android. При чем обновление выпускается для версии 2019.1 и выше. Бывает такое, что проект обновить нельзя, поэтому Unity также выпустили патч, чтобы обновить бинарники напрямую. Опять же, если на андроид, например, стоит защита античит, то придется пересобирать.

Насколько это опасно? Для некрупных разработчиков не очень-то. Уязвимость позволяет подменять библиотеки внутри игры, поэтому это больше кладезь для читеров. Если боитесь читеров - то вам лучше обновиться, ибо ваш клиент могут изменить, используя эту уязвимость, и загрузить билд на какой-нибудь файлообменник. Собственно, это наибольшая опасность для некрупных разработчиков. Очень неприятная. Важно понимать, что вредоносный код может работать только в рамках прав приложения, так что он не сможет копаться в ваших системных файлах, даже если очень захочет.

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

В общем, обновляйтесь! И с пятницей, дамы и господа!

P.S. Как обновляться
32
Скриншот-суббота
Vol. 150


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

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

🔠 Сижу, обновляю Unity на разных компах, а то после новости про уязвимость в движке в Unity Hub все красным стало

___
Еще забросил Outer Wilds и начал Atomic Heart. До ролика пока не добрался, простите. Но традицию делиться результатами прерывать не будем. Не будем, ведь?

#скриншотсуббота
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥123
❗️Атака клонов ботов

У Лавки Разработчика есть чатик, называемый Таверна Разработчика. Туда можно подписаться.

Забавная история: на днях чат стали атаковать боты. Подписываться. Как понять, что боты? Ну кроме очевидных клише "недавно зареган" и "нет аватарки", а также "странное имя", количество. В первый день в течерние часа +300 подписчиков. Почистил их руками. Во второй день +600. Чистил руками, но полез смотреть, как защититься, ибо второй раз так не хотелось, конечно.

Добавил антиспам бота, вчера он стойко выдержал атаку в 1200 спам-подписчиков. Я его донастроил, так что сегодняшняя атака если и была, то защитник ее благополучно отбил и даже меня не потревожил. Инструмент хороший, рекомендую.

И да, теперь для подписки в чат надо антиспам кнопку нажать, не нажмете - попадете под влияние банхаммера. И еще: если вдруг вы подписывались на Таверну с 3 по 5 октября, вы могли быть случайно кикнуты мной в рамках ручной чистки, если так произошло - сорри, напишите в комменты. Если нет - благодатно.
Please open Telegram to view this post
VIEW IN TELEGRAM
1811👍2
Подборка бесплатных ассетов для Unity от SpeedTutor (октябрь 2025)

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

Обзор от SpeedTutor

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

#полезное #ассеты
3🔥3🏆2
16 октября в Москве пройдет бизнес-конференция «Игровая Индустрия»!
Это событие объединит разработчиков, издателей, платформы и другие компании, которые делают игры — не только по любви, но и по бизнесу.

Вас ждёт:
— три потока лекций и панельных дискуссий
— выставка инди-игр и экспо-зона
— Indie Pitch с экспертным фидбеком и шансом выиграть PlayStation 5 Slim Digital Edition
— зона быстрых консультаций «Спроси Эксперта» от WN Academy
— вечерняя тусовка в неформальной атмосфере

Хочешь показать свою игру?
📍 Подай заявку на участие в шоукейсе или питче → https://iiconf.ru/#for-developers

🎫 Билеты и подробности на сайте конференции: https://iiconf.ru/msk-25#tickets
💬 Общаемся заранее: https://t.me/RusGamesIndustry
👍4🤔1🤡1