Привет всем. Извиняюсь, что от меня было тихо. Что-то задумался...
Так вот. У нас уже состоялся релиз и игра доступна на Google Play.
Но сейчас я хочу рассказать о некоторых проблемах, которые возникли в процессе разработки при компиляции на другие платформы. Надеюсь кому-нибудь это будет полезным. (Begin сухой текст без картинок)
  • Во время тестов выяснилось, что на Android звуковые эффекты не зацикливаются. Т.е. звук проигрывается один раз и замолкает, а длинные звуки вовсе обрывались после 5 секунды. Хотя на PC и Web версии всё работает нормально (привет мультиплатформенность). Нашел, что на Android есть ограничение по размеру файла для звуков github.com/libgdx/libgdx/wiki/Sound-effects но у меня почти все звуки были меньше 1 мегабайта. На практике выяснил, что звуки зацикливаются если размер файла не превышает 22 килобайта и 2 сек., а одиночные звуки не обрываются при 4-5 сек. (но они не зацикливаются). В итоге решил подпереть костылём. Написал обёртку для одиночных звуков и сделал их циклическими;
  • Для рекламы на Android я подключил Appodeal. После интеграции SDK и компиляции на смартфон вылезла проблема: «Unable to execute dex: method ID not in [0, 0xffff]: 65536». Причина превышение количества допустимых методов, т.к. SDK много рекламных сеток. В моём случае помогло выкинуть неиспользуемые модули из «google-play-services.jar»;
  • Для тестирования Android приложения использовал свой смартфон, эмулятор Genymotion и ближе к концу cloud.testdroid.com (удалённые устройства для теста). Хочу отметить последний сервис, он помог обнаружить утечку памяти, когда я писал функцию zoom. Позор конечно, но попытаюсь оправдаться, что дело было ночью и я хотел спать;
  • Иногда при загрузке Web версии игры выскакивает ошибка, что не найден файл. Достаточно перезагрузить страницу и всё загружается нормально. Но я считаю для пользователя это не приемлемо. Он просто решит, что игра не работает и уйдет. Пока не разбирался в чём проблема, но если кто-то знает ответ, буду рад его услышать. А пока мои предположения: происходит что-то с соединением при загрузке файлов или time out соединения. С первым можно попробовать запаковать всё в один файл, а со вторым не знаю. Буду разбираться позже;
  • Был забавный случай, когда в имя переменной закралась русская буква «С» и главное Android и PC версии компилируются, а Web нет. Будьте осторожны;
  • Русские комментарии в файлах шейдера и кодировка ANSI. Web версия компилируется, но отказывается работать. Решение просто перекодировать шейдеры в UTF8 (да и на сервере эта кодировка стоит).
(end)
Много чего было. Но где-то уже детали забыл, что-то опустил. Как-то так!
`
ОЖИДАНИЕ РЕКЛАМЫ...
0
9
8 лет назад
0
Дельные советы и подсказки...
0
29
8 лет назад
0
Был забавный случай, когда в имя переменной закралась русская буква «С»
Жизненно)
Было бы очень замечательно если бы ты смог разбавить текст картинками)
Еще мне очень интересно с чего состоит веб версия игры, с технической точки зрения. Интересно, можно ли это дело интегрировать с сайтом
0
23
8 лет назад
0
Ага, и как по-быстрому убрать всё лишнее, чтобы скомпилить хтмл версию.
0
1
8 лет назад
Отредактирован SkySupra
0
Еще мне очень интересно с чего состоит веб версия игры, с технической точки зрения. Интересно, можно ли это дело интегрировать с сайтом
Я пишу на libGDX и это упрощает дело. Есть основной проект с кодом и есть отдельный проект для Web версии (в ней также Java код), а компиляцию осуществляет GWT.
По интеграции. На выходе будут js, html, css файлы. Запускается локальном сервере, google drive host или бесплатном хосте. Достаточно залить файлы.
0
29
8 лет назад
0
Я пишу на libGDX и это упрощает дело.
это да я знаю, писал на libGDX) только под веб не компилил...
По интеграции. На выходе будут js, html, css файлы.
Интересно... А ресурсы где размещаются? Так же файликами рядом?
0
23
8 лет назад
0
На выходе будут js, html, css файлы.
Достаточно залить файлы.
Т.е. по факту вся проблема в том, что надо перелопатить код так, чтобы гвт успешно всё скомпилил? А дальше уже дело техники - выложить веб-страницу в сеть?
0
1
8 лет назад
0
alexprey:
Я пишу на libGDX и это упрощает дело.
это да я знаю, писал на libGDX) только под веб не компилил...
Компилировал, только никому не показывал) Хотя вру, кое-где он засветился.
alexprey:
По интеграции. На выходе будут js, html, css файлы.
Интересно... А ресурсы где размещаются? Так же файликами рядом?
Да, в каталоге будет папка "assets". В ней будут все ресурсы. Если интересно, как будет это выглядеть и работать. Советую просто скомпилировать чистый проект созданный через "gdx-setup.jar". Его можно залить на сервер, да и структуру посмотреть.
SomeFire:
На выходе будут js, html, css файлы.
Достаточно залить файлы.
Т.е. по факту вся проблема в том, что надо перелопатить код так, чтобы гвт успешно всё скомпилил? А дальше уже дело техники - выложить веб-страницу в сеть?
Извиняюсь, что не ответил раньше. Думал, что это шутка такая... Если действительно стоит проблема, что невозможно скомпилировать код, то да. Нужно просто перелопатить код так, чтобы он заработал. У меня тоже такая была проблема. Она заключалась в том, что в нескольких местах у меня был плохой код (уже не помню, что) и что-то с ссылками.
А дальше да, просто выкладываем скомпилированный результат в сеть. Советую тоже попробовать просто скомпилировать чистый проект и посмотреть, что идёт не так.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.