RU

Quest Navigator

Nex Moderator 15.01.2012 08:10 162 comments 94850 views

Flash плохо поддерживает сенсорные экраны, поэтому попытка напрямую портировать AeroQSP на iOS провалилась.
В связи с этим я решил разработать новый плеер, взяв за основу AeroQSP и переписав весь код, отвечающий за вывод на экран и взаимодействие с пользователем. Название - Quest Navigator. В первую очередь плеер делается с расчетом на мобильные устройства. В будущем, возможно, этот плеер будет доработан для работы в Windows, с тем чтобы заменить нынешнюю версию AeroQSP.

Сначала планируется сделать его на iOS, далее попытаюсь собрать под Android, и уж потом для Windows.

Принципиальные отличия от нынешней версии AeroQSP:
1. Используется не самописный HTML-рендер Байта, а нативный компонент браузера. Грубо говоря, игра будет запущена в “браузере по умолчанию”. Как следствие, в Quest Navigator должно работать то, что работает в обычном браузере - атрибуты, теги, форматирование текста, списки, таблицы и пр.
2. Будет использоваться JQuery(последней стабильной версии).
3. Поначалу не будут поддерживаться эффекты переходов между локациями, возможно будет реализовано позже.
4. Поначалу не будет поддерживаться “выделение действия” при наведении на него курсора - т.к. в мобильных устройствах курсора нет, а тормозит работу сильно. Для совместимости, обработчик выделения($ONACTSEL) будет вызываться сразу перед событием “действие нажато”. Возможно будет доработано позже.
5. Поначалу не будет строки ввода - т.к. с ней нужно возиться, используется она редко, а времени на разработку мало.
6. Поначалу не будет стрелочек для прокрутки текста - т.к. на мобильных устройствах это неудобно, будет скроллирование как обычно, “перетаскиванием” текста. Возможно, стрелочки будут добавлены позже.
Статус проекта на сегодняшний день:
Все уже работает.
Quest Navigator для Android
Quest Navigator для Windows
Quest Navigator для iOS

Исходный код:
JS+HTML фреймворк (папка “www/qsplib”) - http://github.com/Nex-Otaku/quest-navigator-core
Библиотечный проект для Android - http://github.com/Nex-Otaku/quest-navigator-library-android
Плеер для Windows и Macos на основе Awesomium - http://github.com/Nex-Otaku/quest-navigator-awesomium
Основная библиотека интерпретатора QSP для Quest Navigator - http://github.com/Nex-Otaku/qsplib-experimental

Текст этого сообщения будет меняться по мере работы над проектом. Также в теме буду отписываться об изменениях.

Если есть вопросы, спрашивайте, отвечу.

Edited at 30.07.2014 15:58 (11 years ago)

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

На очереди системное меню и всякие переменные оформления - размеры окон, шрифта, цвета и т.д. и т.п.

Системное меню готово, осталось оформление - самая объемная и непредсказуемая часть :)

Удачи)

Удача здесь вряд ли поможет, разве что терпение и упорство.

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

Спасибо за пожелание :)

Во, лечится, тьфу, учится! :)

Сегодня занимался оформлением, сделал самые основные параметры.
Скриншот сегодняшней версии:

Я так понял, он будет работать во встроенном браузере, установленном на данном девайсе? Будут ли какие-либо требования к браузеру, или подойдёт любой с поддержкой flash? Будет ли фулскрин, или сверху будет стандартная шапка браузера? И что планируешь по разрешениям? Девайсы разные, стандартов много… Лишний гемор для квестописателей, но с другой стороны - если не подгонять игры под девайс, будет не очень хорошо смотреться. В обычной аэре у нас дефолт 800х600 если не ошибаюсь, значит на мобильных девайсах уже написанные игры будут смотреться кривовато.

WladySpb,
работать должен там где есть AIR. Пока я собирал только под iOS, но теоретически должно собраться под Android и Blackberry. Компилируется в готовое приложение, запускается не через браузер, а самостоятельно. Работает в фуллскрине. Используется компонент браузера - это значит, что окно браузера “встроено” в приложение, а не наоборот.

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

Общая схема такая:
QSP библиотека -> AS3, AIR -> Браузер, JS

При таком подходе - “перекладывая” основную работу по отображению интерфейса на браузер, для девайсов не поддерживающих AIR, тонкую прослойку AIR можно легко исключить и написать ее на “родном” для устройства языке, при условии что доступен аналог WebView(компонент браузера). Поэтому потенциально у этой платформы возможности даже больше, чем у “старой” Аэры.

Класс! Мне нравится такая реализация, надеюсь, всё получится! Правда, для разработки игр всё же придётся подучить css)
С любопытством жду версии под андроид, пощупать)

При тестировании на айфоне вылезли баги, которые не проявлялись на эмуляторе. Так что предстоит работа не только по доработке оформления, а еще и по поиску и устранению этих багов. Приоритет сейчас на айфон-версию, пока с ней более-менее не разберусь, за андроид браться не стану. С другой стороны, дело продвигается гораздо быстрее, чем я ожидал, так что может даже за эту неделю успею все сделать. Зависит от того, насколько быстро выловлю баги. Если быстро с ними расправлюсь, то на этой неделе соберу приложение для Андроид.

Реализованы все наиболее важные и используемые возможности оформления.

Купил себе iPhone 3GS специально для тестирования.

На эмуляторе мобильная аэра работает прекрасно, но на айфоне вылазят непонятные баги и все очень тормозит.
Решил попробовать написать полностью нативное приложение под айфон. Как выяснилось, без Мака не получится собрать нативное приложение. Поэтому сегодня купил Mac-mini.

Log in or Register to post comments.