Оптимизация Unity-сцены: от Profiler до Object Pooling. Убираем лаги шаг за шагом

Твоя игра на Unity тормозит?
В этой статье гайд о том, как поднять FPS с 30 до 60+.
Мы вместе разберем Profiler, GC, Object Pooling и другие "болевые точки".
Разработка игр
Твоя игра на Unity тормозит?
В этой статье гайд о том, как поднять FPS с 30 до 60+.
Мы вместе разберем Profiler, GC, Object Pooling и другие "болевые точки".
В данной статье будет рассказано, как можно довольно просто сделать маленькое интро используя язык Rust. Будет очень много Unsafe и WinAPI кода, а так же предполагается, что читатель уже хоть немного знаком с OpenGL 3.3.
Из новостей: для Planescape: Torment вышло крупное неофициальное DLC, AMD по ошибке открыла исходный код FSR 4, CD Projekt расширила команды Ведьмака 4 и Cyberpunk 2.
Из интересностей: от 7000 до 42000 вишлистов, простейший дизайнерский трюк Donkey Kong Bananza, как с помощью Твиттера собрали 25к вишлистов, аниматор Clair Obscur показал вырезанные анимации Куратора.
Помню, как впервые увидел Call of Duty примерно в 2004-2005 годах, скачав её в локалке родного города, толком не зная, чего ожидать. В итоге эта игра оказалась настоящим откровением: с первых минут она захватила своей атмосферой, постановкой и масштабом — такого я раньше просто не видел! К тому моменту я уже играл в разные части Medal of Honor и думал, что ничего кинематографичнее Второй мировой в играх быть не может, но появление Call of Duty перевернуло моё представление: внезапно ты не один на поле боя, вокруг тебя союзники, разрывы снарядов, крики товарищей — полное ощущение, что попал в эпизод из «Спасения рядового Райана».
В этой статье я хочу вспомнить оригинальную Call of Duty во всех деталях — от истории её создания небольшой командой энтузиастов до новаторского геймплея и феноменального звукового сопровождения. А в конце я подготовлю для вас ссылку, чтобы вы могли без проблем запустить её на любом современном ПК. Что ж, доставайте каски и готовьте винтовки — пора вернуться на поля сражений Второй мировой вместе с первым Call of Duty!
Всем привет!
В этой статье я расскажу с чего начать непосредственно разработку игры на примере своего проекта - экономического симулятора
Я опишу следующие темы:
1. Используемые инструменты
2. Настройку окружения
3. Написание простой фичи - сделаем 2D грид, простой тайл и научимся выводить в консоль координаты ячеек.
Эта статья будет интересна именно начинающим разработчикам и людям, которые делают первые шаги в геймдеве.
Опытный программист увидит это примерно так:
Третьеклашка пишет статью про то, как он научился в арифметику. Кстати, ты там сложил неправильно.
Как я сделал MoonTap - космическую кликер-игру прямо в Telegram на Rust и Vue
Когда в Telegram появились первые кликер-игры вроде Notcoin, стало ясно: мессенджер идеально подходит для лёгких и социальных игровых проектов. Никаких установок, просто открыл ссылку и играешь.
Я решил попробовать свои силы и собрать свою игру - так родился MoonTap, космический кликер с монетками, бустерами и заданиями. На фронтенде - Vue и Canvas-анимации, а для бэкенда я впервые использовал Rust, хотя до этого писал только на Node.js.
Это короткий пост, вдохновлённый карточками по теме, которые я встретил на канале S0ER'а. В геймдеве такая практика встречается нечасто. Поэтому внесу дополнительное упоминание в ленту. Оставлю вводные, ссылки на более подробное изучение, поделюсь своим опытом и расскажу, какое отношение к этому имеет AI.
A lot of articles and guides on how to create an effective UX design for a software product mention “sticking to a user persona” in order not to waste efforts and resources on a non-target audience. What is a user persona, how to define it, and how can it help the UX team in finding the best design solutions for a product?
Как быстро протестировать игровую идею без лишней сложности? Я создал текстовую игру в Telegram за выходные на Apache NiFi и Groovy, весь контент для которой генерируют языковые модели.
В итоге — легковесный, почти не требующий поддержки бот, которого не больно обновлять. Идеально для MVP.
Под катом — архитектура, этапы развития и как AI не просто отвечает, а становится движком продукта.
Все началось с желания сделать что-то интересное для подписчиков моего канала в Telegram. Захотелось интерактива — простой текстовой викторины или квеста. Но разворачивать полноценный бэкенд... Не для такого пет-проекта.
Цель была ясна: создать максимально простого и легковесного бота, которого было бы не больно поддерживать. Выбор пал на связку Apache NiFi для оркестрации и Groovy для скриптовой логики.
P.S. Полная инструкция по запуску, исходники скриптов и шаблон для NiFi я выложил в открытый доступ на GitHub. Буду рад звёздочкам и пул-реквестам!
При создании пустой 3D-сцены в Godot редактор выставляет стандартные параметры освещения и окружения. Благодаря этому можно приступать к работе над сценой, не подбирая освещение и фон для чёрной, как ночь сцены. Выглядит это примерно, как показано на скриншоте.
Неплохое начало. Однако я считаю, что когда вы начинаете работать с близкими к продакшену ассетами, следует приложить усилия к дополнительной настройке параметров; стоит делать это примерно тогда, когда персонаж игрока перестаёт быть белой капсулой. Окружение и освещение могут сильно влиять на внешний вид и впечатления от игры, и правильная настройка не только скажется на мире и дизайне уровней, но и повысит удовольствие от создания уровней и тестирования.
В этой статье я расскажу о нодах и параметрах, необходимых для базовой фотореалистичной сцены. Я продемонстрирую быстрое и простое универсальное решение, а также вкратце перечислю опции, которые, возможно, пригодятся вам в будущем. Всё это можно использовать непосредственно в вашей игре, но будет полезно также разобраться во всём множестве опций окружения и освещения, если вам понадобится что-то более стилизованное.
Автомобили встречаются в играх повсеместно, это стандартный элемент многих жанров. Если в игровом мире есть перемещение на дальние расстояния, то есть вероятность, что для него используется автотранспорт (если только вы не в фэнтези-мире, где перемещаются на лошадях. Прощу прощения, но в моём посте не будет информации о программировании лошадей).
С самого детства я играл во множество гоночных и транспортных игр. Я всегда старался находить новые гонки. Но со временем я понял, что меня не просто впечатляют новые машины или трассы; меня привлекала уникальность каждого игрового процесса и поведения машин, несмотря на то, что по сути своей все они были легковыми автомобилями.
Здесь важно сказать следующее: игры — это не физические движки, а впечатления. И гоночные игры больше других намеренно манипулируют реальностью, чтобы дать нам эти впечатления. Например, мы ожидаем от шутеров определённого поведения; пуль, летающих по прямой, отдачу при выстрелах, перезарядку. Если эти ожидания не оправдываются, игра начинает казаться «не такой». Но в случае транспорта степень допущений может быть огромной.
Возьмём для примера Mario Kart. Это гонки, максимально далёкие от реалистичности; машинки дрифтят по песку, вы бросаете в друзей черепашьи панцири и гоняете в картах с мультяшными пропорциями и физикой. Тем не менее, эту игру обожают, ведь она «продаёт» реализацию фантазии о гонках.
На противоположном краю спектра находятся такие реалистичные симуляторы, как iRacing и Assetto Corsa. В них игровой процесс тщательно отточен, чтобы передавать все нюансы и трудности реального автоспорта. Люди тратят тысячи долларов на оборудование, позволяющее воссоздать ощущение нахождения за рулём. Тем не менее, в основе всех этих игр лежит программирование автомобилей. Они лишь по-разному расставляют приоритеты аспектов игрового опыта.
Всем привет!
Я решил вести блог о разработке игр на своем личном опыте. Стартовая позиция - без опыта в разработке, не было понимания даже базового синтаксиса.
На примере экономического симулятора расскажу, насколько легко или трудно дается программирование, с какими сложностями столкнулся. Буду писать про фичи, типичные ошибки и подходы, которыми сам пользуюсь при разработке.
Статьи пишу спустя чуть более, чем полтора года от старта работ, так что будет интересно!
«Забудьте всё, чему вас учили в институте» — эта фраза давно стала мемом. И она отражает, наверное, главную проблему высшего образования в наше время — академичность и оторванность от реальности, когда студентов готовят по устаревшим курсам, устаревшим дисциплинам и устаревшим методикам. Но везде ли так? Нет, конечно, и мы в «Синергии» хотим показать это на примере трёх историй наших преподавателей и студентов.
Все они люди новой эпохи, активные, увлечённые, совмещающие сразу несколько видов деятельности, и старые подходы к образованию просто не могли бы дать им такой свободы.
Впрочем, пусть они сами обо всём расскажут.
Unreal Engine готовится к крупнейшему обновлению за последние годы, и вместе с ним на сцену выходит Verse — новый язык программирования, который должен стать сердцем будущего UE6. Уже опробованный в Fortnite Creative 2.0, он обещает разработчикам более гибкий, безопасный и масштабируемый способ писать игровую логику.
В этой статье мы разберем, чем Verse отличается от привычных C++ и Blueprints, и почему его стоит изучить уже сегодня.
Романтика — одна из самых популярных тем в искусстве, медиа и индустрии развлечений: литература, фильмы, сериалы и музыка — везде она занимает видное место. А что насчет игр? На первый взгляд кажется, что разработчики дают геймерам проявлять любые чувства кроме любви и романтики. Игры ассоциируются с экшеном, соревнованием, фантастикой, но редко — с нежными или мелодраматичными историями.
Однако игры не ограничиваются стрелялками, завоеваниями и господством над игровыми территориями. В этой статье посмотрим, как разработчики встравивают романтические истории в свои творения и тем самым создают новые сюжетные линии и даже новый геймплей там, где его совсем не ждешь.
SOLID для начинающих Unity-разработчиков.
Разбираю 5 принципов программирования через аналогии из жизни.
Каждый принцип - с примерами кода на C#.
Из новостей: «посиделки с инди» в большинство сервисов для подкастов, Silksong выйдет 4 сентября, студия авторов Subnautica 2 подала в суд на бывших лидеров, почему Hollow Knight: Silksong создавали 7 лет.
Из интересностей: разработчик Rise of Industry поделился опытом падения на дно, приоритеты вместо хаоса, воссоздание UI из Persona 3 Reload в Godot, анализ фреймов Anno 1800.
Привет! Меня зовут Илья Шмяк, я саунд-дизайнер. Моя работа — создавать звук для игр, кино, брендов. Я не программист, но у меня была гипотеза: можно ли в одиночку, используя только ИИ-ассистента, построить с нуля полноценный веб-сервис?
Спойлер: можно. Этот путь занял 7 месяцев и привел к запуску noise pw — библиотеки уникальных звуков. Это не просто история успеха, а разбор факапов, технических решений и текущей экономики проекта.
Этап 1. Гипотеза и MVP: Иллюзия простоты и первые ошибки фронтенда
Все началось с идеи создать платформу для продажи моих звуков и музыки. Моим единственным техническим специалистом стал ChatGPT.
Я начал с анализа референсов, чтобы понять технологический стек. ИИ порекомендовал Jekyll — генератор статических сайтов, как «быстрый, безопасный и простой». На тот момент я не осознавал концепции бэкенда и считал, что сайт — это просто набор HTML-страниц. Весь первый этап был посвящен созданию клиентской части (фронтенда).
Как превратить атмосферу, звук и механику в настоящую историю которую проживет игрок, вместо трёх страниц диалога.
Недавно я написал Space Invader Generator в рамках соревнований по кодингу Creative Coding Amsterdam. Разумеется, я сделал это ради развлечения... но и для господства над галактикой тоже! На скриншоте показано, как он выглядит, а в посте я объясню, как он работает.