| Разработка и ромхакинг > Редакторы для консольных игр |
| [NES] Prince of Persia Level editor |
| << < (2/31) > >> |
| ALXR:
--- Цитата: Salewa от 14 Июнь 2013, 16:25:50 ---ALXR, Спасибо, получилось сделать переход на 2 уровень. А зачем нужен Level layout? Это номера уровней? --- Конец цитаты --- Нет. Это размещение комнат в уровне. У каждой комнаты есть свой ID (он отображен внизу, в строке статуса), и в Level layout эти же ID размещены в соответствии с геометрией уровня. Т.е. можно менять расположение комнат, их количество (от 2 до 24). В первом сообщении я написал, как там с этим управляться. Можно добавлять комнаты, но сперва надо почистить данные уровней от лишнего мусора (в диалоге Edit -> Memory usage). --- Цитата: Salewa от 14 Июнь 2013, 16:25:50 ---А есть тайл с мечом, а то если не взял меч на первом уровне на 2 принц без меча? --- Конец цитаты --- Да. Это если переходит с 1-го на 2-ой. А если ввести пароль на 2-ой уровень, то там он появится с мечом. --- Цитата: Salewa от 14 Июнь 2013, 16:25:50 ---Тайлы со знаком вопроса, это не нужные? --- Конец цитаты --- Они искажают отрисовку комнаты. Т.е. они действуют, как и обычные, но рисуются криво и могут исказить отрисовку всей комнаты в целом. --- Цитата: Salewa от 14 Июнь 2013, 16:25:50 ---Кнопка со знаком бесконечности для чего ? --- Конец цитаты --- Обычные кнопки открывают дверь на определенное время. Эта кнопка открывает дверь и та больше не закрывается. |
| x.GREYSON.x:
--- Цитата ---А есть тайл с мечом, а то если не взял меч на первом уровне на 2 принц без меча? --- Конец цитаты --- Проверил. С мечем. Как на дос-версии. Вообще немного неудобно, когда не видишь край комнаты. в досе редактор удобнее, хотя там непонятно как решетки с кнопками совместить. |
| ALXR:
Выложил версию 1.0.1. Добавил возможность указать комнату, тайлами которых будут рисоваться потолки самых верхних комнат и левые стенки комнат с левого края. Без этого было бы невозможно построить нормальный уровень. x.GREYSON.x Я старался сделать минималистичный интерфейс. Если что-то неудобно - я поправлю. Все неудобство в данный момент только в отсутствии границ комнат? |
| Realsalewa:
ALXR, ещё было бы удобно переносить курсор мышкой, а то приходится перегонять его стрелками. |
| x.GREYSON.x:
ALXR, почему предел в 5 косаний если можно до 10 набрать? Еще нужно поправить (подписать значения) настройки с бутылками. а то методом научного тыка выяснять какая за что отвечает - напряжно. нажимаем 5 видим маленькая с вопросом (хз что это), нажимаем Pg Dn видим мал.бут. на стене отображение кирпичей, далее большая с добавлением, далее большая с замедлением полета, далее маленькая, далее маленькая с ядом, далее большая +1, далее большая -1, далее с вопросом и по кругу. Зачем так много повторений? и еще, почему-то стражник, которого уже убил, при прохождении того же экрана снова живой? Поправил неполадки 10 и 11 уровня |
| ALXR:
--- Цитата: x.GREYSON.x от 16 Июнь 2013, 14:29:38 ---ALXR, почему предел в 5 косаний если можно до 10 набрать? --- Конец цитаты --- Для уровня предусмотрены значения только от 1 до 5. Большие движок просто обрезает до 5, а при нуле все рушится. --- Цитата: x.GREYSON.x от 16 Июнь 2013, 14:29:38 --- Еще нужно поправить (подписать значения) настройки с бутылками. а то методом научного тыка выяснять какая за что отвечает - напряжно. нажимаем 5 видим маленькая с вопросом (хз что это), нажимаем Pg Dn видим мал.бут. на стене отображение кирпичей, далее большая с добавлением, далее большая с замедлением полета, далее маленькая, далее маленькая с ядом, далее большая +1, далее большая -1, далее с вопросом и по кругу. Зачем так много повторений? --- Конец цитаты --- Каких повторений? Там тайлы зациклены по кругу: 0-255, далее опять с 0. --- Цитата: x.GREYSON.x от 16 Июнь 2013, 14:29:38 ---и еще, почему-то стражник, которого уже убил, при прохождении того же экрана снова живой? --- Конец цитаты --- Это, видимо, такая особенность движка при заданном уровне здоровья в 1. Я про нее не знал. :) |
| x.GREYSON.x:
--- Цитата ---Еще нужно поправить (подписать значения) настройки с бутылками. а то методом научного тыка выяснять какая за что отвечает - напряжно. нажимаем 5 видим маленькая с вопросом (хз что это), нажимаем Pg Dn видим мал.бут. на стене отображение кирпичей, далее большая с добавлением, далее большая с замедлением полета, далее маленькая, далее маленькая с ядом, далее большая +1, далее большая -1, далее с вопросом и по кругу. Зачем так много повторений? Каких повторений? Там тайлы зациклены по кругу: 0-255, далее опять с 0. --- Конец цитаты --- Я имел ввиду только бутылки. например 2-е мелких +1. Надо просто подписать все значения. |
| Realsalewa:
У меня не работает переход из комнаты. Наверно это связано с Level layout, я не понял что нужно сделать. http://youtu.be/DcKiD8Nv7sg |
| ALXR:
Это связано с двумя рядом расположенными плитами с шипами. Если одну из них удалить - будет все в порядке. Еще, я бы не рекомендовал пользоваться тайлом 0x33, поскольку он вызывает глитчи (надо будет знак вопроса пририсовать к нему). Кстати, интересно, что если правую плиту с шипами переместить на одну позицию вправо, то в комнате появляется атакующий принца двойник. Надо будет еще посидеть с дебаггером, выяснить причины его появления и поведения. :) ps: Готовлю еще релиз с предложенными здесь исправлениями, плюс для уровней можно задавать комнаты, при входе в которые перемещаешься на следующий уровень (как в 6 уровне, когда, падая в пропасть, попадаешь на 7 уровень. Или как из 12 переходит в 13). |
| Realsalewa:
--- Цитата: ALXR от 18 Июнь 2013, 23:20:02 ---Это связано с двумя рядом расположенными плитами с шипами. Если одну из них удалить - будет все в порядке. Еще, я бы не рекомендовал пользоваться тайлом 0x33, поскольку он вызывает глитчи (надо будет знак вопроса пририсовать к нему). Кстати, интересно, что если правую плиту с шипами переместить на одну позицию вправо, то в комнате появляется атакующий принца двойник. Надо будет еще посидеть с дебаггером, выяснить причины его появления и поведения. :) ps: Готовлю еще релиз с предложенными здесь исправлениями, плюс для уровней можно задавать комнаты, при входе в которые перемещаешься на следующий уровень (как в 6 уровне, когда, падая в пропасть, попадаешь на 7 уровень. Или как из 12 переходит в 13). --- Конец цитаты --- А в игре же не было двойника? Две плитки, кот обваливаются(0x0В) тоже рядом ставить нельзя, а то крашится? |
| ALXR:
--- Цитата: Salewa от 19 Июнь 2013, 00:57:37 ---А в игре же не было двойника? --- Конец цитаты --- Ну как же. В 4, 5 и 6 уровнях. --- Цитата: Salewa от 19 Июнь 2013, 00:57:37 ---Две плитки, кот обваливаются(0x0В) тоже рядом ставить нельзя, а то крашится? --- Конец цитаты --- Там много чего зависит от обстоятельств. Чем меньше движущихся тайлов в комнате, тем лучше. В 11 уровне 3 падающих плиты подряд - и ничего. |
| Realsalewa:
--- Цитата: 3DSchumacher от 13 Июнь 2013, 21:59:15 ---турбо кнопка всегда выручает. Он там на долю секунды всегда зацепится и не коцнется --- Конец цитаты --- А как настроить турбокнопку(лучше на FCEUltra)? В видеопрохождении плитка падает на голову и не наносит урон? http://youtu.be/mv0F3CBQ_gc?t=22m39s А при прохождении принц не заходит во все двери (проходит мимо выходов), в NES версии борется со своим отражением (а тол вроде просмотрел в видеопрохождении)? |
| Sprill:
А возможно сделать так, что бы двойник был на 12 уровней вместо скелета? |
| ALXR:
--- Цитата: Sprill от 19 Июнь 2013, 20:29:50 ---А возможно сделать так, что бы двойник был на 12 уровней вместо скелета? --- Конец цитаты --- Подозреваю, что без правки кода - вряд ли. Но, можно, наверное, вместо тайлов скелета поставить тайлы принца, и тогда он будет с ним драться (чтобы соединялся, как в оригинале, надо будет логику кода менять, скорее всего). С двойником еще предстоит разобраться. Пока разобрался с demo-play. Если хочется прилизать конечный хак, то можно подстроить demo-play под свой уровень. Все это будет в следующем релизе. В данный момент осталось разобрать две вещи: где и как открывается дверь на 13 уровне, а также появление и поведение двойника. С двойником, боюсь, будет сложно, т.к. наиболее вероятно, что там какой-то хардкод. Но даже без последнего игру (логику уровней) можно вполне себе нарисовать полностью. |
| ALXR:
Выложил версию 1.0.2. Пару слов о demo-play. Редактировать его при отсутствии сноровки сложно, поскольку необходимо достаточно точно выставлять время того или иного действия принца. Время выставляется в частоте обновления экрана (VBlank). Также, спуск и подъем на этаж ниже/выше следует разделять на несколько действий с паузами между ними, иначе он спустится/поднимется на один этаж и встанет как вкопанный. PS: Если интерес к редактору еще у кого-нибудь остался, то продолжу исследования. :) |
| Realsalewa:
ALXR, у меня на Win8-x64 при нажатии на Demo-play - редактор закрывается. |
| x.GREYSON.x:
--- Цитата ---ALXR, у меня на Win8-x64 при нажатии на Demo-play - редактор закрывается --- Конец цитаты --- Такая же фигня и на х32 Win7. Если можно по-подробнее про Advensed. Что это и зачем? Окошко выбора уровня сделай так, чтобы не было прокрутки. Подрисуй к спрайтам все необходимые значки (особенно к бутылкам) при нажатии Pg Up/Pg Dn. |
| ALXR:
--- Цитата: x.GREYSON.x от 22 Июнь 2013, 16:23:55 --- Такая же фигня и на х32 Win7. --- Конец цитаты --- Любопытно. Из-за шрифта Courier, чтоли... --- Цитата: x.GREYSON.x от 22 Июнь 2013, 16:23:55 --- Если можно по-подробнее про Advensed. Что это и зачем? --- Конец цитаты --- В игре есть "особые комнаты" в уровнях. В Advanced перечислены лишь три из них. 1. Комната, которая появляется в начале игры (где игрок выбирает - будет с начала играть или пойдет пароль набирать); 2. Комната из 6 уровня, в которую принц попадает при падении перед двойником в пропасть и попадает в 7 уровень (ее можно переназначить в любой другой уровень); 3. Комната из 12 уровня, при входе в которую происходит переход в 13 уровень (ее тоже можно переназначить). Комнату из первого пункта нет смысла переназначать, потому что движок довольно чувствителен к строению той комнаты. Если переназначить комнаты из 2 и 3 пунктов, то можно будет переходить в следующей уровень, если попасть в комнату из 2 пункта сверху (как в 6 уровне), а в комнату из 3 пункта слева (как в 12 уровне). --- Цитата: x.GREYSON.x от 22 Июнь 2013, 16:23:55 ---Окошко выбора уровня сделай так, чтобы не было прокрутки. --- Конец цитаты --- Да, там еще обработка DblClick не помешает :) --- Цитата: x.GREYSON.x от 22 Июнь 2013, 16:23:55 ---Подрисуй к спрайтам все необходимые значки (особенно к бутылкам) при нажатии Pg Up/Pg Dn. --- Конец цитаты --- Да, я это помню, но окончательное прилизывание я оставил на чуть-чуть попозже. Сейчас пока занимаюсь появлением "двойника". Правда, сделать что-либо будет с ним, боюсь, будет сложно. Очень уж на многое там это завязано... |
| x.GREYSON.x:
--- Цитата ---Сейчас пока занимаюсь появлением "двойника". Правда, сделать что-либо будет с ним, боюсь, будет сложно. Очень уж на многое там это завязано... --- Конец цитаты --- Кстати, в версии что Я выкладывал там он появляется при переборе спрайтов в комнате. в оригинале тоже, в 4 уровне когда нажмешь кнопку выхода и прыгнешь в зеркало вернись и снова нажми кнопку (это из-за появившегося зеркала). |
| ALXR:
--- Цитата: x.GREYSON.x от 22 Июнь 2013, 23:23:44 --- Кстати, в версии что Я выкладывал там он появляется при переборе спрайтов в комнате. в оригинале тоже, в 4 уровне когда нажмешь кнопку выхода и прыгнешь в зеркало вернись и снова нажми кнопку (это из-за появившегося зеркала). --- Конец цитаты --- Это глюк движка. Процедура проверки при определенных условиях выставляет флаг по адресу $0401 (в RAM) в 1, и тогда в комнате появляется двойник. По адресу $0402 лежит флаг, который определяет - выполняет двойник действие или нет (но не везде). Например, если в роме (здесь и далее эксперименты с Prince of Persia (U) [!]) выставить по смещению 0x0A1E1) вместо 00 записать 01, то двойник будет во всех комнатах. Больше того, он будет стоять вместо всех стражников и скелетов на всех уровнях (правда, драться с ним нельзя будет). Между тем, игра станет непроходимой из-за 8-го уровня, где мышь должна нажать кнопку и открыть решетку. К слову, по смещению 0x0A399 (до байта со значением FF) идет порядок действий двойника в 5 уровне (где он подбегает и выпивает бутылку, если нажать на кнопку, открывающую выход). Формат данных таков: XX1 YY1 XX2 YY2 ... XXn YYn FF, где XX - время, в течение которого выполнять действие, YY - код самого действия (всего допустимых значений от 01 до 5E включительно). Код задает адрес смещения в ROM в таблице указателей на данные, в которых описываются эти самые действия. Все описанное, конечно, интересно, но редактировать, в сущности, нечего, т.к. это не дает возможности редактирования всех возможностей двойника (только частные случаи). Тут надо реверсить полдвижка для понимания процессов поведения спрайтов. Так что редактирование действий двойника пока откладывается. :) Salewa, x.GREYSON.x Ниже выкладываю версию, где шрифт в диалоге Demo Play установил в стандартный, может заработает... |
| Навигация |
| Главная страница сообщений |
| Следующая страница |
| Предыдущая страница |