Назад

Бой с боссом в 3D: Claude, Tripo и Godot

2026.10.2110 МИН. ЧТЕНИЯРабочие процессы

01 / ОБЗОР

Обзор

Я начал с мальчика в красном шарфе и опустевшего американского городка 1980-х. Безликая статуя вырывает здания и уносит их в небо. Из этой идеи выросло играбельное демо экшена от третьего лица на Godot.

Claude помогал планировать, писать скрипты и тестировать; Tripo предоставлял концепты, модели, риггинг и анимацию. Я руководил проектом и проверял собранную игру в Godot.

Этот практический подход опирается на рабочий процесс vibe gaming, который связывает идеи, разработку с помощью ИИ и игровое тестирование.

Конфигурация проекта:

  • Движок: Godot 4.7.2, Forward+
  • ИИ-ассистент для программирования: Claude Code
  • Генерация изображений: генерация изображений в Tripo
  • 3D-генерация: модели Tripo серий P и H
  • Проект: The Red Scarf — короткое демо боя с боссом от третьего лица
The Red Scarf: играбельный бой с боссом.
The Red Scarf: играбельный бой с боссом.
Сыграйте в The Red Scarf в своём браузереТуториал по vibe gaming

02 / ОБЗОР

Как играется готовое демо

Мальчик входит в город по Main Street. На площади безликая статуя испускает ударную волну и стягивает здания в спираль вокруг себя.

Игрок взбирается по парящим магазинам с помощью прыжков, зависания в воздухе и рывков на шарфе. Парирование светящегося снаряда ненадолго пробивает щит статуи; броски подручных предметов наносят ей урон. После трёх раундов мальчик может добраться до статуи и запечатать её.

Нарезка геймплея The Red Scarf.

03 / ОБЗОР

Настройте инструменты и проект

Дайте Claude память проекта

Я хранил проект Godot, дизайн-документы, концепты, модели Tripo и скрипты в одном месте. В корне CLAUDE.md фиксировал правила, которым Claude должен был следовать от сессии к сессии.

В нём было учтено самое необходимое:

  • Описать игру, тон и визуальное направление.
  • Перечислить правила для ассетов, например единый стиль и никаких лишних символов или текста.
  • Требовать план перед крупными изменениями.
  • Вести историю промптов.
  • Записывать повторяющиеся подводные камни и соглашения проекта по мере их обнаружения.

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

Установите Tripo CLI

Чтобы подключить Claude к Tripo, я попросил его установить Tripo CLI:

Промпт проекта
Help me install and configure Tripo CLI: npm install -g tripo-cli
Документация Tripo CLI

Свяжите Godot и Claude

Claude мог напрямую редактировать текстовые сцены Godot и GDScript. Подключение через Godot MCP позволяло ему запускать игру, делать скриншоты, просматривать логи и имитировать ввод.

Подключение я проверил так: попросил Claude назвать открытую сцену и вывести дерево узлов, а затем сверил порт MCP и проект со своей конфигурацией.

Промпт проекта
Compare the Godot MCP servers that are available right now and pick the one that fits this project best (Godot 4.7, Claude Code, editor control plus running and inspecting the game).
Explain your choice, then install it into the_red_scarf/ and configure it at project scope (.mcp.json in the project root). Turn telemetry off.

04 / ОБЗОР

Сведите идею к тестируемой игре

Распишите дизайн, затем урежьте его

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

Промпт проекта
I'm making a game demo with Claude, Tripo and Godot. Here's the idea:

The player is a boy in a bright red scarf, a gray hoodie, blue denim shorts and bright yellow basketball sneakers. The scarf is a supernatural object: he can hover with it, move quickly between platforms, grab objects and throw them, and use it as a whip.
The game starts on the main street of a mid-1980s American small town: one main road, houses and shops on both sides (post office, gym, diner and so on). In the central plaza stands a statue of a man in a suit whose face has been erased. It is a hostile supernatural object. When the boy arrives, it releases a shockwave and slowly rises into the sky. The houses around it are torn out of the ground and end up as floating platforms at different heights. The player jumps between them, blocks the objects the statue hurls with telekinesis, fights back, and finally reaches the statue and seals it with the scarf.

Write a short design doc in design/game_design.md: building types, the boss's attacks in two phases, the boy's attacks, defense and movement moves, and the level flow.
Show me your plan first. Ask me if anything is unclear.

Я урезал его до минимального цикла, который всё ещё ощущался как эта игра:

Промпт проекта
Simplify the combat:
1. The boss has only one phase.
2. Remove the scarf shield and the scarf whip.
3. New loop: the player moves across floating buildings and can only break the statue's shield by parrying its attacks (right click / RT, like a fighting-game parry). Once the shield is down, the player throws objects at it to deal damage.

Бой я сократил до одной фазы босса: парировать, чтобы пробить щит, бросать предметы в окно уязвимости и использовать парящий город как испытание для передвижения. Каждое оставшееся действие должно было работать на этот цикл.

Постройте город из данных

Claude написал Node-скрипт, генерирующий параметризованный SVG овального города: Main Street, двенадцать магазинов, жилые улицы, парки, парковки и площадь.

Тот же скрипт экспортировал JSON для блокаута, зданий, дорог, фонарей и деревьев в Godot. Поэтому концепт-арт и играбельный уровень опирались на одну и ту же планировку.

Я менял по одному параметру за раз — например, размер парковки, глубину заднего двора или входы в магазины, — чтобы каждое изменение было легко проверить.

Промпт проекта
Here's the town I have in mind. The street grid is a grid inside an oval outline:
- The long axis of the oval is the widest street, Main St, lined with functional buildings like the post office and the gym.
- The other streets run perpendicular to Main St on both sides, lined with houses.
- The center of the oval is a round plaza; the statue stands on a concrete pedestal in the middle.
- Asphalt streets with lane markings. Raised concrete sidewalks in front of the shops, with American red ash street trees at regular intervals.

Design the town structure, fill in the details I didn't mention and improve the design.
Draw it as a top-down plan with a Node script (tools/townplan/gen_town_svg.mjs) that generates an SVG from parameters kept at the top of the file.
Параметризованный план города, служивший источником планировки.
Параметризованный план города, служивший источником планировки.

Задайте визуальное направление

Я использовал планировку как строгий референс для иллюстрации с видом сверху, сохранив дороги, участки, контуры зданий, деревья и очертания города.

Первый вид под углом 45 градусов выглядел как наклонённая карта. Локальный поворот референса перед повторной генерацией дал убедительный ракурс.

Промпт проекта
Strict layout reference: image[1]. Keep every road, block, building footprint, lot, park, parking lot, tree and the oval outline exactly as in image[1]. North up. Add, remove, move or resize nothing. Only restyle it as a finished top-down orthographic illustration of a quiet mid-1980s American small town in autumn.

[...town contents: main street, roundabout and statue, twelve shops seen as flat roofs only, all facing the main street, houses, parks, parking lots, red ash trees, a water tower...]

Style: stylized non-photorealistic game environment, simple hard-edged geometry, flat slightly exaggerated colors, light weathering, no grime. Warm late-afternoon sun from the west.

No vehicles, people, text, lettering, flags, or national or religious symbols. The statue has no face.

По итоговому плану и изображению с высоты птичьего полёта Claude составил список ассетов, отделив модели Tripo от объектов, собираемых в Godot. Уровни по числу полигонов удержали примерно тридцать концептов и тридцать моделей в рамках бюджета.

Промпт проекта
The town concept art is done. Using the final plan (v6), list every asset we need, split into "generate with Tripo" and "build in the engine". Then write a concept-image prompt for each Tripo asset in design/asset_prompts.md.
- Shops on Main St should vary more, with clearly different heights, so the opening walk has an interesting skyline.
- Split scene assets into tiers (S / A / B / C) by importance and size, give each tier a model and a triangle budget (hard cap 10,000 per asset), and estimate the total for the scene.
Стилевой референс города с высоты птичьего полёта.
Стилевой референс города с высоты птичьего полёта.

05 / ОБЗОР

Сделайте прототип ассета, прежде чем браться за остальные

Протестируйте одно показательное здание

Сначала я протестировал пайплайн на одном супермаркете, проверяя его визуальный стиль, пригодность в качестве референса для моделирования и подходящее семейство моделей Tripo.

  • Соответствует ли концепт визуальному направлению города?
  • Даёт ли изображение чистый референс для моделирования?
  • Какое семейство моделей Tripo даёт нужную геометрию?

На первом изображении были видны стеллажи, запечённый тёплый свет, торговый автомат, похожий на фирменный, и слишком большой фундамент.

Я обновил общие правила: заколотить окна досками, выключить свет, использовать нейтральное белое референсное освещение и делать фундамент вровень со стенами.

Промпт проекта
Use image[1] only as a reference for color palette, materials and rendering style. Do not copy its content or camera.

A single isolated one-story small-town supermarket from the mid-1980s: a wide, low box about 16 meters wide, 14 meters deep and 5 meters tall. The front is a long row of large plate-glass windows with a pair of glass doors in the middle, under a flat red-and-white striped metal awning. Above the awning, a tall flat sign panel runs the full width of the roofline, painted with bold color bands and a simple shopping-cart pictogram, no letters. Pale yellow painted brick walls, a flat roof with two boxy rooftop AC units. A plain red vending machine stands beside the doors. All windows and glass doors are boarded up with weathered wooden planks, so no interior is visible. All lights, signs and neon tubes are switched off. The building sits on a thin flat concrete slab exactly the size of its footprint, flush with the walls on every side.

Three-quarter front view from slightly above, the whole building in frame, centered on a plain light gray background, neutral white daylight with soft even lighting and no warm tint, no cast shadows, no ground beyond the slab.

Style: simplified realism with hard-edged, clean forms, mid-1980s American, slightly saturated comic-book colors, light weathering, no grime.

No text, no letters, no logos, no flags, no national or religious symbols, no people, no vehicles
Первый концепт MARTПервый концепт MART
Доработанный концепт MARTДоработанный концепт MART

Сравните семейства моделей перед масштабированием

При одном и том же изображении супермаркета и контролируемых лимитах полигонов серия P давала более чистые жёсткие рёбра; у серии H треугольники были равномернее, а поверхности — мягче.

Для этой игры я выбрал:

  • P1.0 — для зданий, транспорта и пропсов, которым идут на пользу чистые жёсткие поверхности.
  • H3.1 — для органических форм, таких как статуя и парящие участки земли.
  • P2.0 — для мальчика, потому что для риггинга персонажу нужна была чистая топология.

Это был выбор под эту игру, а не универсальный рейтинг моделей.

Сравнение моделей MART серий H и P в Godot.
Сравнение моделей MART серий H и P в Godot.
Промпт проекта
The current models are all clean and fairly flat. For performance, would P1.0 suit the buildings better than H3.1? Run a comparison: generate MART with P1.0 at 4000 faces and with H3.1 at 6000 faces, import both into a test folder, and render them side by side from the storefront, front, corner and top views (shaded and wireframe). Then tell me which one to use and why.

Сгенерируйте остальные ассеты сцены

Когда прототип прошёл проверку, я сгенерировал остальные ассеты. У каждого были категория, папка, пресет модели и бюджет полигонов.

В пакетной генерации было три проверки:

Промпт проекта
Generate concept images for all remaining scene assets the same way as MART, using the prompts in design/asset_prompts.md and cpt/town_birdseye.png as the style reference.
Check balance first. Save each image under cpt/assets/<category>/.
Check every image against the checklist in asset_prompts.md (single object, clean background, no text or symbols, matches the bird's-eye style, no thin fragile parts).
Retry failed tasks individually; never rerun the whole batch.
Record progress in design/batch_checkpoint.md so we can resume if we stop halfway.
When done, list what succeeded, what failed and what needs my review.
  • Проверять каждое изображение: один объект, чистый фон, никакого случайного текста и хрупких деталей.
  • Перезапускать неудавшиеся задачи по отдельности.
  • Записывать прогресс в файл чекпоинта.

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

Концепты ассетов сцены.
Концепты ассетов сцены.

Соберите персонажа отдельно

Мальчику требовались концепт-арт, моделирование, проверка пригодности к риггингу, риггинг и ретаргетинг анимаций. Шарф я держал отдельно, чтобы избежать нежелательных весов скиннинга и сохранить его сложные действия.

Промпт проекта
A full-body cartoon-style boy in a standard T-pose, arms extended horizontally, legs straight. He wears a gray hoodie with the hood up. His face is shrouded in shadow, eyes hidden, with only his mouth and grayish-brown bangs visible. He has a long red scarf wrapped around his neck, with both hanging ends draped down behind his back, not in front. He wears dark blue denim shorts ending above the knee so his knees are exposed, with buttoned flap pockets on both the left and right sides. He wears oversized yellow sneakers and has relatively thin legs. Cartoon character design, clean 3D model.

Сначала я запустил бесплатную проверку пригодности к риггингу. Список анимаций включал ожидание, ходьбу, бег, прыжок, падение, бросок, парирование, рывок на шарфе, получение удара, поражение, запечатывание и победу. Ретаргетинг более чем пяти анимаций за раз завершался ошибкой, поэтому я разбил его на три задачи поменьше и объединил результаты в Godot.

Промпт проекта
The boy model is ready at models/boy/boy_body.glb. Rig it and add the animations the demo needs. Run the free rig check first. List the animations you plan to use, mapped to Tripo presets, before generating anything.

Прежде чем пускать ракурсы персонажа в пакет, я вручную проверил их на отзеркаленные руки и волосы, принятые за солнцезащитные очки.

Концепт персонажа-мальчика до моделирования и риггинга.
Концепт персонажа-мальчика до моделирования и риггинга.

Стандартизируйте импорт и проверки качества

На этапе импорта стенам, которые выглядели слишком мягкими, добавлялись взвешенные нормали и жёсткие рёбра. Лимиты текстур зависели от ассета, с исключениями для мальчика, шарфа, статуи и деревьев.

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

Промпт проекта
When I inspect the models, the normals are smoothed across every edge, so flat walls look soft and cheap. I want something like Blender's Weighted Normal modifier.
Write a Godot import hook that recomputes weighted normals on import (area-weighted, edges sharper than 30 degrees become hard edges, keep the normal map), plus a setup script that attaches the hook to a list of GLBs and limits texture size (4K, or 2K for small assets) with VRAM compression. Don't apply it to the boy, the scarf, the statue or trees.
Render before/after comparisons so I can judge the result.

06 / ОБЗОР

Собирайте демо слоями

Начните с игрового блокаута

Tool-скрипт Godot читал JSON города и строил играбельный блокаут с цветными коллизионными боксами, землёй, точкой появления и планировкой парящих элементов. После изменения данных его пересобирали элементы управления в инспекторе и скрипт для командной строки.

Затем Swap In Models заменял боксы ассетами Tripo на тех же позициях. Обе версии использовали одни и те же данные планировки.

Магазины образовывали спираль, по которой можно взбираться; жилые дома оставались на фоне. Отчёт проверял пересечения, просвет над головой, расстояние между крышами и достижимость платформ.

Игровой блокаутИгровой блокаут
Та же планировка с моделями TripoТа же планировка с моделями Tripo
Промпт проекта
Build a gameplay-only blockout:
- Export the town plan as JSON (gen_town_svg.mjs --json) and write an @tool script (Scripts/town/town_builder.gd) that reads it and generates the ground, a colored box with collision for every shop and house (heights from the design doc), and the player spawn at the west entrance.
- Add inspector buttons: Build Town, Preview Tree, Reset To Ground, Swap In Models.
- Also add a command-line build script so you can rebuild the scene headless.
- Swap In Models replaces each box with res://Assets/Models/<model>.glb, scaled to the lot and rotated to face the street, keeping the position.
Show me screenshots from the street and from above.

Добавьте передвижение и процедурный шарф

У контроллера были состояния «на земле», «в воздухе», «зависание» и «рывок на шарфе». Вынесенные параметры и смоук-тест помогали настраивать и проверять каждое движение.

Промпт проекта
Start the player controller in the blockout scene. Use the rigged boy model directly, no capsule placeholder.
- CharacterBody3D with states: ground, air, hover (hold jump midair, drains scarf energy), scarf leap.
- Third-person over-the-shoulder camera, keyboard + mouse and gamepad input maps.
- AnimationTree state machine built by a generator script (Scripts/tools/build_player_scene.gd), not by hand in the editor.
- All feel parameters exported so I can tune them in the inspector.
- An automated smoke test that spawns the player, runs, jumps, hovers and scarf leap, and saves screenshots.

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

Первая обмотка выглядела вывернутой наизнанку из-за порядка обхода вершин треугольников и перевёрнутых нормалей. Claude исправил меш и записал причину в CLAUDE.md.

Промпт проекта
The neck scarf looks too stiff. Try generating it procedurally instead of using the Tripo model:
- ScarfWrap: three thick, soft knitted loops around the neck, rebuilt every frame from the neck, head and spine bones, pushed out by capsules on the head, neck, chest and upper arms, fuller at the back so it fills the gap between the hood and the shoulders, with a little spring lag.
- ScarfTail: a Verlet chain hanging from the knot at the back, with thickness, stiff enough not to stretch, colliding with body capsules. Reaching out to grab props, hanging from anchors and wrapping the statue all use the same tail (reach(point) / release()).
- Both share one wool material with the red knit texture and a soft sheen at grazing angles.
Keep the per-frame cost low and tell me the measured time.
Проверки процедурной обмотки шарфа в Godot.
Проверки процедурной обмотки шарфа в Godot.

Сделайте рывок на шарфе целенаправленным

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

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

  • находиться на настоящем краю крыши;
  • иметь достаточно свободного пространства сверху;
  • оставлять персонажу место, чтобы встать;
  • исключать траекторию полёта сквозь целевое здание.

Отчёт проверял каждое здание с двенадцати направлений и требовал, чтобы недопустимых точек рывка не было вовсе.

Промпт проекта
Change how the scarf leap feels. Right now it swings like Spider-Man. Instead, the boy knows where he's going and moves straight to the target. While moving, rotate his model so his feet point at the target, as if his feet were pulling his whole body toward it.
Drop the scarf from the scarf leap and sell the power with effects: a red aura when the scarf leap starts, a puff of dust and a small energy pulse at the start point, a trail along a small arc, then the aura fades on landing with a small shockwave at the contact point.
The speed is not constant: a little slow at first, then accelerating hard, never slowing down until it arrives.
Финальная версия рывка на шарфе — к краю крыши.
Финальная версия рывка на шарфе — к краю крыши.

Свяжите бой с боссом воедино

Маршрут включал главное меню, вступление, поднимающийся город, чекпоинт, бой с боссом из трёх частей и концовку.

Статуя бросала предметы, в том числе светящийся, который можно было парировать. Парирование снимало с неё щит примерно на семь секунд. В поздних атаках добавлялись веерный залп и машина, падающая как метеорит, а проверки видимости не давали бросать сквозь здания.

Промпт проекта
Finish all playable content for a first complete version:
- A basic main menu, pause menu and ending screen with buttons.
- The intro: "The Oval Town" title card; when the player enters the plaza, the statue shakes, lifts off its pedestal, a "The Statue" title card, then a shockwave pushes the boy back along the ground. Buildings fly up into the spiral tree. One checkpoint at the end of this sequence.
- The boss fight: shield, parry window about 0.25 s, about 7 s exposed window, damage only from throws while exposed, 3 health segments, attacks unlocked by remaining health: single throw, fan volley (only the glowing one can be parried), car meteor shower.
- Sealing: when its health reaches 0, a scarf leap point appears on the statue; scarf leap to it and press the seal button repeatedly.
- A full-flow automated test that plays the whole game with a real parry, three rounds of throws, a death and restart, the seal and the ending, saving screenshots at each stage.
Show me the plan first, then build it.

Когда здоровье статуи опускалось до нуля, на ней появлялась цель для рывка на шарфе. Игрок раз за разом нажимал кнопку запечатывания, заполняя кольцо; стоило остановиться — и заполнение падало.

Щит статуи активенЩит статуи активен
Успешное парирование открывает окно для уронаУспешное парирование открывает окно для урона

07 / ОБЗОР

Отполируйте, протестируйте и экспортируйте

Добавьте оформление сцены

Когда бой заработал, я добавил детали земли, траву, деревья, освещение, постобработку и эффекты. Один мягкий аддитивный шейдер придал ауре, кольцам, снарядам и шлейфам единый вид.

Промпт проекта
Polish: add the final details to the rest of the town based on the concept art (streets, parks, lane markings and so on). If details are missing or unclear, generate reference images of parts of the town first.
Street layout and lane markings should be as plausible as possible; use Tripo to generate textures if needed. The road surfaces must never flicker.
Add NPR style procedural grass on the lawns.

Изменения я проверял из камеры игрока — искал мерцающие дороги, перекрытые двери и неправильно расставленные фонари.

Промпт проекта
Render with ACES tone mapping. Add post-processing: bloom, ambient occlusion, SSIL, depth of field, film grain, motion blur, chromatic aberration, FXAA, and an FSR 2 option, all in an Options menu. Bloom, AO, SSIL and DOF have Off / Low / Medium / High; FSR 2 has Off / Native AA / Quality / Balanced / Performance; motion blur, chromatic aberration and film grain are toggles.
Also add VSync and resolution.
The film grain should closely emulate Super 8 film. Godot has no built-in film grain or motion blur, so implement them as Compositor effects.
Main Street до полировкиMain Street до полировки
Main Street после полировкиMain Street после полировки

Добавьте звук и обратную связь в интерфейсе

Начинал я с синтезированного звука, а затем заменил большую его часть музыкой и звуковыми эффектами под CC0 с указанием авторов. Синтезированные звуки остались там, где не нашлось подходящего фрагмента.

Промпт проекта
Find CC0 music and sound effects to replace the synthesized ones. Music should be synthwave / analog synth. Prefer less popular sources so the game feels unique. Where nothing fits, keep the synthesized sound. Verify the license on every page and generate a credits file.

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

Промпт проекта
Add interactive hints the first time each move is needed (move, jump, hover, dash, rush, Scarf Leap, grab, throw, parry), for a more explicit and intuitive guide to the controls. Each hint stays until the player actually does the move, then it is ticked off.
Подсказки по управлению при первом использовании для клавиатуры и геймпада.
Подсказки по управлению при первом использовании для клавиатуры и геймпада.

Проведите полный регрессионный прогон

Перед экспортом Claude пересобрал сцены, прогнал отчёты и прошёл игру от меню до концовки — с настоящим парированием, смертью и перезапуском, запечатыванием и скриншотами.

Промпт проекта
Before we export, do a full pass:
1. Rerun every generator in order (build_blockout --float --swap, build_player_scene, build_game) and make sure the main scene is the main menu.
2. Run every report (tree_report, grapple_point_report, street_report, lamp_probe, audio_probe, skin_gap_report) and both automated tests. Everything must pass.
3. Play the game through MCP from the main menu to the ending, take screenshots at each stage and read the game log for errors and warnings.
Report: what passed, what failed, and anything I should check by hand.

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

Промпт проекта
Export a Windows build of the game. Set up a Windows Desktop export preset for the_red_scarf (embed the PCK, the game icon, product name "The Red Scarf"). Check that the export templates for Godot 4.7.2 are installed; if not, tell me how to install them instead of guessing.
Exclude test scenes, test scripts and Assets/Models/_test/. Write a script that sets the build number and exports, run the exported exe once, and report the build size and any errors.

Первый экспорт под Windows весил 1,15 ГБ, в основном из-за текстур. Удаление неиспользуемых ассетов и старых моделей и более компактное сжатие карт нормалей сократили его до 755,5 МБ.

Прохождение финальной версии игры

08 / ОБЗОР

Что я взял бы в следующий проект

Я бы повторил такой рабочий процесс:

  • Описать желаемый результат.
  • Сделать один небольшой прототип.
  • Проверить его в реальной среде выполнения.
  • Превращать каждую повторяющуюся проблему в правило или отчёт.
  • Только после этого наращивать масштаб.

Я снова применил бы ту же схему: один источник планировки города, чекпоинты для пакетов ассетов, геометрические правила для рывка на шарфе и полный тест боя с боссом.

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