8 сентября 2018 г.

Aseprite compilation guide (руководство по сборке)

Aseprite - это программа для создания 2D анимации, спрайтов, и любого другого типа графики для игр. Официальный сайт программы: www.aseprite.org

Aseprite Logo

Aseprite очень популярная программы для работы с пиксельной графикой. Работает в операционных системах: Windows, Mac OS и Linux. Стоит программа $15. Исходный код программы открыт на GitHub и разработчики подсказывают нам, что если мы сможем сами скомпилировать программу из исходных кодов, то она будет бесплатной. Отлично! Сейчас мы попробуем пройти все этапы компиляции, чтобы заполучить желаемую вкусняшку.

Собирать программу мы будем под Windows, потому что в Linux она уже доступна в большинстве репозиториев в собранном виде или с готовым рецептом по сборке.

Aseprite успешно собирается в Windows 7, 8, 10 x86 или x64.

Этапы компиляции Aseprite:
  1. Скачиваем исходный код Aseprite по ссылке: https://github.com/aseprite/aseprite/releases
    Скачиваем именно Aseprite-v(последняя версия)-Source.zip архив!
    Распаковываем в папку C:\Aseprite-Source

  2. Скачиваем и устанавливаем Visual Studio Community Edition 2017
    Во время установки выбираем следующие компоненты: "Разработка классических приложений на C++" и "Пакет SDK для Windows 10".

  3. Скачиваем и устанавливаем последнюю версию CMake (кроссплатформенная система автоматизации сборки программного обеспечения из исходного кода).
    После установки CMake убедиться, что в системной переменной PATH прописан путь до папки bin с cmake.exe (пример: C:\Program Files\CMake\bin).
    Для проверки открываем консоль и вводим команду: cmake -version

  4. Скачиваем и устанавливаем Python (высокоуровневый язык программирования общего назначения, ориентированный на повышение производительности разработчика и читаемости кода).
    Для проверки открываем консоль и вводим команду: python -V

  5. Скачиваем последнюю версию Ninja (небольшая и быстрая кроссплатформенная система сборки программного обеспечения).
    Распаковать ninja-win.zip архив и скопировать ninja.exe в папку C:\Windows\System32
    Для проверки открываем консоль и вводим команду: ninja --version
    Если мы используем 32 битную систему Windows, то нам придётся собрать программу Ninja самостоятельно, потому что последние официальные версии Ninja собраны под 64 битные системы. Или скачать уже собранную мной: Ninja v1.8.2 x86
    Скачиваем исходники последней версии Ninja. Распаковываем в папку C:\Ninja-Source
    Открываем консоль разработчика Visual Studio 2017 (Пуск > Все программы > Visual Studio 2017 > Visual Studio Tools > Командная строка разработчика для VS 2017).
    Переходим в папку с исходным кодом Ninja, командой в консоли: cd C:\Ninja-Source
    Собираем Ninja, командой в консоли: python ./configure.py --bootstrap
    После успешной сборки, копируем полученный файл ninja.exe в папку C:\Windows\System32
    Для проверки открываем консоль и вводим команду: ninja --version

  6. Также нам потребуется инструмент AWK (скриптовый язык построчного разбора и обработки входного потока).
    Получить его можно из сборки инструментов MozillaBuild.
    Или скачать уже собранный мной: AWK v3.1.7
    Скопировать содержимое в папку C:\Windows\System32
    Для проверки открываем консоль и вводим команду: awk -W version

  7. Скачиваем и устанавливаем Git (распределённая система управления версиями).
    Для проверки открываем консоль и вводим команду: git --version

  8. Далее необходимо скачать и установить Google depot tools (набор инструментов для разработки Chromium).
    Распаковываем полученный архив в папку C:\deps\depot_tools
    Открываем консоль разработчика Visual Studio 2017 (Пуск > Все программы > Visual Studio 2017 > Visual Studio Tools > Командная строка разработчика для VS 2017).

    В консоли вводим команды:
    • set PATH=C:\deps\depot_tools;%PATH%
    • cd C:\deps\depot_tools
    • gclient sync
    (Последняя команда завершится с ошибкой "Error: client not configured; see 'gclient config'". Просто игнорируем это.)

    Далее в консоли вводим команды:
    • cd C:\deps
    • git clone -b aseprite-m67 https://github.com/aseprite/skia.git
    • cd skia
    • python tools/git-sync-deps
    (Последняя команда займёт много времени и будет качать большие объёмы данных. Пожалуйста дождитесь её окончания. Если она завершиться с ошибкой, то перезапустите её.)

    Теперь в консоли вводим команду:
    gn gen out/Release --args="is_official_build=true skia_use_system_expat=false skia_use_system_libjpeg_turbo=false skia_use_system_libpng=false skia_use_system_libwebp=false skia_use_system_zlib=false target_cpu=""x86"" cc=2017"

    Если она заканчивается ошибкой "ERROR at //gn/BUILDCONFIG.gn Could not find VC installation.", то поправьте пути в файле C:\deps\skia\gn\BUILDCONFIG.gn
    Если у вас 32-битная система Windows, то все пути "C:/Program Files (x86)/", нужно изменить на "C:/Program Files/"
    Затем снова повторить команду. Которая должна закончиться сообщением "Done."

    (Если у вас 32-битная система Windows, то замените файл ninja.exe в папке C:\deps\depot_tools файлом ninja.exe, который вы использовали на этапе 5.)

    Теперь собираем библиотеку командой: ninja -C out/Release skia

    (Skia - это 2D-графическая библиотека с открытым исходным кодом. Она служит графическим движком для Google Chrome, Android, Mozilla Firefox и многих других продуктов. Aseprite собранный с библиотекой Skia работает приемлемо быстро в отличие от библиотеки Allegro, которая предлагается по умолчанию.)

  9. В консоли разработчика Visual Studio 2017 вводим команды:
    • cd C:\Aseprite-Source
    • mkdir build
    • cd build
    • cmake -DUSE_ALLEG4_BACKEND=OFF -DUSE_SKIA_BACKEND=ON -DSKIA_DIR=C:\deps\skia -DCMAKE_BUILD_TYPE=Release -DENABLE_UPDATER=OFF -G Ninja ..
    • ninja aseprite
После успешного завершения сборки, Aseprite будет находиться в папке C:\Aseprite-Source\build\bin

Из альтернативных программ для работы с пиксельной графикой можно отметить:
  1. GraphicsGale (бесплатная)
  2. Pro Motion (платная)
Приятного творчества и больше красивого пиксель-арта!

1 комментарий:

  1. Получилось собрать! Спасибо за подробную инструкцию. Долго не мог понять почему Aseprite такой тормознутый, а оказывается собирать то надо было со Skia.

    ОтветитьУдалить