Архивация исходников графики и проектных файлов игр

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

От иммерсивных приложений до игровых миров и 3D-сцен

Наша выделенная команда для VR/AR/MR-разработки, Unity-продакшна и 3D-моделирования и анимации с собственными кейсами и презентациями.

Посетить персонализированный сайт
Показано 1 из 1Все 242 услуг
Архивация исходников графики и проектных файлов игр
Простой
~2 дня
Часто задаваемые вопросы

Наши компетенции

Какие этапы разработки игры?

Последние работы

  • image_games_mortal_motors_495_0.webp
    Разработка игры для компании Mortal Motors
    1457
  • image_games_a_turnbased_strategy_game_set_in_a_fantasy_setting_with_fire_and_sword_603_0.webp
    Пошаговая стратегия в фэнтези сеттинге With Fire And Sword
    979
  • image_games_second_team_604_0.webp
    Разработка игры для компании Second term
    605
  • image_games_phoenix_ii_606_0.webp
    3D-анимация — тизер для игры phoenix 2.
    674
  • image_training-quizzes_kids_shopping_quiz_614_0.webp
    Обучающая викторина для детей «Покупки в магазине»
    29

Почему архивация исходников — это инвестиция, а не трата

Мы регулярно сталкиваемся с ситуацией: студия закрыла проект, а через пару лет нужно выпустить DLC или портировать на новую платформу. Открывают NAS — и видят хаос: папка art_final_FINAL_v2, 12 000 файлов без дат, Substance Painter ругается на пропавшие linked textures, Photoshop-файл весит 2 ГБ, половина слоёв без имён. Восстановить работу можно, но это занимает недели вместо часов. Наш опыт показывает: правильно организованная архивация на старте окупается как минимум вдвое быстрее. Мы сохраняем не только файлы, но и контекст: версии софта, настройки, зависимости. Это превращает архив в работающий слепок проекта, а не свалку бинарников. Мы сталкивались с проектами, где арт-директор увольнялся и никто не знал, как собирать сцену.

«Хороший архив позволяет открыть проект через 5 лет без единого звонка бывшему сотруднику». — Принцип инженерной сохранности

Что грозит при отсутствии архивации

  • Потеря связей между исходниками и финальными ассетами. Например, текстура в игре выглядит иначе, чем в .spp — вспомнить, какой материал использовался, невозможно.
  • Время на поиск файлов вырастает до 30% от общего времени работы. По нашим замерам, структурированный архив экономит до 40% времени при возврате к проекту.
  • Критичные файлы могут не открыться в новых версиях софта. Особенно это касается бинарных форматов вроде .mb.

Какую информацию обязательно сохранять

Substance Painter (.spp)

Самый проблемный формат. Файл ссылается на Smart Materials из библиотеки Substance. Если библиотека обновилась — внешний вид изменится. Мы архивируем: .spp + экспортированные Baked Textures + .sbsar всех использованных материалов. Это гарантирует воспроизводимость через любые обновления.

Photoshop (.psd)

Смарт-объекты могут ссылаться на внешние .psb. Функции Package нет, поэтому мы вручную собираем linked слои в одну папку или flatten. Обязательно проверяем шрифты — прикладываем OTF/TTF.

Blender (.blend)

Достаточно включить File > External Data > Pack Resources — вся картинка упаковывается внутрь .blend. Просто, но файл становится тяжелее. Для долгосрочного хранения это оправдано.

Maya (.ma/.mb)

Используем File > Optimize Scene Size, затем File > Archive Scene — создаётся zip со всеми зависимостями. Предпочитаем .ma (ASCII) — его можно открыть текстовым редактором даже без Maya.

Какую структуру архива выбрать?

Плохой архив: art/, внутри 5000 файлов в одной куче. Рабочий архив от наших инженеров:

project_name/
  characters/
    hero/
      sources/          # .psd, .spp, .blend
      exports/          # .fbx, .png, .tga — то, что шло в движок
      references/       # референсы, концепты
      VERSIONS.md       # история изменений: дата, автор, что сделано
  environments/
  ui/
  vfx/
  README.md             # версия движка, инструментов, контакты

VERSIONS.md на каждый ассет — звучит избыточно, но именно он даёт ответ «почему текстуру переделывали три раза».

Какие форматы выбрать для долгосрочного хранения?

Тип данных Предпочтительный формат Избегать
Текстуры (финал) PNG, TIFF 16-bit PSD без flatten
3D-меши FBX 2019, OBJ .mb (binary Maya)
Видео-исходники ProRes 4444, TIFF sequence Premiere .prproj без медиа
Шрифты OTF/TTF Лицензионные без файла
Звук WAV 24-bit/48kHz .mp3 (lossy)

FBX — фактический стандарт, но он проприетарный. В качестве дополнения используем glTF 2.0 — открытый формат, который поддерживается Blender, Unity, Unreal. glTF 2.0 компактнее FBX на 30–50% и лучше подходит для обмена данными между пайплайнами.

Как проверить целостность архива перед упаковкой?

Перед упаковкой выполняем три шага:

  1. Проверка broken references в Substance: File > Check Baked Maps Links.
  2. Чистка неиспользуемых слоёв в PSD.
  3. Экспорт всех текстур из .spp.

Кастомный Python-скрипт обходит дерево папок, собирает CSV с размером, датой, расширением. Это находит дубли (одна текстура в трёх копиях), устаревшие версии (_old, _backup) и файлы-кандидаты на оптимизацию. По статистике наших проектов, до 20% файлов оказываются мусором.

Что входит в работу по архивации (deliverables)

  • Структурированный архив по описанной схеме.
  • CSV-инвентаризация с дублями и рекомендациями.
  • README с версиями инструментов и контактами.
  • Запасной комплект на внешнем носителе — гарантия от потери.
  • Консультация по выбору форматов и настроек проекта.

Сроки и как мы работаем

Объём работы Срок
Аудит и инвентаризация существующего архива 2–5 дней
Структурирование и архивация проекта среднего масштаба 1–2 недели
Полная архивация крупного проекта (50+ ассетов, 5+ художников) 3–6 недель

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

Когда ручная подготовка к релизу игр превращается в проблему?

Студия делает релиз мобильной игры. За неделю до даты менеджер вспоминает, что нужно собрать AAB, подписать, загрузить в Google Play. Сборщик вручную запускает билд, ждёт час, забывает включить IL2CPP, билд крашится на Android 12. Пересборка — ещё час. Параллельно надо переделать иконку под новые требования Google. В итоге релиз сдвигается на три дня. Наш опыт показывает: ручная подготовка к релизу игр — главный источник задержек и багов, которые не проявляются на машине разработчика.


Как настроить CI/CD для сборок мобильных игр?

Инструменты пайплайна

GameCI — open-source Docker-образы для Unity-сборок, работающие поверх GitHub Actions, GitLab CI или любого другого CI-провайдера. Ключевые компоненты: unity-builder (собирает под нужную платформу), unity-test-runner (запускает Unity Test Framework перед сборкой), unity-return-license (возвращает лицензию — критично для Pro). Unity Cloud Build проще, но менее гибок и дорог при частых сборках. Fastlane — стандарт для финальных шагов: подпись, загрузка в магазины, метаданные.

Типовой пайплайн

jobs:
  test:
    name: Run Unity Tests
    uses: game-ci/unity-test-runner@v4
    with:
      unityVersion: 2022.3.20f1
      testMode: playmode

  build-android:
    name: Build Android
    needs: test
    uses: game-ci/unity-builder@v4
    with:
      targetPlatform: Android
      androidKeystoreBase64: ${{ secrets.ANDROID_KEYSTORE_BASE64 }}
      androidKeystorePass: ${{ secrets.KEYSTORE_PASSWORD }}
      androidKeyaliasPass: ${{ secrets.KEY_PASSWORD }}

  upload-to-play:
    name: Upload to Google Play (Internal Track)
    needs: build-android
    uses: r0adkll/upload-google-play@v1
    with:
      serviceAccountJsonPlainText: ${{ secrets.SERVICE_ACCOUNT_JSON }}
      packageName: com.yourcompany.yourgame
      releaseFiles: build/Android/*.aab
      track: internal

Секреты, не переменные — все ключи в secrets CI. AAB вместо APK обязателен уже несколько лет. Треки: internal → closed → open → production. Продвижение — ручное или Fastlane supply promote.

iOS-специфика. Unity собирает Xcode-проект, затем xcodebuild. Нужны Distribution Certificate и Provisioning Profile (App Store). Fastlane Match решает проблему синхронизации сертификатов в команде:

lane :build_ios do
  match(type: "appstore", readonly: true)
  build_app(workspace: "Unity-iPhone.xcworkspace",
            scheme: "Unity-iPhone",
            export_method: "app-store")
  upload_to_testflight
end

App Store Connect API Key заменяет логин/пароль, не ломается при 2FA.

Почему App Store отклоняет около трети первых сабмишенов?

Apple отклоняет 30–40% первых сабмишенов новых студий. Частые причины:

Категория Типичная проблема
Метаданные Скриншоты с чужими брендами, описание с упоминанием других платформ
Техника Краш на iPad, отсутствие IPv6 (требование Apple актуально много лет)
Политики Sign in with Apple не реализован при сторонних провайдерах; нет ссылки на Privacy Policy

Практика: перед сабмишеном пройти App Store Review Guidelines от начала до конца — 2–3 часа, экономящие 2–3 недели.

Google Play более лоялен: типичные причины — устаревший targetSdkVersion, избыточные разрешения, несоответствие Data Safety Form.

Что включает подготовка к релизу игр?

Чек-лист: 6 шагов, которые мы закрываем за вас
  • Настройка CI/CD (GameCI / Fastlane / Unity Cloud Build – под ключ)
  • Подготовка метаданных и маркетинговых материалов (скриншоты, иконки, превью)
  • Прохождение ревью магазинов (сопровождение до публикации)
  • Мониторинг первых 72 часов (Crashlytics, ANR-рейт, отзывы)
  • Документация по пайплайну и доступы к сервисам
  • Локализация метаданных и настройка возрастных рейтингов (IARC, ESRB, PEGI, CERO)

Автоматизация пайплайна заменяет ручную работу целого отдела. Например, настройка Continuous Integration через GameCI и Fastlane сокращает время подготовки к релизу игр втрое — с 8 рабочих часов до 2,5.

Как автоматизация пайплайна влияет на сроки и бюджет?

Ручной релиз мобильной игры стоит примерно $1200–$1500 (зарплата инженера на 2–3 дня, тестирование, переделки). Автоматизация CI/CD окупается в первые два месяца — снижает затраты на релиз на 40–60%. То есть каждый следующий релиз обходится на $500–$900 дешевле.

Сравнение подходов:

Этап Ручной Автоматический (наш подход)
Сборка AAB 1 ч (риск ошибки) 20 мин (воспроизводимо)
Тестирование на 20 устройствах 2–3 ч (ручной прогон) 20 мин (параллельные тесты)
Загрузка в Google Play + метаданные 1–1,5 ч 5 мин (Fastlane)
Итого на один релиз 4–5,5 ч 45 мин

Результат: мы сокращаем цикл от коммита до публикации в 6–8 раз. Для проектов с частыми хотфиксами это разница между недельным ожиданием пользователей и исправлением за день.

После релиза: мониторинг и обновления

Краш-рейт < 1% (Firebase Crashlytics), ANR-рейт < 0.47% (Play Console) — иначе ограничения видимости. Phased rollout обязателен: сначала 10%, затем 50%, затем 100% пользователей.

Наш опыт — 30+ релизов мобильных игр, 5+ лет на рынке, более 50 проектов. Автоматизация CI/CD окупается в первые два месяца, снижая затраты на релиз на 40–60%.

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