объявление
Лето 2026 — зонтичное обновление
Летнее обновление о литературном программировании, независимом C++ Game Core InterDead и формировании IRON CREED.
Этим летом в Zhovten Games мы в основном превращали несколько параллельных экспериментов в единый процесс разработки.
То, что началось как практическая проблема внутри InterDead, привело к методологическому исследованию, затем к более ясной архитектуре игры, а в итоге помогло оформить отдельную инженерную практику вокруг студии.
Эти направления оказались связаны теснее, чем мы ожидали.
1. Литературное программирование
Мы начали с конкретной проблемы в InterDead.
Сценарий должен был оставаться независимым лингвистическим источником, а не становиться неотделимым от конкретного движка.
Этот вопрос вернул нас к концепции Literate Programming Дональда Кнута, а затем привёл к более широкому методологическому обзору воспроизводимой генерации исходного кода, исполняемых документов и разработки с поддержкой LLM.
Исследование отталкивается от WEB и сравнивает несколько современных подходов к одной и той же базовой проблеме: как сохранить связь между объяснением, исходным кодом, исполнением и проверкой.
Сопутствующие реализации охватывают CWEB, noweb-like C++, Org Babel, Quarto, Jupyter и R Markdown.
Мы также рассмотрели более новый пограничный случай: разработку с поддержкой LLM.
Сам по себе промпт ещё не является исходным текстом в смысле Literate Programming, но мы обнаружили, что работа с поддержкой ИИ может сохранять полезные свойства литературного программирования, если следует более строгой цепочке:
объяснение → спецификация → код → тесты → артефакт
Для нас был важен не сам исторический экскурс.
Исследование напрямую вернулось в тот игровой проект, с которого всё и началось.
Исследование: Literate Programming: Дональд Кнут, WEB и современные рабочие процессы
Исследование и сопутствующие реализации: Zhovten Games / literate-programming
Адаптация IRON CREED: Почему документация имеет значение
2. От сценария к Game Core
Исследование помогло нам формализовать более ясную архитектурную модель InterDead.
Сценарий остаётся отдельным лингвистическим источником.
Реализация переходит в независимое C++ Game Core, которое содержит базовую игровую логику, не привязывая её к конкретной среде представления.
Текущая структура выглядит так:
Сценарий → C++ Game Core → проекция Unreal → проекция Web / WASM
Проекции не предназначены для поддержки отдельных копий игровой логики, а предоставляют разные интерфейсы к одному и тому же базовому ядру.
Именно этот этап мы сейчас активно строим.
GDD близок к завершению.
Сценарий уже написан.
Следующая крупная задача — превратить эту структуру в исполняемое ядро игры.
3. IRON CREED — И ещё кое-что сбежало
Пока мы строили пайплайны, писали исследования, чинили инфраструктуру, документировали методы и в целом пытались держать всё это под контролем, произошло кое-что ещё.
Один из наших постоянных персонажей сбежал.
IRON CREED стал прикладной IT- и инженерной практикой Zhovten Games.
То, что существовало отчасти как персонаж, а отчасти как внутренний способ думать об инженерии, постепенно превратилось в отдельный публичный контур для разработки, инфраструктуры, автоматизации, безопасности, технических исследований, документации и верификации.
Это даёт нам место для инженерной работы, которая заслуживает существовать за пределами одного проекта.
А ещё даёт место побочным исследованиям, которые упорно отказываются оставаться побочными.
IRON CREED не заменяет игровую студию; напротив, его методы, инструменты и исследования возвращаются в Zhovten Games и напрямую влияют на то, как мы создаём наши проекты.
Об IRON CREED: IRON CREED — прикладная IT- и инженерная практика
К чему мы пришли
Промежуточный результат лета можно свести к одной связной цепочке:
дизайн игры и нарратива → методологическое исследование → воспроизводимый процесс разработки → независимое C++ Game Core → несколько проекций → инженерные методы, которые возвращаются в студию
Для нас это лето во многом было о том, чтобы убедиться: когда мы строим видимую часть игры, под ней есть целостная система.
Следующий этап — реализация.