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

Категория, содержащая различные информационные заметки или посты об интересных проектах.

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

Установка MinGW/MSYS и настройка окружения для разработчика

Наверное, многие разработчики сталкивались с проблемой выбора или создания окружения для программирования. На мой взгляд, бесплатное окружение на основе порта компилятора gcc (MinGW) и какая-нибудь IDE, совместимая с ним — наиболее приемлемый выбор.
В этой статье я рассмотрю установку компилятора, его интеграцию с интегрированной средой разработки, его настройку, установку и компиляцию сторонних библиотек. Рассмотрю некоторые полезные утилиты для облегчения сборки исходного кода и системы контроля версий файлов.
Статья со временем будет обновляться и дополняться.


MinGW/MSYS и QtCreator

Данный мануал создавался с целью быть пособием и заметкой для разработчиков, помочь им собрать и настроить собственное окружение для разработки нативных приложений в семействе OS Windows.

Читать далее Установка MinGW/MSYS и настройка окружения для разработчика

Dev, Manuals, 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

Попытка портирования kLib на Motorola ZN5

Попробовал собрать интерфейсную библиотеку kLib из kInterface от -=Strelok=- для Motorola ZN5. Результаты оказались положительными, но, к сожалению, многое пока не работает.



А что работает — немного лагает. Но скриншотом полюбоваться уже можно.

Dev, MotoMAGX, Others

Открыт исходный код kInterface!

Недавно программист Влад Колертс, известный ещё под ником -=Strelok=-, открыл исходный код kInterface и ещё некоторых приложений-сателлитов:

  • kRepoz — Клиент для онлайн-репозиториев, когда-то я портировал его на Motorola ZN5;
  • rokrArc — Архиватор;
  • TReader — Читалка текстов;
  • PicView — Просмотрщик изображений;
  • kLib — Библиотека элементов интерфейса.



Напоминаю, что kInterface — это кастомный интерфейс для Motorola ROKR E2, обладающий весьма интересными возможностями, красивой анимацией и оформлением. Теперь, когда его исходники открыты, возможны порты этого интерфейса на такие девайсы, как Motorola ZN5, Z6, E8, EM30 и другие.

Читать далее Открыт исходный код kInterface!

Dev, EZX, MotoMAGX

Разгоняем Motorola ZN5: CPU Overclocking! @ 798/665 MHz

На днях поковырялся в ядре Linux от своего старого Motorola ZN5 и немного повысил частоту работы процессора. В целом, производительность устройства заметно увеличилась. Это можно судить по тестам из бенчмарка GPMark:



Слева направо: 532 MHz, 665 MHz и 798 MHz.

После поднятия частоты аппарат начал быстрее работать в некоторых меню, но, к сожалению, разгон процессора конечно же не помог полностью избавиться от глюков и подвисаний нашей Qt-оболочки. Телефон нормально запускается и работает на 798 MHz у меня уже примерно две недели. 798 MHz лишь заменяет 532 MHz при нагрузке, поэтому все утилиты типа zCpu, aiCPU и другие должны работать.

Читать далее Разгоняем Motorola ZN5: CPU Overclocking! @ 798/665 MHz

Dev, Manuals, MotoMAGX

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

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



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

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

Dev, Dingux

Sand для Android OS

Мой небольшой порт игры с песком на Android OS, успокаивающей нервы. Ранее я уже портировал эту игру на платформу MotoMAGX.



Авторы: Carl Fredrik Hammar (hammy_lite), Russell Turner, Thomas Rene Sidor.
Спасибо: mamaich (SDL-библиотека), Gangster41, Lubomyr, rock88 (помощь), Claus398 (иконка приложения).

Читать далее Sand для Android OS

Android, Dev