{"schemaVersion":1,"license":"CC-BY-4.0","attribution":"gamemechanics.pro contributors","notice":"Third-party materials retain their original licenses.","resources":[{"id":"schell-art-of-game-design","title":{"ru":"Геймдизайн. Как создать игру, в которую будут играть все","en":"The Art of Game Design: Russian edition"},"description":{"ru":"Призмы Шелла помогают рассматривать игру с разных сторон: опыт игрока, правила, интерфейс, история и итерации. Удобная книга для проверки своих дизайн-решений.","en":"Schell’s lenses examine player experience, rules, interfaces, stories and iteration. A broad reference for questioning your design decisions; this link is the Russian edition."},"url":"https://alpinabook.ru/catalog/book-geymdizayn/","category":"design","language":"ru","kind":"book","authors":{"ru":"Джесси Шелл","en":"Jesse Schell"},"access":{"ru":"Платная книга; на сайте издателя есть описание и фрагмент.","en":"Paid book; publisher overview and sample available."}},{"id":"game-design-workshop","title":{"ru":"Game Design Workshop","en":"Game Design Workshop"},"description":{"ru":"Практический подход Трейси Фуллертон: бумажные прототипы, цели опыта, плейтесты и итерации. Хорошая опора для проекта, который нужно регулярно проверять на игроках.","en":"Tracy Fullerton’s practical approach to paper prototypes, experience goals, playtesting and iteration. A useful structure for a project that needs repeated player feedback."},"url":"https://www.routledge.com/Game-Design-Workshop-A-Playcentric-Approach-to-Creating-Innovative-Games/Fullerton/p/book/9781032607009","category":"design","language":"en","kind":"book","authors":{"ru":"Трейси Фуллертон","en":"Tracy Fullerton"},"access":{"ru":"Платная книга; страница издателя.","en":"Paid book; publisher page."}},{"id":"challenges-for-game-designers","title":{"ru":"Challenges for Game Designers","en":"Challenges for Game Designers"},"description":{"ru":"Упражнения по правилам, ограничениям, случайности и прототипированию. Многие задачи можно решать на бумаге, без движка и программирования. Ссылка ведёт на сайт книги.","en":"Exercises in rules, constraints, chance and prototyping. Many challenges can be explored with paper rather than an engine or programming. Links to the book’s companion site."},"url":"https://designgames.wordpress.com/","category":"design","language":"en","kind":"book","authors":{"ru":"Brenda Brathwaite, Ian Schreiber","en":"Brenda Brathwaite, Ian Schreiber"},"access":{"ru":"Платная книга; сайт с оглавлением и дополнительными материалами бесплатный.","en":"Paid book; companion website, contents and extra materials are free."}},{"id":"theory-of-fun","title":{"ru":"A Theory of Fun for Game Design","en":"A Theory of Fun for Game Design"},"description":{"ru":"Раф Костер связывает удовольствие от игры с освоением закономерностей. Короткая, иллюстрированная отправная точка для размышлений об обучении, скуке и сложности.","en":"Raph Koster connects fun with learning patterns. A short, illustrated starting point for thinking about learning, boredom and challenge."},"url":"https://theoryoffun.com/","category":"design","language":"en","kind":"book","authors":{"ru":"Раф Костер","en":"Raph Koster"},"access":{"ru":"Платная книга; на авторском сайте есть фрагмент и материалы.","en":"Paid book; the author’s site includes an excerpt and resources."}},{"id":"game-feel-book","title":{"ru":"Game Feel: A Game Designer’s Guide to Virtual Sensation","en":"Game Feel: A Game Designer’s Guide to Virtual Sensation"},"description":{"ru":"Стив Суинк разбирает ощущение управления: реакцию на ввод, движение, пространство и полировку. Полезно, когда механика работает, но играть пока не приятно.","en":"Steve Swink examines how input, movement, space and polish shape the sensation of control. Useful when a mechanic works but still feels unsatisfying."},"url":"https://www.routledge.com/Game-Feel-A-Game-Designers-Guide-to-Virtual-Sensation/Swink/p/book/9780429178566","category":"design","language":"en","kind":"book","authors":{"ru":"Стив Суинк","en":"Steve Swink"},"access":{"ru":"Платная книга; страница издателя.","en":"Paid book; publisher page."}},{"id":"rules-of-play","title":{"ru":"Rules of Play: Game Design Fundamentals","en":"Rules of Play: Game Design Fundamentals"},"description":{"ru":"Подробный фундамент о правилах, системах, осмысленной игре и культуре. Подходит, когда нужен общий язык для анализа игр и обсуждения дизайна в команде.","en":"A detailed foundation in rules, systems, meaningful play and culture. Useful for developing a shared vocabulary for analyzing games and discussing design."},"url":"https://mitpress.mit.edu/9780262240451/rules-of-play/","category":"design","language":"en","kind":"book","authors":{"ru":"Кэти Сален, Эрик Циммерман","en":"Katie Salen, Eric Zimmerman"},"access":{"ru":"Платная книга; описание и оглавление у MIT Press.","en":"Paid book; overview and contents from MIT Press."}},{"id":"creating-game-stories","title":{"ru":"Как создавать истории. Основы игровой сценаристики и нарративного дизайна за 12 шагов","en":"How to Create Stories: game writing and narrative design in 12 steps"},"description":{"ru":"Введение в игровую сценаристику: мир, персонажи, диалоги и рабочая документация. Полезно для первого нарративного проекта и понимания работы сценариста в команде.","en":"A Russian introduction to game writing: worlds, characters, dialogue and production documents. Useful for a first narrative project and understanding the writer’s role in a team."},"url":"https://bombora.ru/book/86200/","category":"design","language":"ru","kind":"book","authors":{"ru":"Наталья Андрианова, Светлана Яковлева","en":"Natalya Andrianova, Svetlana Yakovleva"},"access":{"ru":"Платная книга; описание и отрывок у издателя.","en":"Paid Russian book; publisher overview and excerpt."}},{"id":"architecture-of-video-game-worlds","title":{"ru":"Архитектура видеоигровых миров. Уровень пройден!","en":"Architecture of Video Game Worlds: Level Complete!"},"description":{"ru":"Архитектурный взгляд на игровые пространства: масштаб, устройство мира и связь окружения с опытом игрока. Для левел-дизайна, окружения и повествования через пространство.","en":"An architectural view of game spaces, scale, world structure and player experience. Useful for level design, environments and environmental storytelling. Russian-language book."},"url":"https://ast.ru/book/arkhitektura-videoigrovykh-mirov-uroven-proyden-864235/","category":"design","language":"ru","kind":"book","authors":{"ru":"Мария Важенич, Артемий Козлов, Иероним К.","en":"Maria Vazhenich, Artemy Kozlov, Ieronim K."},"access":{"ru":"Платная книга; описание и отрывок у издателя.","en":"Paid Russian book; publisher overview and excerpt."}},{"id":"level-design-book","title":{"ru":"The Level Design Book","en":"The Level Design Book"},"description":{"ru":"Практическое руководство по созданию 3D-уровней: от замысла и blockout до маршрутов, плейтестов и итераций. Подходит для работы в разных движках.","en":"A practical reference for designing 3D levels, from intent and blockouts to routes, playtesting and iteration. Useful across game engines."},"url":"https://book.leveldesignbook.com/","category":"design","language":"en","kind":"book","authors":{"ru":"Роберт Янг и участники проекта","en":"Robert Yang and contributors"},"access":{"ru":"Бесплатная онлайн-книга; отдельные разделы ещё в работе. Текст: CC BY-NC-SA 4.0.","en":"Free online book; some sections are still in progress. Text: CC BY-NC-SA 4.0."},"practice":{"ru":"Раздел How to make a level: собрать blockout одной комнаты и проверить маршрут на игроке.","en":"Read How to make a level, build a one-room blockout and test its route with a player."}},{"id":"platformer-toolkit","title":{"ru":"Platformer Toolkit","en":"Platformer Toolkit"},"description":{"ru":"Интерактивное эссе о том, как ощущается управление в платформере. Меняйте параметры движения и прыжка и сразу пробуйте результат на одном уровне.","en":"An interactive essay about platformer controls. Change movement and jump parameters, then immediately test how the same level feels."},"url":"https://gmtk.itch.io/platformer-toolkit","category":"design","language":"en","kind":"tool","authors":{"ru":"Марк Браун / Game Maker’s Toolkit","en":"Mark Brown / Game Maker’s Toolkit"},"access":{"ru":"Бесплатно в браузере; также есть версии для компьютера.","en":"Free in the browser; desktop downloads are also available."},"practice":{"ru":"Измените только один параметр прыжка, пройдите тот же участок и запишите, какие действия стали проще или сложнее.","en":"Change one jump parameter, replay the same section and note which actions become easier or harder."}},{"id":"puzzlescript","title":{"ru":"PuzzleScript","en":"PuzzleScript"},"description":{"ru":"Небольшой открытый движок и браузерный редактор головоломок с текстовыми правилами. Подходит для быстрого исследования механики на клетчатом поле.","en":"A small open-source puzzle engine and browser editor using text rules. Useful for quickly exploring a mechanic on a grid."},"url":"https://www.puzzlescript.net/","category":"design","language":"en","kind":"tool","authors":{"ru":"Стивен Лавелл и участники проекта","en":"Stephen Lavelle and contributors"},"access":{"ru":"Бесплатный браузерный редактор и открытый исходный код.","en":"Free browser editor and open-source code."},"practice":{"ru":"Измените одно правило в готовом примере и создайте три уровня: знакомство, взаимодействие и неожиданное следствие.","en":"Change one rule in an example and create three levels: introduction, interaction and an unexpected consequence."}},{"id":"twine","title":{"ru":"Twine","en":"Twine"},"description":{"ru":"Открытый инструмент для интерактивных историй и ветвящихся диалогов. Простую историю можно собрать без кода, затем добавить переменные и условия.","en":"An open-source tool for interactive stories and branching dialogue. Build a simple story without code, then add variables and conditions."},"url":"https://twinery.org/","category":"design","language":"en","kind":"tool","authors":{"ru":"Сообщество Twine","en":"Twine community"},"access":{"ru":"Бесплатно в браузере и в настольном приложении.","en":"Free browser and desktop versions."},"practice":{"ru":"Соберите сцену с двумя решениями. Пусть поздняя реплика меняется в зависимости от первого выбора, а ветки снова сходятся.","en":"Build a scene with two decisions. Make a later line react to the first choice, then merge the branches again."}},{"id":"baba-is-you","title":{"ru":"Baba Is You","en":"Baba Is You"},"description":{"ru":"Головоломка, в которой можно менять сами правила. Полезный материал для анализа взаимодействий, неожиданных следствий и обучения через маленькие уровни.","en":"A puzzle game in which the rules themselves can change. Useful for analyzing interactions, unexpected consequences and teaching through small levels."},"url":"https://hempuli.itch.io/baba","category":"design","language":"en","kind":"tool","authors":{"ru":"Арви Тейкари / Hempuli","en":"Arvi Teikari / Hempuli"},"access":{"ru":"Платная игра; по ссылке версии для Windows, macOS и Linux.","en":"Paid game; the linked page offers Windows, macOS and Linux versions."},"format":"game","practice":{"ru":"Разберите один уровень: какое правило он вводит, какое неверное предположение проверяет и какие объекты можно убрать, сохранив идею задачи?","en":"Analyze one level: which rule does it teach, which mistaken assumption does it challenge, and which objects could be removed while preserving the puzzle?"}},{"id":"game-builder-garage","title":{"ru":"Game Builder Garage","en":"Game Builder Garage"},"description":{"ru":"Обучающие задания Nintendo и визуальная сборка собственных маленьких игр. Помогает связать ввод, правила, объекты и обратную связь в работающий прототип.","en":"Nintendo’s guided lessons and visual construction of small games. Connect input, rules, objects and feedback in a working prototype."},"url":"https://www.nintendo.com/au/games/nintendo-switch/game-builder-garage/","category":"design","language":"en","kind":"tool","authors":{"ru":"Nintendo","en":"Nintendo"},"access":{"ru":"Платная игра для Nintendo Switch.","en":"Paid Nintendo Switch game."},"format":"game","practice":{"ru":"После одного урока измените условие победы в прототипе и проверьте, понял ли новый игрок цель без объяснений.","en":"After one lesson, change a prototype’s win condition and test whether a new player understands the goal without explanation."}},{"id":"super-mario-maker-2","title":{"ru":"Super Mario Maker 2","en":"Super Mario Maker 2"},"description":{"ru":"Редактор уровней Mario для практики левел-дизайна. Тренируйтесь вводить механику, развивать её и проверять понятность маршрута. Это игра с редактором, а не полный курс.","en":"A Mario level editor for practicing level design. Introduce a mechanic, develop it and test route readability. A creation game rather than a complete design course."},"url":"https://www.nintendo.com/us/store/products/super-mario-maker-2-switch/","category":"design","language":"en","kind":"tool","authors":{"ru":"Nintendo","en":"Nintendo"},"access":{"ru":"Платная игра для Nintendo Switch. Для сетевых функций нужна Nintendo Switch Online.","en":"Paid Nintendo Switch game. Online features require Nintendo Switch Online."},"format":"game","practice":{"ru":"Сделайте короткий уровень: безопасное знакомство с одной механикой, её вариация и финальная проверка. Дайте другому игроку пройти без подсказок.","en":"Build a short level: a safe introduction to one mechanic, a variation and a final test. Ask another player to play without hints."}},{"id":"game-mechanics","title":{"ru":"Game Mechanics: каталог игровых механик","en":"Game Mechanics: video game mechanics catalog"},"description":{"ru":"Каталог игровых механик с описаниями и примерами из игр для поиска референсов и сравнения решений.","en":"A catalog of video game mechanics with descriptions and examples from games for finding references and comparing approaches."},"url":"https://gamemechanics.org/","category":"design","language":"en","kind":"tool"},{"id":"boss-fight-atlas","title":{"ru":"Boss Fight Atlas: механики боссов","en":"Boss Fight Atlas: boss mechanics"},"description":{"ru":"Атлас механик боссов с анимациями, примерами из игр и конструктором для проектирования боя.","en":"An atlas of boss mechanics with animations, game references, and a builder for designing encounters."},"url":"https://polyakovin.github.io/boss-fight-atlas/","category":"design","language":"multi","kind":"tool"},{"id":"ink-narrative","title":{"ru":"ink / Inky","en":"ink / Inky"},"description":{"ru":"Позволяет писать ветвящиеся истории и диалоги с переменными и условиями. Полезен для отделения нарративных правил от кода игрового движка.","en":"Write branching stories and dialogue with variables and conditions. Useful for separating narrative rules from the game engine’s implementation."},"url":"https://www.inklestudios.com/ink/","category":"design","language":"en","kind":"tool","authors":{"ru":"inkle","en":"inkle"},"access":{"ru":"ink, Inky и Unity-интеграция бесплатны, MIT. Интерфейс, сохранения и локализацию игры нужно продумать отдельно.","en":"ink, Inky and the Unity integration are free under MIT. Plan the game’s UI, saves and localization separately."},"practice":{"ru":"Создать короткий диалог, где предыдущий выбор меняет доступную реплику.","en":"Create a short dialogue in which an earlier choice changes an available line."}},{"id":"tiled","title":{"ru":"Tiled","en":"Tiled"},"description":{"ru":"Редактор уровней с тайлами, объектными слоями, собственными свойствами и экспортом в JSON и Lua. Подходит для прототипов карт и отделения данных уровня от кода игры.","en":"A level editor with tiles, object layers, custom properties and JSON or Lua export. Useful for map prototypes and keeping level data separate from game code."},"url":"https://www.mapeditor.org/","category":"design","language":"en","kind":"tool","authors":{"ru":"Торбьёрн Линдейер и участники Tiled","en":"Thorbjørn Lindeijer and Tiled contributors"},"access":{"ru":"Редактор с открытым исходным кодом и документация доступны бесплатно. Поддержка формата карты, объектов и коллизий зависит от интеграции с выбранным движком.","en":"The open-source editor and documentation are available for free. Map, object and collision support depend on the integration with your chosen engine."},"practice":{"ru":"Собрать карту с двумя маршрутами и объектным слоем препятствий. Экспортировать её, загрузить в игру и проверить проходимость реальным коллайдером персонажа.","en":"Create a map with two routes and an obstacle object layer. Export it, load it into a game and test passage using the character’s actual collider."}},{"id":"game-design-concepts","title":{"ru":"Game Design Concepts","en":"Game Design Concepts"},"description":{"ru":"Пошаговый авторский курс о правилах, прототипировании, итерациях и проверке игры. Удобен как каркас последовательного обучения геймдизайну.","en":"A structured course on rules, prototyping, iteration and testing a game. Useful as a foundation for learning game design through small projects."},"url":"https://gamedesignconcepts.wordpress.com/","category":"design","language":"en","kind":"documentation","authors":{"ru":"Иэн Шрайбер","en":"Ian Schreiber"},"access":{"ru":"Лекции и задания курса 2009 года открыты; программа требует платный учебник Challenges for Game Designers. Учебные форумы архивные.","en":"The 2009 lectures and assignments are open; the syllabus requires the paid textbook Challenges for Game Designers. Class forums are archival."},"practice":{"ru":"Начать с Level 1 и сделать небольшой бумажный прототип.","en":"Start at Level 1 and build a small paper prototype."},"format":"course"},{"id":"mit-game-design-course","title":{"ru":"MIT OpenCourseWare: Game Design","en":"MIT OpenCourseWare: Game Design"},"description":{"ru":"Открытые материалы университетского курса: лекции, чтение и задания по разработке и тестированию игр. Подойдут для последовательной практики в небольшой группе.","en":"Open university course materials with lectures, readings and assignments for designing and testing games. Useful for structured practice with a small group."},"url":"https://ocw.mit.edu/courses/cms-608-game-design-spring-2014/","category":"design","language":"en","kind":"documentation","authors":{"ru":"MIT OpenCourseWare","en":"MIT OpenCourseWare"},"access":{"ru":"Материалы курса бесплатные; часть рекомендованных книг платная.","en":"Course materials are free; some recommended books are paid."},"format":"course"},{"id":"mda-framework","title":{"ru":"MDA: Mechanics, Dynamics, Aesthetics","en":"MDA: Mechanics, Dynamics, Aesthetics"},"description":{"ru":"Короткая научная статья о связи правил, поведения системы и переживаний игрока. Используйте как аналитическую модель и сверяйте выводы с плейтестом.","en":"A short research paper connecting rules, system behavior and player experience. Use it as an analytical model and compare your conclusions with playtests."},"url":"https://users.cs.northwestern.edu/~hunicke/MDA.pdf","category":"design","language":"en","kind":"article","authors":{"ru":"Робин Ханике, Марк Леблан, Роберт Зубек","en":"Robin Hunicke, Marc LeBlanc, Robert Zubek"},"access":{"ru":"Бесплатный PDF статьи.","en":"Free paper PDF."}},{"id":"game-balance-concepts","title":{"ru":"Game Balance Concepts","en":"Game Balance Concepts"},"description":{"ru":"Курс Иэна Шрайбера помогает рассматривать баланс через модели, вероятности и взаимодействия систем. Особенно полезен для объяснения решений за пределами «подкрутим числа».","en":"Ian Schreiber’s course examines balance through models, probabilities and interacting systems. Useful for explaining a change beyond adjusting numbers."},"url":"https://gamebalanceconcepts.wordpress.com/","category":"design","language":"en","kind":"documentation","authors":{"ru":"Иэн Шрайбер","en":"Ian Schreiber"},"access":{"ru":"Материалы курса 2010 года доступны бесплатно под CC BY 3.0 US. Это основы баланса, а не руководство по текущим движкам.","en":"The 2010 course materials are free under CC BY 3.0 US. They cover balance fundamentals rather than current engine APIs."},"practice":{"ru":"Взять одну игровую характеристику и описать её стоимость, пользу и ограничения.","en":"Choose one game statistic and describe its cost, benefit and constraints."},"format":"course"},{"id":"reverse-design-super-mario-world","title":{"ru":"Reverse Design: Super Mario World","en":"Reverse Design: Super Mario World"},"description":{"ru":"Подробный пример анализа уровней и того, как игра развивает знакомые задачи. Полезен, когда хочется перейти от впечатлений к разбору структуры.","en":"A detailed analysis of levels and how Super Mario World develops familiar challenges. Useful for moving from impressions to structural analysis."},"url":"https://thegamedesignforum.com/features/RD_SMW_1.html","category":"design","language":"en","kind":"article","authors":{"ru":"The Game Design Forum","en":"The Game Design Forum"},"access":{"ru":"Веб-разбор открыт; переработанные печатные издания продаются отдельно. Это авторская интерпретация, а не документация Nintendo.","en":"The web analysis is open; revised print editions are sold separately. It is an interpretation rather than Nintendo’s production documentation."},"practice":{"ru":"Разобрать короткий уровень на повторяющиеся задачи и их вариации.","en":"Break a short level into recurring challenges and their variations."}},{"id":"lost-garden","title":{"ru":"Lost Garden","en":"Lost Garden"},"description":{"ru":"Разборы игровых систем, обучения игрока, прототипирования и экономики дизайна. Ценен аргументацией и примерами, а не обещанием универсальной формулы успеха.","en":"Essays on game systems, player learning, prototyping and the business of design. Use their models as hypotheses to examine in your own game."},"url":"https://lostgarden.com/","category":"design","language":"en","kind":"article","authors":{"ru":"Дэниел Кук","en":"Daniel Cook"},"access":{"ru":"Публичные статьи бесплатные. Возраст материалов различается; авторские модели проверяйте на своей игре.","en":"Public articles are free. Publication dates vary; test the author’s models against your own game."},"practice":{"ru":"Открыть Worth reading, выбрать одну модель и сопоставить её с наблюдением за игроком.","en":"Open Worth reading, choose a model and compare it with observed player behavior."}},{"id":"godot-first-2d-game","title":{"ru":"Godot: ваша первая 2D-игра","en":"Godot: your first 2D game (Russian tutorial)"},"description":{"ru":"Показывает, как связать сцены, управление, врагов, счёт и интерфейс в законченную небольшую игру. Хороший следующий шаг после основ GDScript.","en":"Connect scenes, controls, enemies, scoring and UI in a complete small game. A next step after GDScript basics; links to the Russian tutorial."},"url":"https://docs.godotengine.org/ru/stable/getting_started/first_2d_game/index.html","category":"foundations","language":"ru","kind":"documentation","authors":{"ru":"Участники проекта Godot","en":"Godot contributors"},"access":{"ru":"Официальный tutorial и исходники бесплатные. Нужен небольшой опыт программирования; выбирайте документацию под свою версию Godot.","en":"The official tutorial and source are free. Some programming experience is expected; choose documentation matching your Godot version."},"practice":{"ru":"Собрать Dodge the Creeps, а затем самостоятельно добавить паузу или новое условие проигрыша.","en":"Build Dodge the Creeps, then independently add a pause or a new loss condition."},"format":"course"},{"id":"gdquest-learn-gdscript","title":{"ru":"GDQuest: Learn GDScript From Zero","en":"GDQuest: Learn GDScript From Zero"},"description":{"ru":"Учит основам программирования через небольшие упражнения прямо в браузере. Удобная отправная точка для человека, который пока не понимает код, написанный ИИ.","en":"Learn programming fundamentals through small browser exercises. Useful for understanding code before relying on an AI assistant to produce it."},"url":"https://gdquest.github.io/learn-gdscript/","category":"foundations","language":"en","kind":"documentation","authors":{"ru":"Команда GDQuest","en":"The GDQuest team"},"access":{"ru":"Именно этот курс бесплатный, с открытым исходным кодом. Другие курсы GDQuest могут быть платными.","en":"This particular course is free and open source. Other GDQuest courses may be paid."},"practice":{"ru":"Пройти упражнения по переменным, условиям и функциям, затем изменить одно задание самостоятельно.","en":"Complete the variables, conditions and functions exercises, then modify one task yourself."},"format":"course"},{"id":"unity-prototyping","title":{"ru":"Unity Learn: прототипирование","en":"Unity Learn: prototyping"},"description":{"ru":"Выбор формы прототипа и проверка основы игрового опыта.","en":"Choosing a prototype approach and investigating the core experience."},"url":"https://learn.unity.com/pathway/creative-core/unit/prototyping","category":"design","language":"en","kind":"documentation"},{"id":"game-loop-pattern","title":{"ru":"Игровой цикл: Game Programming Patterns","en":"Game Loop: Game Programming Patterns"},"description":{"ru":"Как связаны обработка ввода, обновление мира и отрисовка.","en":"How input processing, world updates, and rendering fit together."},"url":"https://gameprogrammingpatterns.com/game-loop.html","category":"foundations","language":"en","kind":"book"},{"id":"godot-input","title":{"ru":"Godot: обработка ввода","en":"Godot: input handling"},"description":{"ru":"События, действия InputMap и порядок прохождения ввода через интерфейс.","en":"Events, InputMap actions, and input propagation through the interface."},"url":"https://docs.godotengine.org/en/stable/tutorials/inputs/inputevent.html","category":"foundations","language":"en","kind":"documentation"},{"id":"collision-2d","title":{"ru":"MDN: столкновения в 2D","en":"MDN: 2D collision detection"},"description":{"ru":"Прямоугольники, окружности и разделение грубой и точной проверки.","en":"Rectangles, circles, and separating broad-phase and narrow-phase checks."},"url":"https://developer.mozilla.org/en-US/docs/Games/Techniques/2D_collision_detection","category":"engineering","language":"en","kind":"article"},{"id":"state-pattern","title":{"ru":"Состояния: Game Programming Patterns","en":"State: Game Programming Patterns"},"description":{"ru":"Авторская глава о конечных автоматах, состояниях и переходах.","en":"The author’s chapter on finite state machines, states, and transitions."},"url":"https://github.com/munificent/game-programming-patterns/blob/master/book/state.markdown","category":"foundations","language":"en","kind":"book"},{"id":"godot-physics","title":{"ru":"Godot: введение в физику","en":"Godot: physics introduction"},"description":{"ru":"Типы физических объектов, формы, слои и маски взаимодействия.","en":"Physics object types, shapes, collision layers, and masks."},"url":"https://docs.godotengine.org/en/stable/tutorials/physics/physics_introduction.html","category":"engineering","language":"en","kind":"documentation"},{"id":"fixed-timestep","title":{"ru":"Fix Your Timestep!","en":"Fix Your Timestep!"},"description":{"ru":"Статья Гленна Фидлера о выборе шага симуляции и обработке накопленного времени.","en":"Glenn Fiedler’s article on simulation steps and accumulated time."},"url":"https://github.com/mas-bandwidth/gafferongames/blob/main/content/post/fix_your_timestep.md","category":"engineering","language":"en","kind":"article"},{"id":"animation-frame","title":{"ru":"requestAnimationFrame на MDN","en":"requestAnimationFrame on MDN"},"description":{"ru":"Вызов перед перерисовкой, временная метка и поведение фоновых вкладок.","en":"Animation callbacks, timestamps, and background-tab behavior."},"url":"https://developer.mozilla.org/en-US/docs/Web/API/Window/requestAnimationFrame","category":"engineering","language":"en","kind":"documentation"},{"id":"game-accessibility-guidelines","title":{"ru":"Game Accessibility Guidelines","en":"Game Accessibility Guidelines"},"description":{"ru":"Конкретные проверки управления, текста, звука, цвета и сложности. Удобно превращать в требования к игре и чек-лист приёмки результата работы разработчика или ИИ.","en":"Concrete checks for controls, text, sound, color and difficulty. Useful for game requirements and reviewing work by developers or AI assistants."},"url":"https://gameaccessibilityguidelines.com/basic/","category":"design","language":"en","kind":"documentation","authors":{"ru":"Студии, специалисты и исследователи Game Accessibility Guidelines","en":"Game Accessibility Guidelines studios, specialists and researchers"},"access":{"ru":"Рекомендации и примеры открыты. Выбирайте подходящие пункты и проверяйте их с игроками.","en":"Guidelines and examples are open. Choose relevant recommendations and test them with players."},"practice":{"ru":"Пройти Basic и проверить переназначение управления, читаемость текста и альтернативу цветовым сигналам.","en":"Review Basic, then check remappable controls, readable text and alternatives to color-only signals."}},{"id":"accessible-motion","title":{"ru":"Xbox: доступные настройки движения","en":"Xbox: accessible motion settings"},"description":{"ru":"Рекомендации по управлению движением камеры и отвлекающими эффектами.","en":"Guidance for camera movement controls and distracting visual effects."},"url":"https://learn.microsoft.com/en-us/xbox/accessibility/xbox-accessibility-guidelines/117","category":"design","language":"en","kind":"documentation"},{"id":"kenney-assets","title":{"ru":"Kenney Assets","en":"Kenney Assets"},"description":{"ru":"Наборы графики, интерфейса, моделей и звуков помогают быстро собрать читаемый прототип. Особенно удобны, когда нужен согласованный визуальный набор.","en":"Consistent packs of art, interface elements, models and sounds for building readable prototypes quickly."},"url":"https://kenney.nl/assets","category":"engineering","language":"en","kind":"tool","authors":{"ru":"Kenney","en":"Kenney"},"access":{"ru":"Отдельные наборы ассетов бесплатны, CC0. All-in-1 и отдельные инструменты могут продаваться; логотип не входит в эту лицензию.","en":"Individual asset packs are free under CC0. All-in-1 and some tools may be paid; the logo is outside that asset license."},"practice":{"ru":"Собрать прототип одной механики на ассетах из одного набора.","en":"Prototype one mechanic using assets from a single pack."}},{"id":"develop-games","title":{"ru":"Develop.games","en":"Develop.games"},"description":{"ru":"Короткая вводная о навыках, инструментах, команде и выпуске игры. Может помочь новичку составить карту вопросов перед первым маленьким проектом.","en":"An introductory guide to skills, tools, teams and releasing a game. Useful for mapping the questions behind a first small project."},"url":"https://develop.games/","category":"workflow","language":"en","kind":"article","authors":{"ru":"Джейсон Тор Холл / Pirate Software","en":"Jason Thor Hall / Pirate Software"},"access":{"ru":"Текст открыт. Авторские советы, цены и условия движков сверяйте с официальными источниками.","en":"The text is open. Check the author’s advice, prices and engine terms against official sources."},"practice":{"ru":"Выделить три неизвестные области своего проекта и выбрать один минимальный прототип.","en":"Identify three unfamiliar parts of your project and choose one minimal prototype."}},{"id":"godot-performance","title":{"ru":"Godot: измерение производительности","en":"Godot: performance measurement"},"description":{"ru":"Поиск узких мест и проверка результатов оптимизации.","en":"Finding bottlenecks and checking the results of optimization."},"url":"https://docs.godotengine.org/en/stable/tutorials/performance/general_optimization.html","category":"engineering","language":"en","kind":"documentation"},{"id":"red-blob-games","title":{"ru":"Red Blob Games","en":"Red Blob Games"},"description":{"ru":"Интерактивные объяснения A*, гексагональных сеток, видимости и генерации карт. Можно менять параметры и сразу видеть, почему алгоритм ведёт себя именно так.","en":"Interactive explanations of A*, hex grids, visibility and map generation. Change parameters to see why an algorithm behaves as it does."},"url":"https://www.redblobgames.com/","category":"engineering","language":"en","kind":"documentation","authors":{"ru":"Амит Патель / Red Blob Games","en":"Amit Patel / Red Blob Games"},"access":{"ru":"Все статьи бесплатны, без регистрации и рекламы. Лицензии сопроводительного кода: MIT или Apache 2.0; права на текст отличаются.","en":"All articles are free, without registration or ads. Accompanying code uses MIT or Apache 2.0; text rights are separate."},"practice":{"ru":"Introduction to A*: сравнить BFS, Dijkstra и A* на одной карте.","en":"Read Introduction to A* and compare BFS, Dijkstra and A* on the same map."}},{"id":"game-math-primer","title":{"ru":"3D Math Primer for Graphics and Game Development","en":"3D Math Primer for Graphics and Game Development"},"description":{"ru":"Фундамент по координатам, векторам, матрицам и преобразованиям. Хороший источник для объяснения того, что делает код движения, камеры и ориентации объектов.","en":"A foundation in coordinates, vectors, matrices and transformations. Useful for understanding movement, cameras and object orientation."},"url":"https://gamemath.com/book/","category":"foundations","language":"en","kind":"book","authors":{"ru":"Флетчер Данн, Иэн Парберри","en":"Fletcher Dunn, Ian Parberry"},"access":{"ru":"Полная книга бесплатно на авторском сайте. Это математический учебник, а не курс по конкретному движку.","en":"The full book is free on the author’s site. It teaches mathematics rather than a particular game engine."},"practice":{"ru":"Системы координат и векторы: объяснить преобразование направления из локального пространства в мировое.","en":"Study coordinates and vectors, then explain how to transform a direction from local to world space."}},{"id":"nature-of-code","title":{"ru":"The Nature of Code","en":"The Nature of Code"},"description":{"ru":"Наглядно связывает векторы, силы, частицы, автономных агентов и генеративные системы. Подходит для освоения поведения и движения через небольшие эксперименты.","en":"Connects vectors, forces, particles, autonomous agents and generative systems through small experiments. Examples use JavaScript and p5.js."},"url":"https://natureofcode.com/","category":"foundations","language":"en","kind":"book","authors":{"ru":"Дэниел Шиффман","en":"Daniel Shiffman"},"access":{"ru":"Вся онлайн-книга с примерами и упражнениями открыта. Текст: CC BY-NC-SA 4.0; условия кода проверяйте отдельно.","en":"The complete online book, examples and exercises are open. Text: CC BY-NC-SA 4.0; check code terms separately."},"practice":{"ru":"Сделать объект с силами и ограничением скорости, затем добавить steering.","en":"Build an object with forces and a speed limit, then add steering behavior."}},{"id":"game-ai-pro","title":{"ru":"Game AI Pro","en":"Game AI Pro"},"description":{"ru":"Профессиональные статьи о поведении NPC, поиске пути, utility AI, деревьях поведения и отладке. Это игровой AI, а не применение LLM для написания кода.","en":"Professional articles on NPC behavior, pathfinding, utility AI, behavior trees and debugging. Covers game AI rather than LLM coding assistants."},"url":"https://www.gameaipro.com/","category":"engineering","language":"en","kind":"book","authors":{"ru":"Стив Рабин, редактор серии, и авторы глав","en":"Steve Rabin, series editor, and chapter authors"},"access":{"ru":"Все главы доступны для бесплатного скачивания. Книги разных лет; правообладатели запрещают размещать копии глав на других сайтах.","en":"All chapters are free to download. Publication dates vary; rights holders prohibit rehosting the chapters on other sites."},"practice":{"ru":"Выбрать главу о простой FSM или utility AI и реализовать одного проверяемого противника.","en":"Choose a chapter on a simple FSM or utility AI and implement one testable opponent."}},{"id":"pcg-book","title":{"ru":"Procedural Content Generation in Games","en":"Procedural Content Generation in Games"},"description":{"ru":"Объясняет генерацию подземелий, ландшафтов, правил и квестов, а также способы оценивать генераторы. Помогает отделить случайность от управляемого качества результата.","en":"Explains generation of dungeons, terrain, rules and quests, along with ways to evaluate generators. Useful for distinguishing randomness from controllable quality."},"url":"https://www.pcgbook.com/","category":"engineering","language":"en","kind":"book","authors":{"ru":"Нур Шейкер, Юлиан Тогелиус, Марк Дж. Нельсон","en":"Noor Shaker, Julian Togelius, Mark J. Nelson"},"access":{"ru":"Финальные авторские версии глав издания 2016 года легально открыты в PDF. Книга посвящена фундаментальным методам PCG.","en":"The final author versions of the 2016 chapters are legally available as PDFs. The book covers foundational PCG methods."},"practice":{"ru":"Глава о constructive generation: создать генератор комнат и проверку связности.","en":"Use the constructive-generation chapter to build a room generator and a connectivity check."}},{"id":"fast-paced-multiplayer","title":{"ru":"Fast-Paced Multiplayer: сетевой код","en":"Fast-Paced Multiplayer"},"description":{"ru":"Последовательно объясняет авторитетный сервер, prediction, reconciliation, interpolation и lag compensation. Удачная точка входа перед реализацией сетевой игры.","en":"Explains authoritative servers, prediction, reconciliation, interpolation and lag compensation step by step. A conceptual starting point for networked games."},"url":"https://www.gabrielgambetta.com/client-server-game-architecture.html","category":"engineering","language":"en","kind":"article","authors":{"ru":"Габриэль Гамбетта","en":"Gabriel Gambetta"},"access":{"ru":"Статьи и демонстрация открыты. Транспорт, безопасность и эксплуатацию сервера нужно проектировать отдельно.","en":"The articles and demo are open. Transport, security and server operation require separate design."},"practice":{"ru":"Сравнить поведение клиента с задержкой до и после client-side prediction.","en":"Compare a delayed client’s behavior before and after client-side prediction."}},{"id":"lospec-pixel-art","title":{"ru":"Lospec Pixel Art Tutorials","en":"Lospec Pixel Art Tutorials"},"description":{"ru":"Удобный поиск уроков по спрайтам, анимации, палитрам, светотени, тайлам и 1-bit-графике. Помогает найти разбор конкретной визуальной проблемы.","en":"Find tutorials on sprites, animation, palettes, shading, tiles and 1-bit art. Useful for solving one specific visual problem."},"url":"https://lospec.com/pixel-art-tutorials","category":"design","language":"en","kind":"documentation","authors":{"ru":"Lospec и авторы уроков","en":"Lospec and tutorial authors"},"access":{"ru":"Каталог и многие уроки бесплатные; среди ссылок встречаются платные книги. Проверяйте доступность конкретного материала.","en":"The catalog and many tutorials are free; some links lead to paid books. Check access for the selected material."},"practice":{"ru":"Фильтр 1bit или walkcycle: сделать несколько кадров и сравнить читаемость силуэта.","en":"Use the 1bit or walkcycle tag to make several frames and compare silhouette readability."}},{"id":"saint11-pixel-art","title":{"ru":"Saint11: Pixel Art Tutorials","en":"Saint11: Pixel Art Tutorials"},"description":{"ru":"Компактные авторские уроки по пиксель-арту в виде небольших иллюстрированных листов. Удобны для точечной практики и разбора одной техники.","en":"Compact illustrated pixel-art lessons, each focused on a particular technique. Useful for short exercises and targeted reference."},"url":"https://saint11.art/blog/pixel-art-tutorials/","category":"design","language":"en","kind":"documentation","authors":{"ru":"Педро Медейрос / Saint11","en":"Pedro Medeiros / Saint11"},"access":{"ru":"Все уроки этой серии открыты. ZIP-архив продаётся как удобная упаковка тех же материалов.","en":"All tutorials in this series are open. A ZIP archive is sold as a convenient package of the same material."},"practice":{"ru":"Выбрать один урок, воспроизвести приём и применить его к своему спрайту.","en":"Choose one lesson, reproduce the technique and apply it to your own sprite."}},{"id":"blender-manual","title":{"ru":"Blender Manual","en":"Blender Manual"},"description":{"ru":"Авторитетная опора по моделированию, материалам, анимации, риггингу и экспорту. Полезна для проверки конкретной операции или ограничения инструмента.","en":"The official reference for modeling, materials, animation, rigging and export. Use it to check a particular operation or tool limitation."},"url":"https://docs.blender.org/manual/en/latest/","category":"engineering","language":"en","kind":"documentation","authors":{"ru":"Blender Foundation и участники проекта","en":"Blender Foundation and contributors"},"access":{"ru":"Официальная документация бесплатная. Выбирайте руководство под установленную версию Blender.","en":"The official documentation is free. Choose the manual matching your installed Blender version."},"practice":{"ru":"Открыть раздел под конкретную задачу, например анимацию или экспорт glTF.","en":"Open the section for a concrete task, such as animation or glTF export."}},{"id":"learn-opengl","title":{"ru":"LearnOpenGL","en":"LearnOpenGL"},"description":{"ru":"Последовательное обучение графическому конвейеру, освещению, материалам и продвинутым эффектам. Подходит для понимания того, что обычно скрывает игровой движок.","en":"A step-by-step guide to the graphics pipeline, lighting, materials and rendering effects. Examples use C++ and OpenGL."},"url":"https://learnopengl.com/","category":"engineering","language":"en","kind":"book","authors":{"ru":"Джоуи де Врис","en":"Joey de Vries"},"access":{"ru":"Чтение и PDF бесплатные. На странице About для примеров кода указана CC BY-NC 4.0; перед переносом проверяйте условия.","en":"Reading and the PDF are free. The About page lists CC BY-NC 4.0 for code examples; check the terms before reuse."},"practice":{"ru":"Пройти Getting started и вывести текстурированный объект собственным шейдером.","en":"Complete Getting started and render a textured object with your own shader."}},{"id":"book-of-shaders","title":{"ru":"The Book of Shaders","en":"The Book of Shaders"},"description":{"ru":"Учит фрагментным шейдерам через форму, цвет, шум и процедурные узоры. Есть русский перевод и примеры, которые удобно изучать прямо в браузере.","en":"Introduces fragment shaders through shapes, color, noise and procedural patterns. Links to the Russian translation with browser-based examples."},"url":"https://thebookofshaders.com/?lan=ru","category":"engineering","language":"ru","kind":"book","authors":{"ru":"Патрицио Гонзалес Виво, Джен Лоу","en":"Patricio Gonzalez Vivo, Jen Lowe"},"access":{"ru":"Опубликованные главы бесплатные; часть оглавления ещё не написана. По ссылке русский перевод, на сайте есть другие языки.","en":"Published chapters are free; some planned chapters are unfinished. The link is the Russian translation; other languages are available on the site."},"practice":{"ru":"Изменить smoothstep и координаты в примере, затем собрать собственную маску или эффект.","en":"Modify smoothstep and coordinates in an example, then build your own mask or effect."}},{"id":"catlike-coding","title":{"ru":"Catlike Coding","en":"Catlike Coding"},"description":{"ru":"Подробные текстовые руководства по Unity, C#, движению, процедурным мешам, шуму и рендерингу. Особенно полезны, когда нужно понять алгоритм и его реализацию.","en":"Detailed text tutorials on Unity, C#, movement, procedural meshes, noise and rendering. Useful for connecting an algorithm to its implementation."},"url":"https://catlikecoding.com/unity/tutorials/","category":"engineering","language":"en","kind":"documentation","authors":{"ru":"Джаспер Флик","en":"Jasper Flick"},"access":{"ru":"Публичные уроки бесплатные; поддержка автора необязательна. Серии привязаны к версиям Unity и пакетам.","en":"Public tutorials are free; supporting the author is optional. Series target particular Unity and package versions."},"practice":{"ru":"Выбрать серию Movement или Procedural Meshes, сверив её версию Unity со своей.","en":"Choose Movement or Procedural Meshes and match its Unity version to your project."}},{"id":"ray-tracing-in-one-weekend","title":{"ru":"Ray Tracing in One Weekend","en":"Ray Tracing in One Weekend"},"description":{"ru":"Позволяет собрать небольшой path tracer и понять пересечения лучей, материалы, выборки и освещение через собственный код.","en":"Build a small path tracer to understand ray intersections, materials, sampling and lighting through your own code."},"url":"https://raytracing.github.io/","category":"engineering","language":"en","kind":"book","authors":{"ru":"Питер Ширли, Тревор Дэвид Блэк, Стив Холлаш","en":"Peter Shirley, Trevor David Black, Steve Hollasch"},"access":{"ru":"Книги и исходный код бесплатны; проект указывает CC0. Это учебный офлайн-рендерер.","en":"The books and source code are free; the project specifies CC0. This is an educational offline renderer."},"practice":{"ru":"Первая книга: вывести сферу, затем добавить материал и накопление выборок.","en":"Use the first book to render a sphere, then add a material and sample accumulation."}},{"id":"pbr-book","title":{"ru":"Physically Based Rendering","en":"Physically Based Rendering"},"description":{"ru":"Глубокое объяснение физически обоснованного рендеринга, где теория связана с устройством полноценного рендерера. Подходит как технический справочник.","en":"An in-depth reference on physically based rendering that connects mathematical theory to a complete renderer’s implementation."},"url":"https://www.pbr-book.org/","category":"engineering","language":"en","kind":"book","authors":{"ru":"Мэтт Фарр, Венцель Якоб, Грег Хамфрис","en":"Matt Pharr, Wenzel Jakob, Greg Humphreys"},"access":{"ru":"Третье и четвёртое издания целиком открыты онлайн. Нужны математика, C++ и основы компьютерной графики.","en":"The complete third and fourth editions are free online. Requires mathematics, C++ and graphics fundamentals."},"practice":{"ru":"Прочитать обзор системы и проследить путь одного луча через реализацию.","en":"Read the system overview and trace a ray through the implementation."}},{"id":"game-audio-learning","title":{"ru":"Game Audio Learning Portal","en":"Game Audio Learning Portal"},"description":{"ru":"Связывает основы звука, запись, синтез, интеграцию в игру, middleware, пайплайны и QA. Закрывает частый пробел между «нашёл звук» и «звук правильно работает в игре».","en":"Connects sound fundamentals, recording, synthesis, game integration, middleware, pipelines and QA in one learning roadmap."},"url":"https://www.gameaudiolearning.com/learningroadmap","category":"engineering","language":"en","kind":"documentation","authors":{"ru":"Грег Лестер, Джонни Сэндс и участники сообщества","en":"Greg Lester, Jonny Sands and community contributors"},"access":{"ru":"Карта и опубликованные статьи открыты. Рекомендованные книги, библиотеки и инструменты могут быть платными.","en":"The roadmap and published articles are open. Recommended books, libraries and tools may be paid."},"practice":{"ru":"How Sound Gets Into Games: собрать звук события с несколькими вариантами воспроизведения.","en":"Read How Sound Gets Into Games and create an event with several sound variations."}},{"id":"freesound","title":{"ru":"Freesound","en":"Freesound"},"description":{"ru":"Большая библиотека полевых записей, эффектов и звуковых фрагментов. Полезна для поиска исходного материала и последующего звукового дизайна.","en":"A library of field recordings, effects and audio snippets. Useful for finding source material and building your own sound design."},"url":"https://freesound.org/","category":"engineering","language":"en","kind":"tool","authors":{"ru":"Music Technology Group, Universitat Pompeu Fabra, и сообщество","en":"Music Technology Group, Universitat Pompeu Fabra, and the community"},"access":{"ru":"Скачивание бесплатно после регистрации и входа. Лицензии записей различаются: CC0, CC BY, CC BY-NC и старые варианты.","en":"Downloads are free after registration and sign-in. Individual licenses vary: CC0, CC BY, CC BY-NC and older variants."},"practice":{"ru":"Найти несколько исходников одного события, проверить их лицензии и собрать собственный эффект.","en":"Find several source recordings for an event, check their licenses and combine them into an effect."}},{"id":"poly-haven","title":{"ru":"Poly Haven","en":"Poly Haven"},"description":{"ru":"Качественные исходники для 3D-сцен: окружение, PBR-материалы и модели. Полезны и для прототипа, и для изучения структуры материалов.","en":"HDRIs, PBR textures and models for 3D scenes. Useful for prototyping and learning how material sets are organized."},"url":"https://polyhaven.com/","category":"engineering","language":"en","kind":"tool","authors":{"ru":"Команда Poly Haven","en":"The Poly Haven team"},"access":{"ru":"Ассеты доступны под CC0. Для игры проверяйте размеры текстур, память, геометрию и стоимость рендеринга.","en":"Assets are available under CC0. Check texture sizes, memory, geometry and rendering cost for your game."},"practice":{"ru":"Собрать небольшой набор материалов и проверить его на целевом устройстве.","en":"Build a small material set and test it on the target device."}},{"id":"open-game-art","title":{"ru":"OpenGameArt","en":"OpenGameArt"},"description":{"ru":"Ассеты сообщества: 2D, 3D, текстуры, музыка и эффекты. Хороший дополнительный источник для прототипов и жанровых заготовок.","en":"Community-made 2D art, models, textures, music and sound effects. An additional source of prototype and genre-specific assets."},"url":"https://opengameart.org/","category":"engineering","language":"en","kind":"tool","authors":{"ru":"Сообщество OpenGameArt","en":"The OpenGameArt community"},"access":{"ru":"Скачивание открыто. Лицензии и требования к атрибуции различаются у каждого набора; единой лицензии на каталог нет.","en":"Downloads are open. Licenses and attribution requirements vary by asset pack; there is no single catalog-wide license."},"practice":{"ru":"Подобрать небольшой набор с совместимыми лицензиями и сохранить атрибуцию рядом с файлами.","en":"Choose a small set with compatible licenses and keep attribution beside the files."}},{"id":"roguelike-tutorial","title":{"ru":"Yet Another Roguelike Tutorial","en":"Yet Another Roguelike Tutorial"},"description":{"ru":"Небольшой roguelike позволяет поэтапно изучить карту, сущности, ходовую логику, видимость, врагов и инвентарь. Полезен как учебный проект с ограниченным объёмом.","en":"Build a small roguelike while learning maps, entities, turn logic, visibility, enemies and inventory within a limited project."},"url":"https://rogueliketutorials.com/tutorials/tcod/v2/","category":"engineering","language":"en","kind":"documentation","authors":{"ru":"TStand90 и участники проекта Roguelike Tutorials","en":"TStand90 and Roguelike Tutorials contributors"},"access":{"ru":"Опубликованные главы бесплатные. Tutorial TCOD помечен 2020 годом; сверяйте версии Python и библиотек.","en":"Published chapters are free. The TCOD tutorial is labeled 2020; check Python and library versions."},"practice":{"ru":"Реализовать движение по карте и одно правило взаимодействия до добавления контента.","en":"Implement map movement and one interaction rule before adding content."},"format":"course"},{"id":"steamworks-coming-soon","title":{"ru":"Steamworks Documentation","en":"Steamworks Documentation"},"description":{"ru":"Первичный источник по странице Coming Soon и подготовке выпуска в Steam. Полезен для проверки требований, которые в чужих статьях могут уже устареть.","en":"The primary source for a Steam Coming Soon page and preparing a release. Useful for checking platform requirements against third-party advice."},"url":"https://partner.steamgames.com/doc/store/coming_soon","category":"workflow","language":"en","kind":"documentation","authors":{"ru":"Valve","en":"Valve"},"access":{"ru":"Открытая документация бесплатная. Публикация в Steam требует аккаунта и выполнения условий площадки.","en":"Public documentation is free. Publishing on Steam requires an account and compliance with the platform’s terms."},"practice":{"ru":"Прочитать требования Coming Soon и составить список нужных материалов страницы.","en":"Read the Coming Soon requirements and list the materials needed for the store page."}},{"id":"how-to-market-a-game","title":{"ru":"How To Market A Game","en":"How To Market A Game"},"description":{"ru":"Разборы позиционирования, Steam, страниц игр, фестивалей и списков желаемого. Полезное дополнение к технической базе, чтобы думать о поиске своей аудитории.","en":"Case studies on positioning, Steam pages, festivals and wishlists. Useful for thinking about how a game reaches its audience."},"url":"https://howtomarketagame.com/blog/","category":"workflow","language":"en","kind":"article","authors":{"ru":"Крис Зуковски","en":"Chris Zukowski"},"access":{"ru":"Блог бесплатный, курсы продаются отдельно. Выводы по отдельным выборкам не гарантируют продажи вашей игры.","en":"The blog is free; courses are sold separately. Findings from particular samples do not guarantee your game’s sales."},"practice":{"ru":"Сопоставить свою страницу игры с одним конкретным разбором и сформулировать проверяемое изменение.","en":"Compare your store page with one case study and propose a testable change."}},{"id":"openspec","title":{"ru":"OpenSpec","en":"OpenSpec"},"description":{"ru":"Официальный репозиторий инструмента разработки через спецификации.","en":"The official repository for specification-driven development tooling."},"url":"https://github.com/Fission-AI/OpenSpec","category":"workflow","language":"en","kind":"tool"},{"id":"github-contributing","title":{"ru":"GitHub: вклад в проект","en":"GitHub: contributing to a project"},"description":{"ru":"Официальное руководство по fork, веткам и pull request.","en":"The official guide to forks, branches, and pull requests."},"url":"https://docs.github.com/en/get-started/exploring-projects-on-github/contributing-to-a-project","category":"workflow","language":"en","kind":"documentation"},{"id":"juicing-cameras-math","title":{"ru":"GDC: Juicing Your Cameras With Math","en":"GDC: Juicing Your Cameras With Math"},"description":{"ru":"Доклад о кадрировании, сглаживании движения, тряске камеры и динамическом разделении экрана. Помогает связать математическое поведение камеры с читаемостью игры.","en":"A talk on framing, smoothed motion, camera shake and dynamic split-screen. Connects the mathematics of camera behavior to game readability."},"url":"https://www.gdcvault.com/play/1023557/Math-for-Game-Programmers-Juicing","category":"engineering","language":"en","kind":"documentation","authors":{"ru":"Squirrel Eiserloh / SMU Guildhall","en":"Squirrel Eiserloh / SMU Guildhall"},"access":{"ru":"GDC помечает доклад 2016 года как бесплатный. Запись на английском; материал посвящён математике камеры, а не API актуального движка.","en":"GDC labels this 2016 talk as free content. The recording is in English and covers camera mathematics rather than a current engine API."},"practice":{"ru":"Сравнить резкое и сглаженное слежение на одном маршруте. Проверить видимость препятствий и возможность отключить тряску без потери сигнала о попадании.","en":"Compare immediate and smoothed following along the same route. Check obstacle visibility and whether shake can be disabled without losing hit feedback."}},{"id":"riot-automated-testing","title":{"ru":"Riot Games: Automated Testing for League of Legends","en":"Riot Games: Automated Testing for League of Legends"},"description":{"ru":"Инженерный разбор автотестов игровых правил: подготовка состояния, команды, наблюдение результата и ожидание условий. Полезен при превращении сценариев приёмки в проверки.","en":"An engineering account of gameplay automation: state setup, commands, result checks and conditional waits. Useful when turning acceptance scenarios into executable checks."},"url":"https://www.riotgames.com/en/news/automated-testing-league-legends","category":"workflow","language":"en","kind":"article","authors":{"ru":"Джим «Anodoin» Меррилл / Riot Games","en":"Jim ‘Anodoin’ Merrill / Riot Games"},"access":{"ru":"Статья открыта и опубликована 26 февраля 2016 года. Примеры отражают тогдашнюю инфраструктуру Riot; это разбор подхода, а не готовая библиотека для вашего движка.","en":"The public article was published on February 26, 2016. Examples reflect Riot’s infrastructure at that time; this is an approach to study rather than a library for your engine."},"practice":{"ru":"Для одной способности задать начальное состояние, выполнить действие и дождаться ожидаемого условия с тайм-аутом. Проверить, что намеренная ошибка в правиле приводит к сбою теста.","en":"For one ability, set the initial state, issue an action and wait for the expected condition with a timeout. Check that a deliberate rule defect makes the test fail."}},{"id":"renderdoc","title":{"ru":"RenderDoc","en":"RenderDoc"},"description":{"ru":"Графический отладчик с захватом кадра и разбором состояния рендеринга. Помогает исследовать команды отрисовки, ресурсы и причины неверного изображения в собственной игре.","en":"A graphics debugger with frame capture and rendering-state inspection. Helps investigate draw calls, resources and incorrect output in your own game."},"url":"https://github.com/baldurk/renderdoc","category":"engineering","language":"en","kind":"tool","authors":{"ru":"Бальдур Карлссон и участники RenderDoc","en":"Baldur Karlsson and RenderDoc contributors"},"access":{"ru":"Бесплатный инструмент под MIT для Windows, Linux и Android. Совместимость зависит от графического API; macOS и Metal не поддерживаются. Сверяйтесь с матрицей проекта.","en":"A free MIT-licensed tool for Windows, Linux and Android. Compatibility depends on the graphics API; macOS and Metal are unsupported. Check the project’s support matrix."},"practice":{"ru":"Захватить кадр своего небольшого проекта на поддерживаемом API. Найти отрисовку одного объекта и проверить привязанные текстуры и состояние смешивания.","en":"Capture a frame from your small project on a supported API. Find one object’s draw call and inspect its bound textures and blending state."}},{"id":"jsfxr","title":{"ru":"jsfxr","en":"jsfxr"},"description":{"ru":"Браузерный генератор коротких ретрозвуков и JavaScript-библиотека на основе sfxr. Удобен для прототипов и настройки различимых сигналов прыжка, попадания и подбора предмета.","en":"A browser generator for short retro sound effects and a JavaScript library based on sfxr. Useful for prototypes and distinct jump, hit and pickup cues."},"url":"https://github.com/chr15m/jsfxr","category":"engineering","language":"en","kind":"tool","authors":{"ru":"Эрик Фредриксен, Крис Маккормик; на основе sfxr Томаса Петтерссона","en":"Eric Fredricksen and Chris McCormick; based on Tomas Pettersson’s sfxr"},"access":{"ru":"Репозиторий под Unlicense содержит библиотеку и ссылку на веб-генератор sfxr.me. Библиотеку можно использовать в браузере или Node.js.","en":"The Unlicense repository contains the library and links to the sfxr.me web generator. The library can be used in a browser or Node.js."},"practice":{"ru":"Сделать три различимых звука для прыжка, попадания и подбора предмета. Сохранить параметры и проверить сигналы в прототипе при одинаковой громкости.","en":"Create distinct jump, hit and pickup sounds. Save their parameters and compare the cues in a prototype at matched loudness."}},{"id":"pixelorama","title":{"ru":"Pixelorama","en":"Pixelorama"},"description":{"ru":"Редактор пиксельной графики и анимации со слоями, палитрами и экспортом спрайт-листов. Позволяет пройти путь от первого спрайта до проверенной в игре анимации.","en":"A pixel art and animation editor with layers, palettes and spritesheet export. Useful for taking a first sprite through to an animation checked in a game."},"url":"https://github.com/Orama-Interactive/Pixelorama","category":"engineering","language":"en","kind":"tool","authors":{"ru":"Orama Interactive и участники Pixelorama","en":"Orama Interactive and Pixelorama contributors"},"access":{"ru":"Открытый проект под MIT. Стабильные сборки для Windows, Linux и macOS доступны в GitHub Releases; есть веб-версия. Документация ещё дополняется.","en":"An open-source MIT-licensed project. GitHub Releases provides stable builds for Windows, Linux and macOS; a web version is also available. Documentation is still being expanded."},"practice":{"ru":"Создать анимацию из четырёх кадров и экспортировать спрайт-лист. При загрузке в игру проверить порядок кадров, прозрачность и отсутствие размытия при выбранном масштабе.","en":"Create a four-frame animation and export a spritesheet. In the game, check frame order, transparency and sharpness at the chosen scale."}},{"id":"game-makers-toolkit","title":{"ru":"Game Maker’s Toolkit","en":"Game Maker’s Toolkit"},"description":{"ru":"Разборы дизайна конкретных игр: обучение, уровни, сложность, доступность и игровые системы. Смотрите с вопросом о решении, которое хотите проверить в своём проекте.","en":"Analyses of teaching, levels, difficulty, accessibility and game systems. Watch with a specific design decision from your own project in mind."},"url":"https://www.youtube.com/@GMTK/videos","category":"design","language":"en","kind":"documentation","authors":{"ru":"Марк Браун","en":"Mark Brown"},"access":{"ru":"Бесплатные видео на YouTube.","en":"Free videos on YouTube."},"format":"channel"},{"id":"sakurai-creating-games","title":{"ru":"Masahiro Sakurai on Creating Games","en":"Masahiro Sakurai on Creating Games"},"description":{"ru":"Короткие объяснения игровых решений от создателя Kirby и Super Smash Bros.: обратная связь, темп, управление и представление информации. Ссылка ведёт на английский канал.","en":"Short explanations of feedback, pacing, controls and information presentation by the creator of Kirby and Super Smash Bros. Links to the English channel."},"url":"https://www.youtube.com/@sora_sakurai_en/videos","category":"design","language":"en","kind":"documentation","authors":{"ru":"Масахиро Сакурай","en":"Masahiro Sakurai"},"access":{"ru":"Бесплатные видео на YouTube.","en":"Free videos on YouTube."},"format":"channel"},{"id":"gdc-talks","title":{"ru":"GDC: доклады разработчиков","en":"GDC: developer talks"},"description":{"ru":"Доклады и разборы производства от самих разработчиков. Ищите темы про дизайн систем, уровни, нарратив и плейтесты; учитывайте контекст команды и конкретной игры.","en":"Talks and production breakdowns by developers themselves. Explore systems, levels, narrative and playtesting while accounting for each team and game’s context."},"url":"https://www.youtube.com/@Gdconf/videos","category":"design","language":"en","kind":"documentation","authors":{"ru":"Game Developers Conference и приглашённые разработчики","en":"Game Developers Conference and guest developers"},"access":{"ru":"На канале есть бесплатные доклады; доступность остальных материалов GDC отличается.","en":"The channel offers free talks; access to other GDC materials varies."},"format":"channel"},{"id":"curious-archive","title":{"ru":"Curious Archive","en":"Curious Archive"},"description":{"ru":"Видеоэссе о вымышленных мирах, существах и историях. Источник идей для миростроения и нарратива; используйте отдельные разборы как повод исследовать собственный мир.","en":"Video essays about fictional worlds, creatures and stories. A source of worldbuilding and narrative inspiration; use individual analyses to question your own fictional world."},"url":"https://www.youtube.com/@CuriousArchive/videos","category":"design","language":"en","kind":"documentation","authors":{"ru":"Curious Archive","en":"Curious Archive"},"access":{"ru":"Бесплатные видео на YouTube.","en":"Free videos on YouTube."},"format":"channel"}]}