Автор Тема: [NES] Prince of Persia Level editor  (Прочитано 63837 раз)

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

Оффлайн Sprill

  • Пользователь
  • Сообщений: 896
  • Пол: Мужской
  • Вескер никогда не снимает свои очки.
    • Просмотр профиля
Re: [NES] Prince of Persia Level editor
« Ответ #60 : 04 Июль 2013, 15:20:36 »
Кстати, вот кое-что ещё: когда проходишь уровень, энергии остается только 5 ударов.
« Последнее редактирование: 04 Июль 2013, 15:27:23 от Sprill »

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

  • Пользователь
  • Сообщений: 493
  • Пол: Мужской
  • Электролыбка
    • Просмотр профиля
Re: [NES] Prince of Persia Level editor
« Ответ #61 : 04 Июль 2013, 19:44:42 »
Подрисуй к тайлам значки их разницы. Для примера с бутылками.

Оффлайн ALXR

  • Пользователь
  • Сообщений: 322
    • Просмотр профиля
Re: [NES] Prince of Persia Level editor
« Ответ #62 : 09 Июль 2013, 14:59:56 »
Кстати, вот кое-что ещё: когда проходишь уровень, энергии остается только 5 ударов.

На каждом уровне задается свое количество здоровья. Возможно, на следующем после пройденного, установлено 5 hp (или я не понял о чем речь).

x.GREYSON.x
Я про это не забыл :) Там возникла сложность - тайлы используют неправильную палитру, и их надо будет полностью пересоздать.

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

Оффлайн Sprill

  • Пользователь
  • Сообщений: 896
  • Пол: Мужской
  • Вескер никогда не снимает свои очки.
    • Просмотр профиля
Re: [NES] Prince of Persia Level editor
« Ответ #63 : 09 Июль 2013, 17:36:56 »
На каждом уровне задается свое количество здоровья. Возможно, на следующем после пройденного, установлено 5 hp (или я не понял о чем речь).
Да. Например, у тебя 8 hp, но стоит только пройти уровень, как у тебя снова будет 5 hp.

Оффлайн ALXR

  • Пользователь
  • Сообщений: 322
    • Просмотр профиля
Re: [NES] Prince of Persia Level editor
« Ответ #64 : 09 Июль 2013, 19:23:46 »
Да. Например, у тебя 8 hp, но стоит только пройти уровень, как у тебя снова будет 5 hp.

Покажешь видео?

ps: Пока приступил к возможности управления двойником. Получился такой минихак. :)
« Последнее редактирование: 10 Июль 2013, 02:19:10 от ALXR »

Оффлайн Sprill

  • Пользователь
  • Сообщений: 896
  • Пол: Мужской
  • Вескер никогда не снимает свои очки.
    • Просмотр профиля
Re: [NES] Prince of Persia Level editor
« Ответ #65 : 10 Июль 2013, 19:25:41 »
Покажешь видео?
Вот http://rghost.ru/private/47333500/ab0ae4c0727813e269902f3e497b7ff8
Пока приступил к возможности управления двойником. Получился такой минихак. :)
Интересно.

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

  • Пользователь
  • Сообщений: 493
  • Пол: Мужской
  • Электролыбка
    • Просмотр профиля
Re: [NES] Prince of Persia Level editor
« Ответ #66 : 10 Июль 2013, 19:30:42 »
Цитата
Да. Например, у тебя 8 hp, но стоит только пройти уровень, как у тебя снова будет 5 hp.
У меня все нормально с кол-ом жизней.
Проблема с отрисовкой скелетов (декор). Шипы рядом с толстой колонной. Палитра стражей и меча. Были еще классные глюки, но это лучше видюху выложу потом

Оффлайн ALXR

  • Пользователь
  • Сообщений: 322
    • Просмотр профиля
Re: [NES] Prince of Persia Level editor
« Ответ #67 : 12 Июль 2013, 19:44:37 »
Вот http://rghost.ru/private/47333500/ab0ae4c0727813e269902f3e497b7ff8
Так, может, во втором уровне у тебя выставлено 4 hp, вот и отображается 4. Или в 1-ом ты набрал до 8 hp, а не в редакторе выставил?
Интересно.
Почти готова версия, в которой можно редактировать палитру и действия двойника в любой комнате любого уровня (редактировать уже вшитые в игру действия двойника будет нельзя).



Оффлайн ПАУК

  • Пользователь
  • Сообщений: 1417
  • Пол: Мужской
  • Ну-ка, от винта!
    • Steam
    • Youtube
    • Просмотр профиля
Re: [NES] Prince of Persia Level editor
« Ответ #68 : 12 Июль 2013, 21:23:35 »
Ребят, кто будет делать хак, не вставляйте, пжл, всяких ядовитых кувшинов. Терпеть их не могу с детства(((

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

  • Пользователь
  • Сообщений: 493
  • Пол: Мужской
  • Электролыбка
    • Просмотр профиля
Re: [NES] Prince of Persia Level editor
« Ответ #69 : 12 Июль 2013, 23:16:36 »
Цитата
Ребят, кто будет делать хак, не вставляйте, пжл, всяких ядовитых кувшинов. Терпеть их не могу с детства(((
:D ;)

Оффлайн ALXR

  • Пользователь
  • Сообщений: 322
    • Просмотр профиля
Re: [NES] Prince of Persia Level editor
« Ответ #70 : 13 Июль 2013, 00:37:09 »
Ну и наконец готова версия 1.0.5  :wow:

Пришлось повозиться, допилить немного движок, и в итоге двойником можно управлять (точнее задавать для него новые локации и действия).
Но в патче есть определенные ограничения:
* Двойник не может взаимодействовать ни с какими объектами в комнате (т.е. может бегать через стены, не может нажать на кнопки), как призрак;
* Двойника не следует ставить в комнаты, где есть стражники, или где уже предусмотрен двойник самой игрой, иначе у движка оторвет чердак;
* Редактировать действия двойника, предусмотренные в игре изначально, вобщем-то, нельзя, т.к. там полный хардкод и редактировать, в сущности нечего.

О том, почему двойник не может взаимодействовать с объектами в комнате: по сути это просто спрайт, который действует по заданному наперед алгоритму. Те действия, которые выполняет двойник в оригинальной игре, они имитируются по определенному условию (как то, выпить зелье в 5 уровне или нажать на кнопку в 6 уровне). Гипотетически в патч можно вмонтировать проверки, по которым производить имитацию нажатия кнопки или взятие бутылки, но для этого надо найти прилично места в загрузочном банке (его там с гулькин клюй). Посему, надо будет патчить код загрузочного банка, переносить его в новые банки и тогда можно будет уже продолжить патч. Но, пока это не сильно актуально.

Редактор действий двойника, вообще говоря, не очень удачный и не сразу поддающийся пониманию, но... пока так. :) Может придумаю что попроще.

На тему редактора палитры: тайлы в редакторе несколько не соответствуют реальной палитре, поэтому при изменении цветов, уровень будет рисоваться не совсем так, как должен. Для этого надо переделать все тайлы. Это уже графические недочеты, которые доделаю со дня на день.

В версию 1.0.6, скорее всего, ничего нового не войдет, разве что только переделанные тайлы.

Оффлайн Sprill

  • Пользователь
  • Сообщений: 896
  • Пол: Мужской
  • Вескер никогда не снимает свои очки.
    • Просмотр профиля
Re: [NES] Prince of Persia Level editor
« Ответ #71 : 13 Июль 2013, 01:48:33 »
Так, может, во втором уровне у тебя выставлено 4 hp, вот и отображается 4.
Да, я ошибся. Извиняюсь. :blush: Забыл посмотреть, что на каждом уровней своя энергия.

Оффлайн ALXR

  • Пользователь
  • Сообщений: 322
    • Просмотр профиля
Re: [NES] Prince of Persia Level editor
« Ответ #72 : 17 Июль 2013, 00:35:16 »
Обновил до 1.0.5.1. Теперь двойник может нажимать на кнопки и (опционально) появляться только в случае открытого выхода.
В патченой версии есть две проблемы:
1. См. скриншот (кое-какие данные пришлось затереть новым кодом, но это поправимо);
2. Если принц стоит на кнопке (или стоит за столбами) и при этом появляется двойник, то игра крашится (пока не знаю как исправить. С двойником из оригинального кода таких проблем нет).


Добавлено позже:
Все баги поправлены (релиз будет на днях).
Получился такой мини-квест в первом уровне. Предлагаю попробовать. :)
« Последнее редактирование: 17 Июль 2013, 23:38:33 от ALXR »

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

  • Пользователь
  • Сообщений: 493
  • Пол: Мужской
  • Электролыбка
    • Просмотр профиля
Re: [NES] Prince of Persia Level editor
« Ответ #73 : 18 Июль 2013, 19:41:12 »
А вот мой мини-хак от 1.0.5 (в цвете). Присутствуют специально-сделанные глюки =)))

Оффлайн ALXR

  • Пользователь
  • Сообщений: 322
    • Просмотр профиля
Re: [NES] Prince of Persia Level editor
« Ответ #74 : 19 Июль 2013, 19:23:59 »
Ну вот и почти закончен редактор. Осталось выловить баги (если таковые есть) и более ничего изменять не планирую.
С патчем, позволяющим управлять двойником, в игру можно добавить элементы квеста (например, пока принц не выпьет зелье в одном конце уровня, в другом конце уровня не появится двойник, который нажмет кнопку открытия выхода, до которой не достанет сам принц. Ну это как частный случай).
Поясню, что за Event type в диалоге 'Wait for event' редактора поведения двойника: Opening/Closing door - объяснять не требуется, думаю :) Other: упавшая плита (можно использовать координаты мест - откуда она упала и куда упала), выпитое зелье, взятый меч. Т.е. как только в указанном месте произойдет ожидаемое событие, появляется двойник и выполняет определенные действия. Действия он может выполнять такие: нажать на кнопку, перейти в другой уровень (при этом и принц перемещается в другой уровень), умереть :) Другим действиям я его не научил, да и думаю, не нужно.


При отрисовке уровня есть небольшая проблема: если изменить цвет фона в палитре (цвет №17), то отрисовка пострадает (исправлю чуть позже).

Ну а сейчас можно делать полноценные хаки. Полнофункциональный патч находится только в версии 1.0.7. При редактировании ромов от редакторов других версий функциональность будет неполной.

Чуть позже попробую слепить свой хак :)

x.GREYSON.x, NES-овский шрифт оказался слишком крупным и номер комнаты закрывает слишком большую площадь, поэтому от него отказался. :(

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

  • Пользователь
  • Сообщений: 493
  • Пол: Мужской
  • Электролыбка
    • Просмотр профиля
Re: [NES] Prince of Persia Level editor
« Ответ #75 : 19 Июль 2013, 21:49:06 »
Цитата
Осталось выловить баги (если таковые есть)
Есть. Изображения стрелок на кнопках было лучше. Палитра 1 и 6 одинаковые. Цвета принца и бутылки совпадают.

Оффлайн ALXR

  • Пользователь
  • Сообщений: 322
    • Просмотр профиля
Re: [NES] Prince of Persia Level editor
« Ответ #76 : 19 Июль 2013, 22:52:24 »
Есть. Изображения стрелок на кнопках было лучше. Палитра 1 и 6 одинаковые. Цвета принца и бутылки совпадают.
1 и 6 - да, совпадают. Поинтеры ведут на одну и ту же палитру.  Но, поскольку, массив поинтеров указывает на другой массив поинтеров, который уже указывает на палитру, поинтер во втором списке можно поменять (но в редакторе не предусмотрено).
Цвета принца, вообще говоря, не меняются, потому что это обычный битмап, не привязанный к палитре никак, потому они не могут совпадать в редакторе. :) А в игре могут, но это не бага, а разработчики игры так решили... По поводу стрелок: если хочешь, скину raw-битмап тайлов, а потом, отредактированный вернешь?

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

  • Пользователь
  • Сообщений: 493
  • Пол: Мужской
  • Электролыбка
    • Просмотр профиля
Re: [NES] Prince of Persia Level editor
« Ответ #77 : 20 Июль 2013, 14:32:12 »
Давай. Попробую отредактить.

Оффлайн ALXR

  • Пользователь
  • Сообщений: 322
    • Просмотр профиля
Re: [NES] Prince of Persia Level editor
« Ответ #78 : 20 Июль 2013, 22:02:42 »
Цвета странные, но это нужно для кодировщика. Другие цвета (кроме тех, что есть) использовать нельзя.

Оффлайн opr

  • Пользователь
  • Сообщений: 185
    • Просмотр профиля
Re: [NES] Prince of Persia Level editor
« Ответ #79 : 09 Сентябрь 2013, 13:14:21 »
хотел бы поблагодарить автора этого замечательного редактора о котором я так давно мечтал и проверял время от времени его наличие в нете. Каково же было мое изумление, когда я - таки обнаружил, что редактор написан. Большое Вам спасибо за ваш титанический труд )))) Так же хочу спросить. Так как я в технической части прог не оч силен, подскажите, эти баги, которые встречаются по ходу редактирования уровня, например, скелет иногда отображается частично с мусором, выпитые бутылочки остаются на месте(исчезают только те, которые стоят на фоне кирпичного фона и большие кувшины), нельзя слезть с кнопки вниз, возле решетки нельзя обваливать,плиты, нажимать кнопки и т.д, те комнаты, слева от которых соседних комнат нет, тоже отображают мусор или левые спрайты на левой стене, хотя я специально создал комнату полностью заставленную блоками и в редакторе указал ее, как стороны для отображения... - это можно как то исправить? Если это как-то зависит от версии игры, которую редактируешь, то какую версию лучше использовать? Спасибо.

Оффлайн Yoti

  • Пользователь
  • Сообщений: 3620
  • Пол: Мужской
  • Не тро-гай ме-ня
    • Steam
    • Просмотр профиля
Re: [NES] Prince of Persia Level editor
« Ответ #80 : 09 Сентябрь 2013, 18:11:59 »
ALXR,

Оффлайн opr

  • Пользователь
  • Сообщений: 185
    • Просмотр профиля
Re: [NES] Prince of Persia Level editor
« Ответ #81 : 09 Сентябрь 2013, 23:27:18 »
графика страдает сильно)

Оффлайн ALXR

  • Пользователь
  • Сообщений: 322
    • Просмотр профиля
Re: [NES] Prince of Persia Level editor
« Ответ #82 : 12 Сентябрь 2013, 14:53:22 »
хотел бы поблагодарить автора этого замечательного редактора о котором я так давно мечтал и проверял время от времени его наличие в нете. Каково же было мое изумление, когда я - таки обнаружил, что редактор написан. Большое Вам спасибо за ваш титанический труд )))) Так же хочу спросить. Так как я в технической части прог не оч силен, подскажите, эти баги, которые встречаются по ходу редактирования уровня, например, скелет иногда отображается частично с мусором, выпитые бутылочки остаются на месте(исчезают только те, которые стоят на фоне кирпичного фона и большие кувшины), нельзя слезть с кнопки вниз, возле решетки нельзя обваливать,плиты, нажимать кнопки и т.д, те комнаты, слева от которых соседних комнат нет, тоже отображают мусор или левые спрайты на левой стене, хотя я специально создал комнату полностью заставленную блоками и в редакторе указал ее, как стороны для отображения... - это можно как то исправить? Если это как-то зависит от версии игры, которую редактируешь, то какую версию лучше использовать? Спасибо.

Я рад, что вам понравился редактор. :)
Относительно версии игры скажу, что во всех версиях движок одинаковый, поэтому подобные вещи будут встречаться везде.
Ну а относительно всего остального: да, движок имеет ограничения, поэтому я в самом начале писал, что уровни надо пробегать, чтобы убедиться, что нету никаких артефактов. Ну, а если артефакты есть, то подгонять комнаты так, чтобы их не было. Дело в том, что движок устроен так, что без изменения кода это не поправить.
А по пунктам:
- Бутылки, которые остаются, в редакторе помечены черточкой над бутылкой. Видимо, разработчики не планировали их вставлять в игру, и забили на них. Лучше да, пользоваться той, которая (в редакторе) без черты;
- Скелет во многих местах отображается с мусором. Логику "правильной" установки этого блока я не понял;
- Про плиты у решеток я впервые узнал, но, видимо так, да. Видимо, движок ожидает справа от решетки совершенно определенного плана блоки (стационарные?), и потому не реагирует;
- По поводу комнат слева. Это, наверное, требует отдельного пояснения. Дело в том, что если слева и/или сверху комнат нет, то левая стена и потолок рисуются блоками, которые находятся в комнатах, обозначенных в редакторе, как Top side room и Left side room, нижними или правыми соответственно. Т.е. по сути, у вас слева рисуется стенка, которая находится справа в первой комнате (обозначенной, как Left side room). Но и это еще не все: байт, содержащий номер Left side room в первом уровне совмещен с байтом, обозначающим то, что 14 уровень имеет вид дворца; то есть, поменять Left side room и вид 14 уровня, вобщем-то, нельзя, и поэтому в первой комнате первого уровня желательно справа нарисовать три кирпичных блока, и тогда у крайних комнат слева вы будете видеть стенку.

Добавлю еще того, что здесь не описано:
- Нельзя в одной комнате ставить более 2 (может и трех, но я не проверял) плит с шипами: произойдет переполнение буфера и в комнате будет все плохо. Ну или игра повиснет;
- Нельзя ставить больше 20 стражников в одном уровне: опять же, переполнение буфера, и играть будет нельзя (управление не будет работать);
- В зависимости от числа связок между решетками и кнопками в целом по игре, некоторые комнаты могут неправильно отрисовываться. Например, отредактировав первый уровень, можно с удивлением обнаружить, что в седьмом уровне в некоторых комнатах вместо блоков будет отображаться мусор, хотя действие блоков сохраниться;
- Интерьерные блоки дворца (например, занавески над колоннами) будут завешивать игру, если вид уровня "Подземелье";
- Много решеток в одной комнате лучше не ставить. Чем их больше, тем больше вероятность, что они будут неправильно рисоваться: либо открытая будет выглядеть как закрытая, либо закрытая будет выглядеть как открытая, либо вообще половина нарисуется, а вторая - нет;
- С длинными "двухэтажными" колоннами тоже лучше быть поосторожнее: лучше ставить на ровных поверхностях, где слева и справа есть хотя бы еще по одному блоку с плитой;
- Выход будет открываться только тот, который находится не в комнате, в которой появляется принц в начале уровня.

Может, есть еще что-то, но так сразу не вспомню.

Ну, и жду с нетерпением ваш хак. Хочется поиграть в нового принца, а в свои хаки играть неинтересно. :)
« Последнее редактирование: 12 Сентябрь 2013, 15:00:29 от ALXR »

Оффлайн opr

  • Пользователь
  • Сообщений: 185
    • Просмотр профиля
Re: [NES] Prince of Persia Level editor
« Ответ #83 : 12 Сентябрь 2013, 18:28:49 »
ага, заметил, что иногда засоряет комнату отображение нескольких штыков подряд или нескольких падающих плит. Так же не рекомендуется вставлять штыки вблизи с Гильотиной. В оригинальной нес версии простые колонны убраны в тех местах, где стоят стражники, раньше я думал, зачем это делать, ведь красота уровня страдает, потом до меня дошло... Да уж печально. Похоже мод будет сложно слепить, раз редактирование одних уровней могут сказаться на отображении других. Я тестовый уровень  переделывал оч долго, чтобы в нем меньше багов было. Но могу пока посоветовать из своего раннего творчества дос версии.. Моды интересные. pop1 b pop2 http://rutracker.org/forum/viewtopic.php?t=4285856

Оффлайн ALXR

  • Пользователь
  • Сообщений: 322
    • Просмотр профиля
Re: [NES] Prince of Persia Level editor
« Ответ #84 : 12 Сентябрь 2013, 19:47:05 »
ага, заметил, что иногда засоряет комнату отображение нескольких штыков подряд или нескольких падающих плит. Так же не рекомендуется вставлять штыки вблизи с Гильотиной. В оригинальной нес версии простые колонны убраны в тех местах, где стоят стражники, раньше я думал, зачем это делать, ведь красота уровня страдает, потом до меня дошло...
Отнюдь. 7 уровень, 9 комната. 7 уровень, 2 комната. Колонны и стражник в наличии. :)
Да уж печально. Похоже мод будет сложно слепить, раз редактирование одних уровней могут сказаться на отображении других. Я тестовый уровень  переделывал оч долго, чтобы в нем меньше багов было. Но могу пока посоветовать из своего раннего творчества дос версии.. Моды интересные. pop1 b pop2 http://rutracker.org/forum/viewtopic.php?t=4285856
Это только линки. И это не очень страшно. Достаточно добавить еще один линк куда-нибудь, и отрисовка наладится. :)

В целом, да, могу сказать, что платформа слабенькая, и нельзя редактировать игру под NES столь же свободно, как и под PC. Однако же, шлифуя уровни, которые нарисовал, не опираясь на возможные артефакты, приходил таки к тому, что все рисовалось без артефактов. Просто нужно немного терпения. :)

Оффлайн opr

  • Пользователь
  • Сообщений: 185
    • Просмотр профиля
Re: [NES] Prince of Persia Level editor
« Ответ #85 : 12 Сентябрь 2013, 21:24:22 »
Отнюдь. 7 уровень, 9 комната. 7 уровень, 2 комната. Колонны и стражник в наличии.
Тогда может дело в изменении палитры тех же стражников??

Оффлайн ALXR

  • Пользователь
  • Сообщений: 322
    • Просмотр профиля
Re: [NES] Prince of Persia Level editor
« Ответ #86 : 13 Сентябрь 2013, 00:17:20 »
Я подозреваю, что тут важнее расположение объектов на карте, где объекты не мешают друг другу в прорисовке. Дело в том, что когда принц прячется за колонной или за кирпичным блоком, то рисуется спрайт поверх него, имитируя его скрытие за объектом.

Оффлайн Sageptr

  • Пользователь
  • Сообщений: 20
    • Просмотр профиля
Re: [NES] Prince of Persia Level editor
« Ответ #87 : 15 Сентябрь 2013, 02:29:40 »
А вот и мой мини-хак: уровни абсолютно не меняет, только цветовую палитру. Вместо ярко-фиолетового теперь серо-бирюзовый, каждые примерно 2 уровня оттенок меняется, как это сделано в DOS-версии 1.3. Цвета принца и факелов тоже изменены. Два вида дворца - обычный и более тёмный.
Скриншоты под спойлером. Во вложении два файла - ips-патч и пропатченный ром.

P.S. Когда шестая часть статьи на Хабре? Заждался уже
« Последнее редактирование: 15 Сентябрь 2013, 02:50:26 от Sageptr »

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

  • Пользователь
  • Сообщений: 493
  • Пол: Мужской
  • Электролыбка
    • Просмотр профиля
Re: [NES] Prince of Persia Level editor
« Ответ #88 : 15 Сентябрь 2013, 21:58:19 »
Sageptr, неплохо выглядит. =)

Оффлайн ALXR

  • Пользователь
  • Сообщений: 322
    • Просмотр профиля
Re: [NES] Prince of Persia Level editor
« Ответ #89 : 18 Сентябрь 2013, 16:10:50 »
А вот и мой мини-хак: уровни абсолютно не меняет, только цветовую палитру. Вместо ярко-фиолетового теперь серо-бирюзовый, каждые примерно 2 уровня оттенок меняется, как это сделано в DOS-версии 1.3. Цвета принца и факелов тоже изменены. Два вида дворца - обычный и более тёмный.
Скриншоты под спойлером. Во вложении два файла - ips-патч и пропатченный ром.

P.S. Когда шестая часть статьи на Хабре? Заждался уже