Обновить
188.66

Разработка игр *

Разработка игр

Сначала показывать
Порог рейтинга
Уровень сложности

Гибридная нейросимвольная архитектура для превращения вероятностных ответов LLM в детерминированный код

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели4.8K

Нам обещали, что ИИ заменит инженеров, а дали вежливых чат-ботов, которые галлюцинируют и путаются в зависимостях. Мы потеряли cтруктуру. В этой статье я реанимирую идеи Символистов 80-х и объединяю их с мощью современных LLM.

Это история создания ZervGen - Фреймворка, который превращает ваш Obsidian в живой граф знаний и пишет работающий код для RPG через бесплатные API.

P.S. Ровно два месяца назад, 11 ноября, я сделал первый коммит. Сегодня, 11 января, я показываю, к чему это привело. Совпадение? Не думаю.

Вскрыть архитектуру

Новости

Radius TactiX, тактика на Godot | Демо 11

Время на прочтение9 мин
Охват и читатели6.1K

Вот что случилось с прототипом походовой радиусной тактики на движке Godot 3x, после нескольких обновлений. К 11 демоверсии к доступным 4-м классам добавился чернокнижник, появился мини-пролог, уникальный герой не меняющий облик при смене класса, мультиклассирование, награды за миссии и многое другое.

Читать далее

TacLibrary открытая библиотека для разработки игр на Unity 3d (идея создания)

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели5.4K

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

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

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

Читать далее

GTA VI (опять), пародия на The Sims, Бэтмэн в LEGO и другие: самые ожидаемые игровые релизы в 2026 году

Время на прочтение13 мин
Охват и читатели8.1K

2025 вышел богатым на игровые релизы. Геймеры получили Clair Obscur: Expedition 33, Kingdom Come: Deliverance II, Split Fiction, Battlefield 6, Death Stranding 2, Borderlands 4, Hollow Knight: Silksong, переиздание Doom и другие новинки. А вот GTA VI, увы, не получили, хотя именно эта премьера от Rockstar должна была затмить собой вообще все. Что ж, давайте же посмотрим, что нам обещает игровая индустрия в 2026.

Читать далее

Release любой ценой: как продуктовый дизайнер создал настольную игру про хаос в IT-разработке (с PnP-версией)

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели10K

Привет! Меня зовут Дима, я продуктовый дизайнер. Мой путь в IT оказался связан с постоянной гонкой за релизами фичей. Я успел поработать в разных проектах—от небольших агентств и стартапов до бигтеха (и, как итог, сильно выгорел). В какой-то момент я решил попробовать себя в создании настольной игры. 

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

В «Release любой ценой» ты становишься релиз-менеджером и собираешь релиз из Backend, Frontend и Database. Твоя цель — зарелизить первым “любой ценой”: саботировать соперников багами и защищать свой релиз. Конечно, в игре есть AI — куда же без него в наше время—в виде дополнительной колоды случайных событий.  Если тебе кажется, что у тебя все под контролем, всегда можно вытащить из колоды Error 503, который выбьет тебя из игры. Победи, собрав все карты релиза, или останься последним выжившим.

PnP выложил на GitHub.

Читать далее

UNITY: Реализация движений для динамичного шутера. Часть 2

Уровень сложностиПростой
Время на прочтение10 мин
Охват и читатели8.1K

С момента прошлой статьи прошло достаточно много времени и я заметил одну интересную вещь: немало людей добавили статью в закладки, несмотря на небольшое число отметок “нравится”. Это убедило меня в полезности материала и потому я решил написать вторую часть.

Читать далее

Недельный геймдев: #259 — 04 января, 2026

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели6.2K

Из новостей: CD Projekt продала GOG — покупателем выступил сооснователь компании и сервиса, NVIDIA приобрела долю в Intel на 5 миллиардов долларов, Resident Evil Requiem добавили в список желаемого более 4 миллионов раз.

Из интересностей: создание окружения в Unity, no Graphics API, Bongo Cat — убийца системных ресурсов, крутые тройные боссы.

Читать далее

Полная история разработки «Ведьмака 3»: от препродакшена до пострелизной поддержки

Время на прочтение38 мин
Охват и читатели7.1K

Весной 2025 года «Ведьмаку 3» стукнуло 10 лет. За это время игра приобрела культовый статус, обзавелась множеством дополнений и патчей, а также в улучшенном виде вышла на современных платформах. В честь знаменательной даты мы решили вспомнить былое и собрали всю информацию о процессе разработки, вероятно, главной польской игры — The Witcher 3: Wild Hunt.

Материал получился крайне объемным: осилить за раз явно не получится, добавляйте в закладки. Приятного прочтения!

Читать далее

Одиночное и групповое движение NPC по произвольной кривой

Уровень сложностиСредний
Время на прочтение25 мин
Охват и читатели6.7K

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

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

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

Читать далее

Serialize Reference. Познаем грани

Уровень сложностиСредний
Время на прочтение12 мин
Охват и читатели7.1K

Абстракции… Абстракций много не бывает!

SerializeReference в Unity интересная штука, а что если попробовать использовать ее чуть дальше базовой реализации?

Читать далее

Нескучное программирование. Ограничения

Уровень сложностиПростой
Время на прочтение12 мин
Охват и читатели17K

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

С введением концептов и ограничений (requires) язык получил возможность управлять этой сложностью на уровне интерфейса. Вместо того чтобы надеяться на магию перегрузки и изощрённые трюки вроде SFINAE, мы теперь можем прямо выражать намерения: какие свойства должен иметь тип, чтобы функция или шаблон были корректны, что позволило перейти от «магии разрешения перегрузок» к декларативному описанию требований к типам.

Давайте теперь поговорим о том, что именно делают ограничения (requires) в современном C++ и почему появление этого механизма стало таким важным шагом в развитии шаблоннов. Тут надо сделать немного шаг в сторону и вспомнить, что исторически шаблоны в C++ были мощным, но довольно опасным инструментом, еще одним языком в языке, на котором можно было сделать почти всё, было бы желание. В итоге компилятор позволял подставить или подхачить любой тип, а проверка того, «подходит ли он на самом деле», откладывалась до момента инстанцирования, что нередко приводило к ошибке далеко от места вызова, а сообщение о непосредственном месте ошибки превращалось в многостраничный отчёт о внутренней кухне компилятора и как он работает с шаблонами. requires меняют эту модель, позволяя описывать ожидания от типа явно и прямо в объявлении функции или класса.

Читать далее

«Колесо фортуны» или выбираем куда сходить на каникулах с помощью Godot 4 и API сервиса афиши

Уровень сложностиПростой
Время на прочтение14 мин
Охват и читатели9.8K

Если на минуту задуматься, великая это вещь - колесо. Человечество значит разок его попробовало и все. Подсело. Теперь почти ни дня без колеса. Завертелось всё, закрутилось, как хоровод вокруг новогодней ёлки. 

Так и я намедни сделал для семейных развлечений свою вариацию на тему игры «Поле чудес», а в поле чудес кто главный герой? Нет, нет, отнюдь не «импозантный мужчина в усах». Я имел в виду – красавец барабан. А барабан это что? Правильно, барабан – колесо. Поэтому, один раз научившись вращать двухмерное колесо в игре на движке Godot я уже не смог остановиться. Захотелось мне это колесо еще где-нибудь использовать на благо прогрессивного человечества.

А тут как раз каникулы длинные нарисовались. И чтобы не было соблазна все выходные сидеть в теплых светодиодных лучах монитора, я сделал простенькое колесо фортуны, которое поможет мне с выбором занятия на день.

И как всегда готов поделится результатом с вами.

Читать далее

Bongo Cat — убийца системных ресурсов

Уровень сложностиПростой
Время на прочтение8 мин
Охват и читатели8.8K

5 марта 2025 года в Steam вышла игра Bongo Cat. Милый котик из мема, стучащий своими лапками по столу каждый раз, когда вы нажимаете какую-либо клавишу или кликаете мышью.
Люди в умилении, пишут восторженные отзывы. Игра набрала 98% положительных отзывов, что превосходит такие шедевры как Detroit Become Human, Lethal Company, Subnautica... Мило, прикольно, необычно.

Чувствуете подвох? :)

Эта игра убивает ваши драгоценные системные ресурсы. Каким образом счётчик нажатий с метой в виде небольших украшений и скинов может требовать больше ресурсов, чем некоторые игры?!

Разберём игру по косточкам ("основная часть"), найдём ошибку автора и сделаем выводы ("часть выводов").

Читать далее

Ближайшие события

Недельный геймдев: #258 — 28 декабря, 2025

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели6.3K

Из новостей: серверы Rainbow Six Siege отключили на фоне атаки хакеров, тираж Buckshot Roulette превысил 8 млн копий, погиб Винс Зампелла, Take-Two страйкнула браузерную версию GTA: Vice City.

Из интересностей: писатель Алексей Поляринов о сценарии для Мора, подкаст с Яшей Хаддажи, за 3 месяца с 10к вишлистов до 20к, анимированные чешуйки в Monster Hunter Wilds.

Читать далее

DEVLOG 3: Сноски

Уровень сложностиСредний
Время на прочтение4 мин
Охват и читатели7.9K

Всем привет!
Этот пост будет предновогодним и потому мы обсудим самую мякотку.

Сегодня обсудим ключевую фичу проекта - сноски Дэвида Фостера Уоллеса! Это автор с уникальным подходом к написанию - как понятно из названия, там что-то любопытное придумал Уоллес со сносками. Его открытие: Сноски могут быть самостоятельным сюжетным битом, ироничным и харизматичным замечанием, они могут быть большие и огромные - некоторые его сноски достигают размера целой главы и создают ощущение бесконечного текста*(это сноска, листайте в конец чтобы оценить задумку).

Читать далее

Нескучное программирование. Overloads

Время на прочтение20 мин
Охват и читатели13K

Года четыре назад, на стыке двух проектов, когда старый уже просто сапортили, а новый только находился в стадии препродакшена и питчингов разной степени завершенности (планирование и попыток продать концепт и идеи незаинтересованным инвесторам) у моей тогдашней команды удивительным образом появилось свободное время и где-то между обучением новичков премудростям кастомного движка, попытками переключаться на 20-ый стандарт и ретроспективой бэклога, солнечным сентябрьским утром родилась идея сделать студийные обсуждения в стиле подкаста PVC по теории С++, чтобы понять какие возможности реализованы в движке, какие компетенции есть у пополнения и вообще как-то освежить теорию. Так родился мини-курс внутристудийных лекций от разных людей с разным, но реальным опытом применения, позже осевший в местной вики в виде набора статей, бест практис или вообще заметок с упором на игродевовскую тематику. Чтобы все это добро не пропадало, ибо человекочасов туда было вбухано порядком я решил эти заметки облагородить и выложить в читаемом виде (видео к сожалению не будет, ибо НДА и всяческие спойлеры проектов и местной кухни разработки, да и никто не будет эти десятки часов болтовни слушать), но сами принципы языка и его особенностей вещь копирайту неподвластная, поэтому в таком виде вроде можно. Если подобный формат "зайдет" аудитории Хабра, можно будет продолжить статьи в виде небольшого цикла, как это получилось с серией Game++. К сожалению, начнем не с обобщенного программирования, а со второго подкаста про перегрузки, потому что первые записи оказались испорчены и на их восстановление потребуется время. Итак перегрузка в С++, не так как её учат в универе и дают в книжках...

Читать далее

Новогодний подарок: Как я прикрутил LLM к scratch и порадовал ребёнка

Уровень сложностиПростой
Время на прочтение7 мин
Охват и читатели12K

Как известно, под новый год случаются чудеса, и этот год не стал исключением. Мне удалось прикрутить LLM в визуальный язык программирования Scratch, чем и обрадовал ребенка. А началось всё в один прекрасный день, когда мой сын - школьник осваивал n8n и ваял телеграм бота. Разговорившись, мы вспомнили, что его увлечение программированием началось со Scratch. И его фраза, что было бы здорово, если бы в scratch была бы встроена иишечка, можно столько прикольных игр сделать, стала отправной точкой для данного проекта. Рассказываю и показываю, как мы реализовали эту безумную идею.

Читать далее

Игра года глазами гейм-дизайнера — White Knuckle. (Кейс-Стади)

Уровень сложностиСредний
Время на прочтение19 мин
Охват и читатели6.9K

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

Читать далее 👀

Формат данных на C++, который не боится рефакторинга

Время на прочтение8 мин
Охват и читатели9.6K

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

Есть миф, что рефакторинг ломает обратную совместимость. Я 5 раз переписывал редактор графов и не сломал ни одного файла. Рассказываю, как это возможно.

Почему данные переживают иерархии кода

Как писать нативные игры с OpenGL ES для игровой ретро-консоли Anbernic на C#

Уровень сложностиСредний
Время на прочтение19 мин
Охват и читатели11K

В этой статье я расскажу, как писать игры для консоли Anbernic средствами OpenGL ES на C# .NET8. Для примера напишу примитивный клон Майнкрафта.

Рендерить
1
23 ...

Вклад авторов