Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Super Mario Bros.
DF2 :: ФОРУМЫ > Игровые форумы > Общий игровой форум > Экшн
ChASnock
Нашел статью lurkmore.ru/Ffruustration.
Затем решил посмотреть ролик Mario Frustration.
... вспомнил игрушку super mario bros....
swoon.gif чуть не умер от ностальгии...

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

P.S.: искал и так, и эдак, но пока еще ничего путёвого так и не нашёл..
обсуждение закрыто, редактор найден..
FCst1
Что ты подразумеваешь под словом "симулятор?"
Jeanstonik
наверно он хотел сказать эмулятор.
Etoprostoya
Симулятор = симпатичный эмулятор. Эмулятор с дружественным интерфейсом.
Shurup
Цитата(FCst1 @ 03 Jan 2011, 13:13) *
Что ты подразумеваешь под словом "симулятор?"

Ну есть симуляторы полетов на самолете, симуляторы менеджмента чего-то там, а тут симулятор игры в Супер Марио.

Для WoW уже "есть" такой симулятор, чем Марио хуже rolleyes.gif :

ChASnock
Ну блин слово перепутал
FCst1
JNes юзай.

Оп. Только сейчас заметил, что у меня нету джойстика... У кого-то я его оставил...
ChASnock
Игру-то я уже нашёл, теперь надо разобраться с уровнями...... как их делать?!?!
Montevideo
Если для той самой, классической Super Mario Bros, то никак. Уровни там писались на ассемблере, как и сама игра, с ручным введением координат для любого объекта.

Если просто хочется поиграть в Super Mario Bros, то рекомендую скачивать версию не для NES, а для Super Nintendo: http://www.coolrom.com/roms/snes/7972/Supe...o_All-Stars.php

Это порт SMB1, SMB2 и SMB3 для SNES с продвинутой графикой, но больше ничего в играх не поменяли. Пруф: http://www.youtube.com/watch?v=30Mr7q-v-64...&playnext=1
Guevara-chan
Цитата(Shurup @ 03 Jan 2011, 15:54) *
Для WoW уже "есть" такой симулятор, чем Марио хуже rolleyes.gif

...А идею ведь явно утянули из серии .hack, только там протагонист сразу лишался тела и жил чисто сетвой сущностью.
ChASnock
а каков формат у .nes-файлов? (ну блин не троллите пожалуйста, я все равно нигде пока не могу найти его)
FCst1
.nes O_O
ChASnock
нипацкажити, где (на каком смещении) в файле образа супер марио броз. записаны уровни?

p.s.: если вы скажете что бывают достаточно различные версии таких файлов, то образец здесь
FCst1
Ищи нужное:
http://griever.magicteam.net/doc/?platform=NES
ChASnock
About-странички на сайте нету...
ChASnock
Спс за ссылку, джин-тайл-маппер очень кстати. Перевел Марио на русский язык. gigi.gif shum_lol.gif gigi.gif
Mlegion
Цитата(ChASnock @ 13 Jan 2011, 18:35) *
Спс за ссылку, джин-тайл-маппер очень кстати. Перевел Марио на русский язык. gigi.gif shum_lol.gif gigi.gif

Я так от скуки всякую мелочь перевожу biggrin.gif
ChASnock
facepalm.gif
Смотреть мои исследования:
facepalm.gif 16,5% инфы далее - неправда, разрешаю её свободное использование. больше обновлять не буду

Первый байт на смещении 269E:
бит 0 (=1) - если 1, то фон уровня водный, причем в нем дырки в местах пропастей и скрытых объектов gigi.gif
бит 1 (=2) - аналогично, но стена замка
бит 2 (=4) - если 1, то небо черное вместо голубого
бит 3 (=8) - если 1, то игрок стартует на высоте пол-экрана (как в замке, уровень X-4)
бит 4 (=16) - если 0 - аналогично, но с высоты целого экрана (как вход в подземелье)
бит 5 (=32) - если 1, то марио "бредет" (не бредит!!)
бит 6 (=64) - если 0, то марио дохнет как только оказывается ниже, чем на около 3 клетки от потолка
бит 7 - пока не выяснил, на что он влияет

Второй байт:
бит 0 - если 0, то пола под марио нету gigi.gif

Теперь идут 3 проказливых бита, см. таблицу их значений и результата:
000 - обычный уровень
001 - на уровне появляется потолок толщины 3 клетки (разбиваемый)
010 - потолок толщиной аж 8 клеток
011 - пол толщиной 5 клеток, а потолок - 3
100 - 6-кл. пол и 1-кл. потолок
101 - 6-кл. пол и 4-кл. потолок
110 - 1-кл. потолок и пятиклеточная полоса через две клетки под ним
111 - ВЕСЬ УРОВЕНЬ ЗАПОЛНЕН СТЕНОЙ!!!

Дальше идут биты, описывающие внешний вид уровня:
Схема фоновых декораций (из 2-х битов):
00 - унылый голубой фон
01 - схема декораций №1 (aka облака)
10 - схема декораций №2 (aka холмы)
11 - схема декораций №1 (aka деревня)
Бит цветовой палитры (из 2-х битов):
0 - зеленая (aka летняя)
1 - красная (aka осенняя)
И последний бит, опять ни на что не влияющий (?).

Дальше описание объектов первого слоя, каждый из двух байтов.
Первый слой, как правило, содержит статичныне объекты, то есть которые не перемещаются и ывсегда упорядочены по координатной сетке (32x32)
Первый байт: координаты. (объект вставляется левым верхним углом в клетку с этими координатами)
координата Y - 4 бита (0 - самый потолок, 11 - пол). Внимание, если координата Y in [12..15], то возможно перед нами специальный объект (см. ниже)
координата X - 4 бита (в текущем фрейме)
Фрейм - это участок уровня, длиной (X) равный экрану игры (то есть 16 клеток).
Второй байт: тип объекта
7 бит: если 1, то все объекты, начиная с данного, будут находиться в следующем фрейме
0000000 - обычный гриб (в ?-ящике)
0000001 - монетка
0000010 - скрытая монетка
0000011 - скрытая 1UP
0000100 - гриб в стене
0000101 - лиана в стене
0000110 - звездочка в стене
0000111 - набивная стена с монетками
0001000 - 1UP в стене
0001001 - горизонтальная ржавая smile.gif читать: оранжевая, как в воде
0001010 - выбитый (пустой) ?-ящик
0001011 - ромбовидная попрыгушка laugh.gif
0001100 - Г-видная труба (как в начале 1-2 уровня)
0001101 - финальный флажок на всю вертикаль (Y-координата игнорируется)
000111x - ничего
001xxxx - зеленое плато длиной XXXX+1 клеток (под его стволом (XXXX-1 клеток шириной) затирается даже пол)
010xxxx - XXXX+1 клеток-стенок, стоящих в горизонтальный рядок
011xxxx - аналогично, но непробиваемых квадратов
100xxxx - аналогично, но монетки
101xxxx - аналогично со стенками, но в вертикальный рядок
110xxxx - аналогично, но непробиваемые квадраты
1110xxx - НЕРАБОТАЮЩАЯ вертикальная труба высотой XXX+2
1111xxx - аналогично, но труба РАБОТАЕТ

Если координата Y = 12, ТО:
000xxxx - пропасть размером XXXX+1
001xxxx - веревка длиной XXXX+1
010xxxx - мостик длиной XXXX+1 на высоте 4 клетки от пола
011xxxx - аналогично, на 3 клетки
100xxxx - аналогично, на 1 клетку
101xxxx - аналогично пропасти, но в виде воды
110xxxx - XXXX+1 ?-ящиков с монетками, стоящих в рядок на 3 Y-координате
111xxxx - аналогично, но на 7 координате

Внимание: специальные объекты
Если координата Y = 13, ТО:
00xxxxxx - будет пропущено XXXXXX фреймов
01000000 - Г-образная труба. Стоит на полу, а X-координата указывает на вход
01000001 - финальный "штекер" (без флажка). На таком не дают очки gigi.gif
01000010 - топорик (как в замке), через 4 клетки от пола. После взятия переходит в следующий мир (X-0)
Топорик надо использовать осторожно, поскольку в непредвиденных (разработчиками) ситуациях возможны баги. Взяв топорик, марио начнет идти вперед, если будут препятствия, он будет не останавливаться, а проходить через них; если он высокого роста, а при этой ходьбе он встретится с врагом, он замигает, но не уменьшится, и в следующем уровне он будет высокого роста и способен разбивать кирпичи, но, встретясь с врагом, сразу погибнет, а взяв гриб, уменьшится в размерах (и не сможет разбивать кирпичи), но будет способен перенести встречу с врагом (после которой он увеличится обратно), после следующего выбивания ?-ящика вместо гриба будет цветочек, взяв его, марио превратится в минидоктора gigi.gif shum_lol.gif gigi.gif

01000011 - цепь (как около топорика) размером с клетку через 3 клетки от пола
01000100 - мостик (как под драконом) длиной 13 клеток через 2 клетки от пола
01000101 - этот фрейм последний, и марио не должен идти дальше. 01000110 и 01000111 - то же самое (?)
01001000 - впредь снизу будут выскакивать рыбки
01001001 - впредь справа постоянно будут выстреливаться пули
01001010 - впредь ничего больше не будет выстреливать/выскакивать
Примечание: рыбки и пули gigi.gif не могут работать одновременно
01001100 - странный объект, если при загрузке уровня (при начале игры, после смерти или посещения трубы) он будет находиться в текущем фрейме, то небо станет черным, иначе останется как есть (можно использовать для эфекта ночь/день/ночь/день...)
01001111 - вызывает тотальное зависание при попытке отображения объекта
Продолжение следует (?)

Если координата Y = 14, ТО:
Объект - команда для управления уровнем.
Если 6-й бит = 0, ТО:
4 бита (000xxxx):
0000 - дальше будет отсутствовать пол и потолок
0001 - дальше будет присутствовать только пол
0010 - дальше будет присутствовать пол и потолок
0011 - дальше будет присутствовать пол и потолок тройной толщины
0100 - дальше будет присутствовать пол и потолок толщиной 4 клеток
0101 - дальше будет присутствовать пол и потолок толщиной 8 клеток
0110 - дальше будет присутствовать пол толщиной 5 клеток и потолок
0111 - дальше будет присутствовать пол толщиной 5 клеток и потолок тройной толщины
1000 - дальше будет присутствовать пол толщиной 5 клеток и потолок толщиной 4 клеток
1001 - дальше будет присутствовать пол толщиной 6 клеток и потолок
1010 - дальше будет присутствовать только потолок gigi.gif
1011 - дальше будет присутствовать пол толщиной 6 клеток и потолок толщиной 4 клеток
1100 - дальше будет присутствовать пол толщиной 9 клеток и потолок
1101 - дальше будет присутствовать пол, потолок и средняя полоса толщиной 5 клеток через 2 клетки от потолка
1110 - дальше будет присутствовать пол, потолок и средняя полоса толщиной 4 клеток через 3 клетки от потолка
1111 - дальше весь уровень будет заполнен стеной
2 бита (0xx0000): установить новую схему декораций
Если 6-й бит = 1, ТО:
3 бита (0000xxx):
000 - дальше не будет дополнительных декораций (продолжатся обычные декорации)
001 - дальше пойдет декорация "вода"
010 - дальше пойдет декорация "стена"
011 - (ничего?)
Статичное управление уровнем (команды выполняются только при загрузке):
100 - устанавливает на весь уровень черный фон
101 - устанавливает игровую палитру на "серебряную"
110 - устанавливает игровую палитру на "серую" и черный фон
111 - устанавливает игровую палитру на "замок" (+ черный фон)
Остальные биты ни на что не влияют (?)

Если координата Y = 15, ТО:
000xxxx - вертикальная оранжевая линия
001xxxx - ее же кусочек: начало под потолком, длина XXXX+2
010xxxx - кусок замка 5x13 (макс), его верхняя граница в координате XXXX от потолка
0110xxx - финальная лестница размерами XXX
0111000 - лестница размером 9x8
0111xxx - то же + баговое отображение номера уровня (если XXX > 0)
100xxxx - вертикальная труба толщины 3 клетки, у которой вход на XXXX клеток ниже от потолка
101xxxx - прикольная "веревка" в виде XXXX кружочков на высоте 2 кл. от потолка, по которой можно карабкаться :3


на смещении 1F14h: второй слой объектов
Второй слой - это обычно монстры и движущиеся объекты.
1 байт: координаты (XXXXYYYY)
2 байт: 7 бит - через фрейм
00 - обычный (зеленый) черепахогусь
01 - красный черепахогусь (поворачивает назад при достижении края)
02 - обычная улитка
03 = 01
04 - стоящий (не двигающийся) черепахогусь, который при "прибивании" превращается в черепахогуся, который отображается багово
05 - черепаха, кидающаяся черными камнями
06 - обычный ходячий (злой) грибок
07 - медуза
08 - пуля
09 - летающий на одном месте черепахогусь, который при "прибивании" превращается в 01
0A - зеленая рыбка (плывет медленно и прямо), которая при "прибивании" превращается в 00 gigi.gif
0B - красная рыбка (плывет прямо и с обычной скоростью), которая при "прибивании" также превращается в 01 shum_lol.gif
0C - кусочек магмы, иногда выпрыгивающий снизу (коорд. Y - игнор)
0D - хищный цветочек (его можно ставить даже за декорациями)
0E - прыгающий черепахогусь
0F - летающий вверх и вниз черепахогусь
10 - летающий влево и вправо черепахогусь
11 - облачко (которое кидается дикобразами), причем оно появится на той высоте, которая указана в Y-координате; если же его прибить, то оно "возродится" на обычной для него высоте
12 - дикобраз
13 - багово отображающаяся улитка, которая при прибивании превращается в 01
14 - в этих окрестностях снизу будут выскакивать рыбки
15 - в этих окрестностях справа будут извергаться огни
16 - игра зависает при попытке отобразить объект
17 - в этих окрестностях справа будут выстреливаться пули
18..1A - ничего (?)
1B - вращающаяся по часовой стрелки палка из 6 огоньков
1C - она же, но вращается побыстрей
1D, 1E - они же, но вращаются против часовой
1F - 1B, но в два раза больше огоньков
20..23 - 1F, но стоящая вертикально (баговая, не стоит использовать)
24 - фальшивая (нельзя встать) дырчатая платформа длиной 6 дырок (= 3 клетки)
25 - она же, но двигающаяся вверх-вниз
26 - место, где постоянно появляются и движутся вверх платформа с интервалом 1 экран
27 - то же, но вниз
28 - платформа, которая перемещается влево-вправо
29 - платформа, которая быстро падает вниз если встанешь на нее
2A - платформа, которая, если встанешь на нее, начнет плавно перемещать вправо (через весь уровень)
2B, 2C - 26, 27 но платформы размером 3 дырочки
2D - ДРАКОН!!! Внимание, дракон обитает в пределах одного фрейма и, подойдя к его границе, может появиться с другой стороны.
2E - баг: в верней левой клетке уровня появится гриб и поднимется вверх, а также будет проигран звук выбивания гриба
2F - как 2E, но будет проигран только звук
30..3F - либо ничего, либо вылет при попытке отображения/

A0..A2 - 1B, только стоящая вертикально
A3 - ничего

B0, B1 - ничего (?)
B2 - фальшивая попрыгушка
FCst1
Спасибо, конечно, но поправь ахинею под споилером smile.gif
Allah
Цитата(Montevideo @ 07 Jan 2011, 13:29) *
Если для той самой, классической Super Mario Bros, то никак. Уровни там писались на ассемблере, как и сама игра, с ручным введением координат для любого объекта.

Если просто хочется поиграть в Super Mario Bros, то рекомендую скачивать версию не для NES, а для Super Nintendo: http://www.coolrom.com/roms/snes/7972/Supe...o_All-Stars.php

Это порт SMB1, SMB2 и SMB3 для SNES с продвинутой графикой, но больше ничего в играх не поменяли. Пруф: http://www.youtube.com/watch?v=30Mr7q-v-64...&playnext=1

У разработчиков Марио всяко были удобные инструменты для редактирования. Редактор же под виндовс существуют очень давно, как и несколько сотен хаков марио -
romhacking.net (хаки, утилиты)
emu-land.net (ромы, эмуляторы, хаки)
З.Ы. Когда будет новая версия ХОТЫ?
FCst1
О, привет Allah! :3
Цитата
Редактор же под виндовс существуют очень давно, как и несколько сотен хаков марио

Ну, лично у меня их, емнип, ~73 (исключая различные ['a/h1-9','hM'] адаптации) . Могу выложить аж все, только нужно до второго компу добраться.
ChASnock
Цитата(FCst1 @ 15 Jan 2011, 16:54) *
Спасибо, конечно, но поправь ахинею под споилером smile.gif

Аххаха, ошибка в правке gigi.gif Ох уж этот BB-code... Короче, поправил + обновил. Кстати, лихо они на romhacking.net придумали: поиск перенаправлять на гугл... shum_lol.gif Прикольно :3

Короче, думаю что напишу редактор марио, который совмещает способности всех редакторов, которые я видел на romhacking.net + свой функционал добавлю... p.s.: см. мое предыдущ. сообщение

P.S.: Скажите, чем открывать / редактировать / создавать .IPS-файлы, которыми так удобно (?) патчить стд. ROM'ы (мне именно их надо редактировать, патчить ROM'ы я могу).все, уже нашел... biggrin.gif Ну или формат .IPS что ли, думаю, он мне понадобится..

Цитата(FCst1 @ 15 Jan 2011, 17:41) *
Ну, лично у меня их, емнип, ~73 (исключая различные ['a/h1-9','hM'] адаптации) . Могу выложить аж все, только нужно до второго компу добраться.

Давай, выкладывай smile.gif
FCst1
http://rghost.ru/4076349 - с тебя минимум 10 спасиб, т.к. их тут 240+ biggrin.gif
Throutle
Мне не надо, но за полезный пост спасибо )
FCst1
Ну, стараемся biggrin.gif
ChASnock
FCst1, ну ты крутой чувакк... pray.gif

Цитата
Эта программа не может отобразить эту веб-страницу

FFFUUUUUU~

Выложи на какой-нть другой хост или по почте пришли
ChASnock
Вау, круто)) спасибо smile.gif

Только неудобно что они все каждый в индивидуальной папочке....
FCst1
Сорри, по другому было бы ещё дольше smile.gif
ChASnock
Цитата(ChASnock @ 17 Jan 2011, 11:07) *
Ну или формат .IPS что ли, думаю, он мне понадобится..

Вот уж не думал, что придется отвечать на свой собственный пост... unsure.gif Короче, если кому нужен формат IPS-файлов, вот он:
Описание:
Формат IPS (International Patching System) предназначен для создания специальных файлов-патчей, которые могут подходить к файлам практически любых типов (есть ограничения по поводу размера файлов, см. ниже).

Формат (файл в формате Big Endian):
Заголовок - 5 байтов - "PATCH"
дальше идет несколько структур типа:
{смещение - 3 байта
размер последовательности - 2 байта
сама последовательность байтов}
Патчинг происходит так: из IPS-файла читается структура, и в подопытном файле на указанном смещении поверх "натуральных" байтов пишется последовательность "искуственных" байтов, из IPS-файла снова читается структура и т. д....
В конце находятся три байта - "EOF"
Из-за того, что на смещение отводится только три байта, невозможно закодировать изменения в файле после смещения 1677215; также, если есть области сплошной разности данных в файлах, то придется разбивать код патча на структуры патча размером 65535 байтов; также последовательность "EOF" зарезервирована для обозначения конца файла патча, и придется записывать лишние байты, чтобы избежать такой последовательности.

Скачать 010 Template для IPS-файлов
ChASnock
Скоро я сделаю специальную программу для редактирования игры SMB Universe. Процент готовности пре-пре-альфа-версии 47%.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2025 IPS, Inc.