Skip to content

Repository files navigation

English version · История изменений

Bounce Zero

Порт оригинальной игры Bounce (2002, Java/Sun для Nokia 7210) на платформу PlayStation Portable (PSP).
Игровая логика полностью переписана на C, при этом используются только оригинальные игровые ассеты из версии для телефонов Nokia.
Проект создан в исследовательских целях, без модификации контента.

Скриншоты

Первый экран BOUN01179_00000 Главное меню/меню паузы BOUN01179_00001 Первый уровень с HUD BOUN01179_00002 Выбор уровней BOUN01179_00003 Третий уровень BOUN01179_00004

Особенности

  • Полная переимплементация игрового цикла и физики
  • Чтение и использование оригинальных игровых данных из JAR-версии Bounce 2002:
    • файлы уровней 001-011: реализован парсер формата J2ME-уровней, с предзагрузкой/кэшированием
    • текстуры PNG: собственный загрузчик на stb_image с размещением текстур в VRAM
    • файлы звуков OTT: реализован парсер RTTTL/OTT и генерация PCM в реальном времени
    • lang-файлы: реализован парсер локализации с выбором языка по системному языку PSP (с fallback на lang.xx)
    • шрифты Nokia 7210 (9, 12, 16, 23, 24): извлечены из FONT.xml и упакованы в бинарный формат CBMF (T4-nibble); рендеринг через GU_PSM_T4 + CLUT на PSP GU
    • возможность выбрать уровень (1-11)
    • система сейвов через Sony PSP Savedata Utility (DATA.BIN, SCE_UTILITY_SAVEDATA_*)
  • Совместимость с реальным устройством PSP и эмулятором PPSSPP

Недостатки, недоработки

  • таймер физики в оригинале 33 кадра, в этом порте - 30 кадров - исправлено в 1.1
  • шрифт рендерился попиксельно без аппаратного ускорения - исправлено в 1.2 (переход на CBMF + PSP GU T4/CLUT)
  • мимнимальные расхождения физики, не влияющие на геймплей, будт поправлены в новой версии - исправлено в 1.1

Чит-коды

  • Во время игры: L + R (нажать L, удерживая R) - переключает режим бессмертия.
  • Эффект: мяч не лопается от опасностей (в pop_ball() срабатывает ранний return).
  • При переключении проигрывается звуковой сигнал.

Сборка

Необходим PSP SDK (pspdev). После установки:

make

Собранный файл EBOOT.PBP появится в каталоге release/.

Запуск

Скопируйте содержимое папки release/ на карту памяти PSP:

/PSP/GAME/BounceZero/

или откройте EBOOT.PBP через эмулятор PPSSPP.

Совместимость

  • PlayStation Portable 6.00 и выше
  • Эмулятор PPSSPP

Лицензия

Исходный код распространяется под лицензией MIT.
Все оригинальные материалы (Bounce, 2002) принадлежат Nokia и/или Sun Microsystems и используются исключительно в исследовательских целях.

Об эксперименте

Весь исходный код написан с использованием модели Claude AI в рамках эксперимента по vibe-coding — записание полноценного проекта на основе описаний поведения и логики, без ручного программирования.

About

Reverse-engineered PSP port of Nokia’s 2002 Java ME game "Bounce", uses only original data files.

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages