Автор Тема: [NES] Многоигровки с видами на море "Unchained Melody"  (Прочитано 57751 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн VEG

  • Пользователь
  • Сообщений: 130
    • Просмотр профиля
Ты бы выложил NSF отдельно, а?
Там в архиве есть NSF и NSFe на выбор, кому что нравится. Или имеется в виду в отдельном архиве? Если так, то не знаю, зачем оно в таком виде может понадобиться. Мне кажется, всё удобнее одним архивом скачать :)
« Последнее редактирование: 20 Июнь 2016, 10:54:10 от VEG »

Оффлайн ПАУК

  • Пользователь
  • Сообщений: 1543
  • Пол: Мужской
  • Ну-ка, от винта!
    • Steam
    • Youtube
    • Просмотр профиля
Unchained Nostalgia v1.3

  • Лучшая обработка быстрого переключения слайдов.
  • Ночью у птиц более тёмная палитра.
  • Другие незначительные улучшения в графике.
  • Исправлены незначительные ошибки в движке.
  • Музыка представлена в более компактном формате (занимает на 40% меньше места без потерь в качестве).
  • NSFe-файл встроен в демку, так что он может быть легко извлечён из ROM-файла.
  • Секретный режим управления Вселенной (только не говорите об этом санитарам).
  • Супер-секретный режим гордой птички со спецэффектами от легендарного Майкла Бэя.

Скачать: http://veg.by/files/nes/unchained_nostalgia.zip (20KB).
Страница проекта: http://veg.by/ru/projects/unchained/

На самом деле я сделал это ещё в марте 2015 года, точнее тут было даже гораздо больше изменений, но новые фишки вроде навороченных эффектов перехода между слайдами оказались достаточно спорными, поэтому сейчас я убрал всё лишнее и оставил только то, что не разрушает минимализм этой демки.

Круто :) А как секретные фишки включать?

Оффлайн VEG

  • Пользователь
  • Сообщений: 130
    • Просмотр профиля
Я надеюсь, что кто-нибудь сам догадается :) Там по идее можно и без отладчика догадаться.

Оффлайн Rikki-tikki-tavi

  • Пользователь
  • Сообщений: 1405
  • Пол: Мужской
    • Просмотр профиля
Там в архиве есть NSF и NSFe на выбор, кому что нравится. Или имеется в виду в отдельном архиве? Если так, то не знаю, зачем оно в таком виде может понадобиться. Мне кажется, всё удобнее одним архивом скачать :)
Не-не, то я сначала написал, а потом в архив полез. Спасибо. :)

Оффлайн black jaguar

  • Пользователь
  • Сообщений: 1865
    • Просмотр профиля
эту менюшку с графикой и музыкой сделали сами китайцы или стащили откуда-то?

Оффлайн VEG

  • Пользователь
  • Сообщений: 130
    • Просмотр профиля
эту менюшку с графикой и музыкой сделали сами китайцы или стащили откуда-то?
Судя по всему, сделали сами. Всё указывает на NTDEC из Тайваня. А потом уже пираты воровали её друг у друга. Там, судя по всему, много разных производителей потом делало картриджи с ворованными вариантами этой менюшки :) Последний известный и самый забавный вариант — это картридж с Симбой.



На самом деле это хак вот этого картриджа:



Причём хак достаточно грязный. В коде даже осталась половина фоновых картинок из Unchained Melody :)

Оффлайн VEG

  • Пользователь
  • Сообщений: 130
    • Просмотр профиля
Обновил архив. Там было два варианта входа в пасхалку, лишний я убрал. Это был ранний вариант, и я его забыл убрать после того, как сделал новый, более символичный вариант. Также в readme добавил подсказки :)

Оффлайн kosfess

  • Пользователь
  • Сообщений: 12
    • Просмотр профиля
Гордая птичка позабавила  :D

Оффлайн VEG

  • Пользователь
  • Сообщений: 130
    • Просмотр профиля
Перезалил архив. Исправил мелкий косяк с пасхалкой «управления» птичками: во время нажатия кнопок не срабатывала автоматическая смена слайда (если этот режим был включен). Если кто проверит на реальном железе, дайте знать, как оно там работает.

Оффлайн Rikki-tikki-tavi

  • Пользователь
  • Сообщений: 1405
  • Пол: Мужской
    • Просмотр профиля
Слушай, а ты не собираешься сделать две версии - такую, как сейчас и такую, как раньше была, без принудительного Денди-режима? Все равно в популярных эмулях этот режим можно установить, а так получается - выбора нет.

Оффлайн VEG

  • Пользователь
  • Сообщений: 130
    • Просмотр профиля
[NES] Многоигровки с видами на море "Unchained Melody"
« Ответ #100 : 22 Июнь 2016, 14:55:21 »
Ну это было сделано, чтобы и на реальном железе демка всегда проигрывалась с корректной скоростью.

На самом деле возможность отключения подстройки под приставку была реализована во время разработки. Включалось-выключалось по Select+↑ и Select+↓, выбранный вариант запоминался в battery backed памяти между перезапусками. Ещё была возможность выбора эффекта перехода между слайдами по Select+← и Select+→. Но потом я решил, что настройки — это уж слишком для демки =) Тем более, что они включались вот так неявно, и можно было не обратить внимание, что случайно выключил подстройку под приставку. Плюс эффекты требовали немало кода, из-за чего размер ROM-а приходилось увеличивать до 40 килобайт. Так что перед релизом я это вырезал.

Ещё под нож ушёл новый вариант ночного неба с Луной. Оно смотрелось хуже исходного варианта. Было немножко жалко, потому что новый участок неба с Луной я очень долго рисовал, там гораздо более сложные созвездия (скорпиона, змееносца и т.д.), но они не узнаваемы обычными людьми.

А на эффекты я вообще потратил уйму времени, собственно наверное поэтому так и задержался релиз — в марте 2015 я «посмотрел со стороны» на то, на что потратил несколько недель (пока разобрался в нужных частях архитектуры приставки, пока подготовил для этого движок и т.д.), и понял, что хоть эти эффекты и «вау», в общем они плохо вписываются в эту демку. Это демотивировало и проект ушёл на паузу. Тогда заняться вырезанием рука не поднялась :) Через год уже не так жалко было, так что вырезал за день перед релизом.

Есть ещё идея сделать меню настроек, вызываемое по Select, где в явном виде можно было бы выбрать какой набор картинок использовать, выбрать эффект и его скорость, автоматическую подстройку скорости воспроизведения, и даже выбор мелодии. Плюс я начал сочинять новый формат сжатия фоновых картинок со словарём (что-то типа LZ, но продуманное с учётом особенностей Dendy, для моментальной распаковки), чтобы в один 16-килобайтный банк можно было запихнуть много вариантов фоновых картинок. Но на такие кардинальные доработки сейчас у меня не будет времени. Так что может быть когда-нибудь в отдалённом будущем.

Правда, тут возникают свои вопросы. Например, если позволять выбирать мелодию, синхронизация картинок с музыкой тоже потребует переделки, и та же Summer Wine, возможно, не так хорошо впишется под существующие слайды, плюс это уже не сочетается с названием демки. Если делать вариант слайдов на базе ранних картриджей (с большим морем и маленьким небом), то тут не получится в полной мере разыграть фишку со складывающимся сердечком из облаков :) То есть подобные настройки, конечно, интересны — но вместе с этим исчезнет детальная проработанность, когда всё (почти) идеально подогнано одно под другое. И в результате возникает резонный вопрос, а стоит ли тратить время на такие спорные вещи :)

Делать 100500 вариантов одной и той же демки с разными вариантами одного и того же контента не хотелось бы. Я уверен в том, что должна быть одна единая и самая лучшая версия, чтобы не вводить людей в заблуждение :)
« Последнее редактирование: 22 Июнь 2016, 15:16:14 от VEG »

Оффлайн ПАУК

  • Пользователь
  • Сообщений: 1543
  • Пол: Мужской
  • Ну-ка, от винта!
    • Steam
    • Youtube
    • Просмотр профиля
[NES] Многоигровки с видами на море "Unchained Melody"
« Ответ #101 : 22 Июнь 2016, 15:37:04 »
Супер-секретный режим гордой птички со спецэффектами от легендарного Майкла Бэя.
А я просёк конами код :D

Это в каком-таком фильме гордая птичка срёт бомбами? Жалко, на людей гадить не получается :lol:
« Последнее редактирование: 22 Июнь 2016, 15:48:28 от ПАУК »

Оффлайн VEG

  • Пользователь
  • Сообщений: 130
    • Просмотр профиля
[NES] Многоигровки с видами на море "Unchained Melody"
« Ответ #102 : 22 Июнь 2016, 15:41:20 »
Майкл Бэй — это просто намёк на то, что там есть эффектные взрывы =)

Оффлайн ПАУК

  • Пользователь
  • Сообщений: 1543
  • Пол: Мужской
  • Ну-ка, от винта!
    • Steam
    • Youtube
    • Просмотр профиля
[NES] Многоигровки с видами на море "Unchained Melody"
« Ответ #103 : 22 Июнь 2016, 15:47:08 »
Секретный режим управления Вселенной (только не говорите об этом санитарам).
Про вселенную и санитаров не понял. Нашёл только управление птиц с первого пада. Со второго нельзя было сделать параллельное?

Оффлайн VEG

  • Пользователь
  • Сообщений: 130
    • Просмотр профиля
Под этим понимается обычный режим. Вы можете сами управлять временем (перелистывать слайды вперёд и назад, в обход автоматического перелистывания) и можете управлять обеими чайками (а это уже пасхалка). Возможно, описание этой пасхалки стоит изменить, раз возникают вопросы.

Добавлено позже:
Кстати, изначально идея была в том, чтобы этой маленькой птичкой отображать прогресс автоматического перелистывания слайдов (сколько ещё осталось), она пролетела экран — новый слайд, с возможностью регулировать скорость (типа нажал пару раз в одну сторону — и она полетела быстрее). Но получалось чрезмерно медленно, либо приходилось делать так, чтобы она летела с невероятной скоростью, что выглядело стрёмно. Вообще эта идея была записана в блокнотик ещё в 2013, тогда же появилась и идея сделать пасхалку с запуском «снаряда», но тогда эта идея показалась слишком сложной в реализации. Во время разработки версии 1.2 идея перелистывания слайдов синхронно с музыкой показалась более удачной, для чего понадобилось добавить 2 слайда. А идея самой маленькой птички была трансформирована в пасхалку. Не пропадать же добру =) В итоге и сама птичка — пасхалка, и её скрытые способности — тоже пасхалка =)
« Последнее редактирование: 22 Июнь 2016, 15:58:52 от VEG »

Оффлайн ПАУК

  • Пользователь
  • Сообщений: 1543
  • Пол: Мужской
  • Ну-ка, от винта!
    • Steam
    • Youtube
    • Просмотр профиля
[NES] Многоигровки с видами на море "Unchained Melody"
« Ответ #105 : 22 Июнь 2016, 16:22:35 »
Взорвал жёлтую птичку вместе с белой, и время остановилось. Другой белой птичкой управлять нельзя. Селект+Старт не помогает, ничего не помогает.

Оффлайн Rikki-tikki-tavi

  • Пользователь
  • Сообщений: 1405
  • Пол: Мужской
    • Просмотр профиля
[NES] Многоигровки с видами на море "Unchained Melody"
« Ответ #106 : 22 Июнь 2016, 16:24:09 »
Жесть. Там к версии 1.7 уже прокачка и сюжет будет.

Оффлайн VEG

  • Пользователь
  • Сообщений: 130
    • Просмотр профиля
[NES] Многоигровки с видами на море "Unchained Melody"
« Ответ #107 : 22 Июнь 2016, 16:31:54 »
Со второго нельзя было сделать параллельное?
Тоже была идея задействовать второй геймпад и даже сделать мини-игру. Правда, мне кажется, что она вышла бы унылой.
На самом деле в файле заметок несколько десятков идей «чего можно было бы сделать» наберётся по этому проекту. Ведь как оно обычно бывает... Одну идею реализуешь — вычёркиваешь одну из списка и добавляешь на её место ещё минимум 2 или 3.

Взорвал жёлтую птичку вместе с белой, и время остановилось. Другой белой птичкой управлять нельзя. Селшект+Старт не помогает.
Это не ошибка. Демка остаётся в том режиме, в котором она и была. Был вариант в таком случае автоматом возвращать обычный режим, но в таком случае как бы появляется возможность «призвать» ещё одну маленькую птичку. Ощущение «безысходности» ситуации будет разрушено. Был ещё вариант в этом случае показать надпись GAME OVER :) Но я решил, что лёгкой фрустрации от невозможности что-либо поделать будет достаточно (было бы круто ещё и музыку приглушать в этом случае). Надо беречь свою птичку =)

То что свою птичку можно потерять — не случайность. Я специально писал код, чтобы другие объекты, попавшие в область взрыва, тоже взрывались. То есть технически можно одной бомбочкой взорвать сразу 2 вражеские птички и себя заодно =)
« Последнее редактирование: 22 Июнь 2016, 17:01:40 от VEG »

Оффлайн Rikki-tikki-tavi

  • Пользователь
  • Сообщений: 1405
  • Пол: Мужской
    • Просмотр профиля
[NES] Многоигровки с видами на море "Unchained Melody"
« Ответ #108 : 22 Июнь 2016, 16:38:11 »
Кстати, здорово было бы в мануал добавить контролс, хотя бы наименее секретные.
P.S. Сравнил с немодифицированной менюшкой - "Денди" версия таки здорово "заикается" - видимо, такты не одинаковой длины и это лучше заметно на пониженной скорости.
Т.е. ты так сделал, чтобы на НЕСах можно было запустить медленно, как на Денди, правильно?
« Последнее редактирование: 22 Июнь 2016, 16:47:19 от Rikki-tikki-tavi »

Оффлайн VEG

  • Пользователь
  • Сообщений: 130
    • Просмотр профиля
[NES] Многоигровки с видами на море
« Ответ #109 : 22 Июнь 2016, 16:39:33 »
Я когда обновлял архив добавил там явное указание на управление обычными птицами и намёк про Konami Code.

Добавлено позже:
Сравнил с немодифицированной менюшкой - "Денди" версия таки здорово "заикается" - видимо, такты не одинаковой длины и это лучше заметно на пониженной скорости. Т.е. ты так сделал, чтобы на НЕСах можно было запустить медленно, как на Денди, правильно?
Я это сделал, чтобы во всех случаях демка работала примерно одинаково, близко к тому, как она работала бы на Dendy, с нормальной скоростью и высотой звука.

Если демка определяет, что запущена на Dendy, то никаких модификаций не вносится. Если демка определяет, что запущена на NTSC, то для снижения частоты смены кадров с 60 до 50 герц пропускается каждый 6 кадр, то есть да, каждый 5-й тик в два раза длиннее обычного, но это всего 16мс, на слух не должно быть различимо (если не замедлять). Звук на это время никуда не девается. Это влияет только на то, как скоро начнёт проигрываться очередная нота. Если же демка определяет, что запущена на PAL, то она использует другую таблицу периодов нот. Поскольку Dendy была гибридом, там частота кадров была как в PAL, а вот высота звука — как в NTSC. Поэтому и понадобились такие пляски.

Увы, но сделать идеально тут не получится. Нужно считаться с ограничениями. Идею пропуска каждого 6 кадра для NTSC подглядел в играх у Shiru. Там оно работало отлично, поэтому и я применил такой метод :)

Добавлено позже:
Есть ещё вариант в случае с NTSC увеличивать на 20% задержки в самих музыкальных данных. Тогда такты будут ровными. Но из-за округлений, которых тут не избежать, в значения самих задержек попадут небольшие неточности. Например, если задержка 1 кадр, и мы добавляем 20% — получаем тот же 1 кадр, то есть на 3мс меньше нужного. В реальности там задержки всегда достаточно большие, так что, возможно, результат может быть лучше. Но тут эта погрешность будет накапливаться, и это отдельная проблема, потому что нужно будет следить, чтобы разные каналы не рассинхронизировались. Запишу идею в заметки, может быть когда-нибудь попробую реализовать, даже интересно стало :)

Добавлено позже:
"Денди" версия таки здорово "заикается"
Не могли бы вы характер этого «заикания» описать? Может это у вас эмуляция подлагивает немного? Эмуляторы ведь тоже неидеальны. Попробуйте послушать несколько раз подряд, с перезапуском демки. Если где-то «заикается» из-за кода демки, то при каждом перезапуске музыка должна заикаться ровно в тех же местах, где заикалась и при предыдущем запуске.
« Последнее редактирование: 22 Июнь 2016, 19:18:44 от VEG »

Оффлайн Eugen

  • Пользователь
  • Сообщений: 859
  • Пол: Мужской
    • Просмотр профиля
[NES] Многоигровки с видами на море "Unchained Melody"
« Ответ #110 : 23 Июнь 2016, 21:41:30 »
Последний известный и самый забавный вариант — это картридж с Симбой.




О! Вот такой шел с моим Сюбором (без клавиатуры), купленным в 2001 году (я новый ньюфаг, так что...) А что за мелодия там была-то? Точно не анчейнд же.

Оффлайн VEG

  • Пользователь
  • Сообщений: 130
    • Просмотр профиля
[NES] Многоигровки с видами на море "Unchained Melody"
« Ответ #111 : 23 Июнь 2016, 22:52:27 »
Там был кавер на "Can You Feel the Love Tonight" Элтона Джона, если мне память не изменяет.

Оффлайн VEG

  • Пользователь
  • Сообщений: 130
    • Просмотр профиля
[NES] Многоигровки с видами на море "Unchained Melody"
« Ответ #112 : 11 Июль 2016, 10:47:34 »
Из интернетов :)




Картридж явно не имеет отношения к серии Unchained Melody, но мотивчик с морем и солнцем имеется =)

Оффлайн x.GREYSON.x

  • Пользователь
  • Сообщений: 532
  • Пол: Мужской
  • Электролыбка
    • ВКонтакте
    • Youtube
    • Просмотр профиля
[NES] Многоигровки с видами на море "Unchained Melody"
« Ответ #113 : 11 Июль 2016, 17:59:57 »
Редкий навверное

Оффлайн CaH4e3

  • Пользователь
  • Сообщений: 3588
    • Twitter
    • Просмотр профиля
[NES] Многоигровки с видами на море "Unchained Melody"
« Ответ #114 : 11 Июль 2016, 20:45:11 »
Редкое г****но

Оффлайн VEG

  • Пользователь
  • Сообщений: 130
    • Просмотр профиля
[NES] Многоигровки с видами на море \"Unchained Melody\"
« Ответ #115 : 09 Октябрь 2016, 01:02:44 »
Вот читаю я спецификацию заголовка NES 2.0, который поддерживается в новом FCEUX, а там, оказывается, так и не ввели отдельный флаг для режима Dendy. Он бы был весьма кстати для демки.


Добавлено позже:
если нужен сам картридж, то обменяю на что-нить.
если только дамп, а карик обратно придет, то за ваши деньги (ну или за того, кому больше надо).
А сколько примерно стоит пересылка картриджа туда-сюда?

Оффлайн ww

  • Emu-Land Team
  • Сообщений: 3912
  • Пол: Мужской
    • ВКонтакте
    • Youtube
    • Просмотр профиля
[NES] Многоигровки с видами на море "Unchained Melody"
« Ответ #116 : 10 Октябрь 2016, 03:10:56 »
Вот читаю я спецификацию заголовка NES 2.0, который поддерживается в новом FCEUX, а там, оказывается, так и не ввели отдельный флаг для режима Dendy. Он бы был весьма кстати для демки.


Добавлено позже:А сколько примерно стоит пересылка картриджа туда-сюда?
Санчез же дал понять, что ему пофиг. Ему не денег жалко, а лень идти на почту потом. Ну и он писал, что нашел где-то такой же...

Оффлайн VEG

  • Пользователь
  • Сообщений: 130
    • Просмотр профиля
[NES] Многоигровки с видами на море "Unchained Melody"
« Ответ #117 : 11 Октябрь 2016, 16:36:15 »
Ну и он писал, что нашел где-то такой же...
Так может быть у нас скоро будет новый дамп?  :wow:

Кстати, есть интересный экземплярчик, судя по всему. Вот эта стрёмная приставка Pro Tech XL 39-in-1 (да, джойстик — это и пистолет, и подключается напрямую в телик):


Поставляется с таким вот меню (фотки с ebay):







Инфа на bootleggames:
http://bootleggames.wikia.com/wiki/Unchained_Melody_Multicarts#Pro_Tech_XL_39-in-1

По скриншотам видно, что меню не статичное — ласточки летают. Но кадр только один. Шрифт совсем другой. В целом похоже, что скорее всего просто сильно переделанное оригинальное меню. Но возможно, что и с нуля написали похожее. Но это вряд ли. Обычно в таком случае не заморачиваются и не делают ласточек. Просто берут статичный фон и иногда музычку в урезанном варианте.

Никто не видел дампа этого счастья?

Оффлайн VEG

  • Пользователь
  • Сообщений: 130
    • Просмотр профиля
[NES] Многоигровки с видами на море Unchained Melody
« Ответ #118 : 12 Октябрь 2016, 08:49:32 »
Пару человек раньше писало мне, что музыка в демке «плавает». Я всё никак не мог понять о чём речь, ведь у меня в FCEUX всё звучало отлично. Давным-давно пробовал запускать и в Nintendulator — работало неидеально, но я решил, что это просто производительности компьютера не хватает для нормальной работы этого эмулятора. Но сегодня стукнуло проверить ещё раз, да ещё и сравнить с оригиналом, включив режим Dendy, где всё должно быть идентично с оригинальной менюшкой, ведь адаптация скорости и высоты тона тут не активируются. Каково же было моё удивление, когда я обнаружил, что в оригинальном меню звук не «плавает», а в моей демке — «плавает»! Причём проявилось это в версии 1.3, а до этого было всё ок, судя по этому эмулятору.

Блин. Надо разбираться.

Добавлено позже:
Как хорошо, что я большой любитель сохранять все возможные промежуточные версии в репозитории :)

В общем, проблема появилась между 1 марта 2015 и 3 марта 2015, в ревизии вот с таким незамысловатым комментарием:
Global refactoring, new palette engine, bkg/sprite scrolling ability (work in progress, two days of hard work)
То есть там очень много изменений, сделанных «на одном дыхании», и теперь надо всё перепроверить.

Как жаль, что я это только сейчас обнаружил, ведь текущую кривую версию скачало так много людей... :(

Добавлено позже:
Так. Код, из-за которого появилась проблема, выявлен. Я добавил проверку флага sprite overflow для того, чтобы определить, нужно ли выводить спрайты в обратном порядке в случае, если на одну линию попало больше 8 спрайтов. Во время wait_nmi оно попутно читает из PPUSTATUS ($2002) и смотрит пятый бит, и если вдруг он становится единицей, то меняет направление вывода спрайтов на следующем кадре установкой специальной переменной. Ирония в том, что я сделал это просто для красоты, чтобы OAM таблица при просмотре в отладчике памяти выглядела красивше, когда на одной линии нет больше 8 спрайтов. Удобно наблюдать когда каждый спрайт находится в своём фиксированном месте в памяти каждый кадр. По сути дела переполнение случается только во время взрывов внутри пасхалки, а при обычном просмотре такого не бывает (максимум 6 спрайтов на линии). До этого оно каждый кадр просто выводило спрайты то в одном направлении, то в другом.

Правда, почему именно этот код вызывает такую проблему с непонятными лагами всё равно не ясно. Нужно разбираться.
« Последнее редактирование: 12 Октябрь 2016, 10:44:34 от VEG »

Оффлайн VEG

  • Пользователь
  • Сообщений: 130
    • Просмотр профиля
[NES] Многоигровки с видами на море "Unchained Melody"
« Ответ #119 : 12 Октябрь 2016, 16:14:29 »
В общем длинные исследования привели к выводу и доказательству того, что опрос PPUSTATUS ($2002) в цикле каким-то непонятным образом предотвращает вызов NMI, в большинстве случаев это случается иногда (в демке это выглядит как периодическое замедление музыки), но можно подобрать условия, когда NMI вообще не будет никогда вызываться, чего не может быть исходя из документации.

Проблема проявляется на Nintendulator, puNES и Nestopia. В FCEUX эта проблема не наблюдается. Скорее всего в реальном железе эта проблема будет наблюдаться, потому что я получал от тестировавших на реальном железе отзывы, что музыка «плавает», но я тогда решил, что у людей просто чрезмерно музыкальный слух и они придираются.

Создал тему на nesdev, может кто сможет объяснить причину. В принципе, без ущерба демке я могу легко избавиться от этого эффекта, но просто интересно, почему так происходит. Тем более, если точные эмуляторы это поведение повторяют, значит поведение известно в каких-то узких кругах.