
Подключение Steam API в AIR игру с помощью FRESteamWorks
2
Так получилось, что я выпускаю игру на Steam. Игру делаем на AIR в FlashDevelop, используя Starling. И тут я расскажу как подключить Steam API к AIR игре на FlashDevelop включая подводные камни на которые я наткнулся сегодня.
Как засунуть игру в стим рассказывать не буду, там отличная документация с видео и картинками:). Расскажу про АПИ.
С первого взгляда всё просто, но я наткнулся сегодня на пару камней.
Камень первый. Amanita Design сделали .ane дополнение FRESteamWorks для стима https://github.com/Ventero/FRESteamWorks, там всё расписано. Но, как подключать .ane никто не написал. Гугл нам выдаёт большую статью. Делаем всё как там и проект не собирается. Он компилируется, но упаковка через PackageApp.bat выдаёт ошибку. Не правильный ANE файл. Хорошо. Оставляем настройки .bat файлов такие, как написано в статье. На форуме FlashDevelop я нашёл другую статью. Оказывается не нужно называть папку с распакованным .ane файлом так же как подписано дополнение в application.xml. Компилирую. Собираю. Вроде собирается. Теперь займёмся FRESteamWorks. Пробую запустить из него init(). Компилирую. Ошибка.
Камень второй. Ошибка «на компе не установлен steam_api.dll». Гугл нас ведет на рассказы о качании его непонятно от куда и установки steam_api.dll из виндосовской «Выполнить». Но у меня закрались сомнения. Прошёлся поиском по steam_sdk, там есть папка redistributable_bin. Вот в ней-то и лежат все необходимые dll. На все оси и все архитектуры. Я скопировал ёё содержимое в src папку проекта(там весь код мой лежит) и всё заработало. Проект скомпилировался, собрался и успешно был залит в стим. Тестовый запуск выдал мне мой стим ид, короче работает .ane.
Ну вот и всё.
Давно ничего не писал. Надеюсь скоро ещё напишу что-то полезное по разработке
*прибавочка!
— Для «счастливых» обладателей мака. Чтобы прикрутить Steam API к игре, то нужно вытащить libsteam_api.dylib из одной из папок и положить в корень. Тогда стимовские штучки заработают.
— Как извесно, компиляция AIR на маке происходит через adt с огромной страшной консольной командой. Но мне было лень. Подсоединил проект к Flash CS6, прикрутил туда последний AIR SDK с компилятором и вуаля — .app на выходе.
— Еще мануалы стима рассказывают о ContentPrep.app, которая перелапачивает вашу игру, что-то в неё добавляет. Конечно же с первого раза она не заработала. Выдало ошибку и 32 битах вместо 64х. Можно тут почитать решение. Но вот неожиданность, благодаря решению ошибка не появляется, процесс проходит гладко, но теперь игра не запускается :D Короче на это я тоже забил. Залил в стим .app сразу после компиляции. В итоге через стим всё устанавливается, работает. А что ещё надо для счастья:)
ЗЫ: не рассказывайте об этом Гейбу
Как засунуть игру в стим рассказывать не буду, там отличная документация с видео и картинками:). Расскажу про АПИ.
С первого взгляда всё просто, но я наткнулся сегодня на пару камней.
Камень первый. Amanita Design сделали .ane дополнение FRESteamWorks для стима https://github.com/Ventero/FRESteamWorks, там всё расписано. Но, как подключать .ane никто не написал. Гугл нам выдаёт большую статью. Делаем всё как там и проект не собирается. Он компилируется, но упаковка через PackageApp.bat выдаёт ошибку. Не правильный ANE файл. Хорошо. Оставляем настройки .bat файлов такие, как написано в статье. На форуме FlashDevelop я нашёл другую статью. Оказывается не нужно называть папку с распакованным .ane файлом так же как подписано дополнение в application.xml. Компилирую. Собираю. Вроде собирается. Теперь займёмся FRESteamWorks. Пробую запустить из него init(). Компилирую. Ошибка.
Камень второй. Ошибка «на компе не установлен steam_api.dll». Гугл нас ведет на рассказы о качании его непонятно от куда и установки steam_api.dll из виндосовской «Выполнить». Но у меня закрались сомнения. Прошёлся поиском по steam_sdk, там есть папка redistributable_bin. Вот в ней-то и лежат все необходимые dll. На все оси и все архитектуры. Я скопировал ёё содержимое в src папку проекта(там весь код мой лежит) и всё заработало. Проект скомпилировался, собрался и успешно был залит в стим. Тестовый запуск выдал мне мой стим ид, короче работает .ane.
Ну вот и всё.
Давно ничего не писал. Надеюсь скоро ещё напишу что-то полезное по разработке
*прибавочка!
— Для «счастливых» обладателей мака. Чтобы прикрутить Steam API к игре, то нужно вытащить libsteam_api.dylib из одной из папок и положить в корень. Тогда стимовские штучки заработают.
— Как извесно, компиляция AIR на маке происходит через adt с огромной страшной консольной командой. Но мне было лень. Подсоединил проект к Flash CS6, прикрутил туда последний AIR SDK с компилятором и вуаля — .app на выходе.
— Еще мануалы стима рассказывают о ContentPrep.app, которая перелапачивает вашу игру, что-то в неё добавляет. Конечно же с первого раза она не заработала. Выдало ошибку и 32 битах вместо 64х. Можно тут почитать решение. Но вот неожиданность, благодаря решению ошибка не появляется, процесс проходит гладко, но теперь игра не запускается :D Короче на это я тоже забил. Залил в стим .app сразу после компиляции. В итоге через стим всё устанавливается, работает. А что ещё надо для счастья:)
ЗЫ: не рассказывайте об этом Гейбу
- +10
- Komizart
Комментарии (7)
Всё просто.
tinybuild.com/dividebysheep