Архив рубрики: Dingux

Это категория для гаджетов Dingoo A320 и Ritmix RZX-50 и остальных на Dingux OS.

Экскурс в прошлое: портирование графической оболочки OPIE на Ritmix RZX-50

Эта статья достаточно долго провалялась у меня в черновиках и так и осталась незаконченной. И вот, спустя три года, я обнаружил её, разгребая залежи своих BackUp’ов. Простенький интерфейс старого доброго OPIE на скриншотах так меня обрадовал и навеял столько хороших воспоминаний, что я незамедлительно решил довести статью до ума и опубликовать её в блоге. К сожалению, я уже давно не являюсь владельцем портативной игровой приставки Ritmix RZX-50, но возможно ещё остались счастливые обладатели этого устройства, которым будет интересна нижеизложенная информация.

Расшифровывается аббревиатура OPIE как Open Palmtop Integrated Environment — это графический интерфейс с открытым исходным кодом, предназначенный для работы на карманных компьютерах или любых других устройствах, работающих на ядре Linux. В основном он использовался на коммуникаторах и PDA, произведенных фирмой Palm, а также на устройствах Sharp Zaurus. На самом деле OPIE является форком Qtopia — окружения для встраиваемых систем, которое когда-то разрабатывала ныне почившая компания Trolltech. OPIE изначально задумывался как графическое окружение для дистрибутива операционной системы GNU/Linux под названием Familiar. Familiar, в свою очередь, предназначался для работы на различных карманных компьютерах и предлагал на выбор два графических окружения — GPE и, соответственно, OPIE. Благодаря тому, что OPIE работает в режиме Framebuffer’а и не использует в своей работе оконную систему X Window System, на слабых устройствах удается сэкономить немного памяти и повысить отзывчивость интерфейса. Помимо этого преимуществом OPIE является бинарная совместимость с Qtopia. OPIE может быть установлен в самые различные карманные компьютеры или даже на мобильные телефоны, например, он мог запускаться параллельно EZX-окружению в смартфонах Motorola E2/E6/A1200/E680i или являться полноценной оболочкой в Siemens SX1.



Внешний вид интерфейса OPIE: Одна из вкладок Launcher’а и приложение opie-console, являющееся эмулятором терминала.

Последняя версия OPIE — 1.2.5, она датирована концом 2010 года. Увы, проект давным-давно не развивается и считается практически мёртвым. Функциональность этого графического окружения застряла где-то в 2005-2006 годах, и чтобы допилить его до юзабельного состояния на конкретном устройстве, нужно потратить очень много собственных сил и времени. Но запуск OPIE на таком гаджете, как Ritmix RZX-50, как говорится, just for fun, может быть интересным занятием на несколько вечеров. Ведь эта графическая оболочка своего рода одна из ветвей истории развития интерфейсов для мобильных устройств и встраиваемых систем.

Читать далее Экскурс в прошлое: портирование графической оболочки OPIE на Ritmix RZX-50

Dev, Dingux

Cave Story (Doukutsu Monogatari) via NXEngine для различных платформ


Cave Story (или в оригинале — Dōkutsu Monogatari), является одной из самых известных бесплатных японских Indie-игр. Весь игровой контент, включая музыкальные композиции и код, был создан лишь одним человеком — Daisuke «Pixel» Amaya. Pixel в течении пяти лет трудился над своей игрой, уделяя ей как можно больше свободного времени. Именно благодаря знакомству с Cave Story многие начинающие Game Developer’ы вдохновились на создание собственных Indie-проектов. После своего первого релиза для PC, который состоялся в 2004 году, игра медленно завоёвывала популярность геймеров в японском интернете, а после её перевода на английский язык — стремительным темпом распространилась по всему миру. В целом, Cave Story получила достаточно положительные отзывы критиков за свой увлекательный геймплей и интересный сюжет. Несколько лет спустя, в ноябре 2011-го года, в сервисе цифровой дистрибуции Steam вышло переиздание игры, названное Cave Story+, содержащее незначительные отличия от оригинальной версии.



Скриншоты из русской версии Cave Story, запущенной с помощью NXEngine на устройстве Ritmix RZX-50; локации «Хранилище Яиц» и «Грасстаун»

Cave Story представляет собой 2D-платформер с элементами RPG, выполненный в антураже старых классических игр, в частности, разработчик вдохновлялся таким проектом, как Metroid. После проявления интереса к игре со стороны публики Cave Story была портирована на наиболее популярные платформы. Поскольку исходный код игры закрыт, Cave Story удалось перенести лишь на ограниченное количество игровых устройств. К счастью, нашлась энтузиастка, которая полностью переписала движок игры на C++ (изначально он был написан на C) и выпустила код под лицензией GNU GPL Version 3. Свой проект Caitlin «rogueeve» Shaw назвала NXEngine. Благодаря этому движку, практически полностью совместимому с оригинальным, в Cave Story можно поиграть на самых разных платформах и устройствах.

Но, к сожалению, не всё так гладко и NXEngine всё ещё нуждается в «доработке напильником». Например, на Dingoo A320 невозможно играть со включенной музыкой из-за возникающих «подтормаживаний» в игре. Caitlin Shaw хотела полностью сохранить совместимость с оригинальными DATA-файлами Cave Story, поэтому музыка в нём генерируется процедурно, создавая большую нагрузку на CPU. Центральный процессор Dingoo A320 не справляется с такой нагрузкой, отсюда и возникают «подтормаживания», сильно мешающие игровому процессу. Одна из моих модификаций исходного кода NXEngine позволяет использовать библиотеку SDL_mixer, добавляя в игру возможность воспроизведения трекерной музыки из внешних файлов, вместо ресурсоёмкой процедуры генерации. Кроме того, NXEngine не мог отобразить русские буквы из русифицированных DATA-файлов, но с моим небольшим исправлением это стало возможным. Теперь геймеры, не слишком хорошо знающие английский язык, смогут всецело насладиться сюжетными диалогами. Помимо этого, в движок была добавлена возможность работы с широкоформатными дисплеями с разрешением 480×272, что позволило запускать Cave Story на Ritmix RZX-50 в полноэкранном режиме. Для удобства внесения изменений в код NXEngine была произведена некоторая адаптация исходного кода к интегрированной среде разработки — Qt Creator.

Читать далее Cave Story (Doukutsu Monogatari) via NXEngine для различных платформ

Dev, Dingux, EZX, MotoMAGX

IDE для MotoMAGX/Dingux?! Легко! Подрубаем Toolchain’s & SDK’s к Qt Creator’у! И не только!

Наверное, каждый кто пытался написать что-нибудь интересное для телефонов Motorola на платформе MotoMAGX или для различных портативных игровых консолей, к примеру, Dingoo A320 или Ritmix RZX-50 на платформе Dingux, сталкивался с жесткой необходимостью использования какой-либо удобной среды разработки. Голая консоль и режимный редактор — это конечно круто и хардкорно, но иногда так хочется использовать полноценную рабочую среду с ее огромными возможностями, а не нагружать свой мозг различными командами консольных текстовых редакторов, которые так неудобны многим разработчикам. Хотя некоторые, особо бородатые спецы, вытворяют с ними такие вещи, что все удобство интегрированных средств разработки невольно меркнет на фоне скорости набора и редактирования текста этими профессионалами в таких вот экзотических программах.



Qt Creator, запущенный в одном из дистрибутивов GNU/Linux (кликабельно)

Поскольку Toolchain’s & SDK’s для платформ MotoMAGX и Dingux можно использовать только в дистрибутивах GNU/Linux, разработчики приложений для этой платформы весьма ограничены в выборе полноценных IDE. Скорее всего им приходится работать либо в KDevelop, либо в Code::Blocks. Но большинство разработчиков вообще не знают о существовании достойных интегрированных сред разработки под GNU/Linux, и предпочитают писать код прямо в любимом текстовом редакторе. Кто-то пишет в Kate, а кто-то в gedit или его форках, ну а некоторые даже осиливают для такого дела vim, а то и emacs!

Но сейчас, к счастью, речь пойдет о весьма зрелой и проверенной на прочность кроссплатформенной IDE, имя которой — Qt Creator.

Читать далее IDE для MotoMAGX/Dingux?! Легко! Подрубаем Toolchain’s & SDK’s к Qt Creator’у! И не только!

Dingux, Manuals, MotoMAGX, Others

Slitherlink — русификация и портирование игры на Ritmix RZX-50

Slitherlink или Китайская стена — это логическая головоломка, созданная японской компанией Nikoli. Кстати, эта компания получила известность благодаря Sudoku.



Цель игры — расставить таким образом линии среди цифр на поле, чтобы получился единый замкнутый и непересекающийся контур. Цифра внутри квадрата-ячейки обозначает количество линий, которые могут быть расположены по периметру ячейки. Когда все линии расставлены, они должны образовать замкнутую петлю без пересечений, ответвлений и разрывов. Сами линии не могут пересекаться и должны образовывать непрерывный контур. Существует лишь единственное решение головоломки, которое может быть найдено путем логического вывода, но никак не угадыванием и подбором.

Читать далее Slitherlink — русификация и портирование игры на Ritmix RZX-50

Dev, Dingux

Игра Color Lines для Ritmix RZX-50

Игра для Ritmix RZX-50, порт под экран 480×272, выполненный мной. Автор игры — разработчик nzeemin.



Правила игры:
Игровое поле представляет собой сетку 9×9 клеток. За один ход компьютер выставляет в случайных клетках три шарика случайного цвета. Игрок, в свою очередь, должен составлять цепочки из пяти и более шариков. Цепочки считаются по вертикали, горизонтали и диагонали. Передвигать можно только один шарик и то, только если между новым и старым местом есть проход. Таковы базовые правила игры.

Читать далее Игра Color Lines для Ritmix RZX-50

Dev, Dingux

Карточная игра Durak для Ritmix RZX-50

На выходных портировал карточную игру Durak на Ritmix RZX-50.



Вывод изображения и координаты были переделаны под широкоформатный экран игровой консоли — 480×272. Добавлены звуки переключения карт. Автор игры — мой друг, использующий никнейм baat.

Читать далее Карточная игра Durak для Ritmix RZX-50

Dev, Dingux

Предварительный обзор портативной игровой консоли Ritmix RZX-50

Итак, несколько дней назад я получил долгожданный прототип от представителей известной в России компании Ritmix.



Первые впечатления немного противоречивы. Очень порадовало качество сборки самой консольки, её монолитность и расположение элементов. Материал — чёрный, прорезиненный Soft-touch пластик, какой раньше был в Motorola E398, только немного мягче. За счёт него устройство приятно держать в руках и выскользнуть ему проблематично. Слабая часть устройства — его программная начинка. Присутствуют небольшие проблемы с локализацией (хотя перевод Ritmix RZX-50 из коробки значительно лучше, чем таковой у Dingoo A320) и со стабильностью текущей прошивки.

Читать далее Предварительный обзор портативной игровой консоли Ritmix RZX-50

Dingux, Reviews

GPMark Multiplatform Benchmark — графический бенчмарк для SDL-платформ

Мой порт отличного бенчмарка для различных устройств, использующих графическую библиотеку SDL. Его автором является Optimus.



Бенчмарк включает в себя семь тестов:

  1. Blitting test — Заполняет видеопамять данными;
  2. Plasma test — Генерирует на экране решетку плазмы;
  3. Rotozoomer — Вывод спрайтов с дополнительными эффектами (поворот и масштабирование);
  4. Rotozoomer close up — Вывод спрайтов без кеширования, поворот;
  5. Rotozoomer far away — Вывод спрайтов с кешированием, поворот;
  6. Radial Blur — Радиальное размытие картинки;
  7. Heavy 3d bunny model — Рендеринг в реальном времени довольно тяжелой модели кролика, состоящей из 69451 полигонов.

Читать далее GPMark Multiplatform Benchmark — графический бенчмарк для SDL-платформ

Dev, Dingux, EZX, MotoMAGX, Others

Импорт 3D-моделей формата MD2 в движок Yeti 3D Pro

Импорт 3D-моделей формата MD2, использующихся в игре Quake II, в движок Yeti 3D Pro достаточно трудоёмкий процесс. Для создания 3D-моделей я использовал две программы: MilkShape 3D версии 1.7.6 и MD2 Viewer от самого автора движка Yeti 3D Pro.



Итак, рассмотрим создание простенькой 3D-модели мобильного телефона Motorola ZN5 в программе MilkShape 3D. Лично мне удобно пользоваться именно ей, но вы можете начать рисовать модельку в 3DS Max Studio 7, а затем перенести её в MilkShape 3D для дальнейшей обработки и конвертирования в формат MD2.

Читать далее Импорт 3D-моделей формата MD2 в движок Yeti 3D Pro

Dev, Dingux, Manuals, MotoMAGX