Перейти к содержимому
vladikcomper

Sonic 1 CDSS Edition

14 сообщений в этой теме

Новый хак от MarkeyJester'а.

Одной из наиболее интересных граней Sonic CD были его Спешл Стейджи, которые полностью были выполнены в 3D, что демонстрировало дополнительные графические возможности приставки Sega CD. В целом, вид трека очень напоминал знаменитый Mode 7 из SNES (режим, в котором приставка могла деформировать текстуру в перспективе), и это был ответ Сеги на графическое превосходство SNES над Mega Drive.

В своем хаке MarkeyJester попытался сделать невозможное -- воссоздать Спешл Стейджи из Sonic CD на оборудовании простого Мега Драйва. Крайне ограниченное железо Mega Drive и близко не позволяет такие эффекты, так что отрисовку 3D поля приходилось делать программно. Но это осложнялось и крайне медленным процессором Сеги, мощности которого совсем не хватает на такие вычисления.

Но Джестер не сдавался, и вот что получилось после месяца упорной работы:

http://www.youtube.com/watch?v=EFefE3r8mQA

Скачать

1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Одно не пойму,нафиг это вообще нужно???Люди не могут позволить купить себе сега сд ведь у них есть тока простая сега,но тут пришел человек и сделал бонусы на простую сегу!!!Лет так 15 назад люди бы и порадывались но сейчас то зачем???

0

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

А ты думаешь, это так просто? Лет 15 назад, никто бы так и не сделал, кроме сеги. Так что это круто, просто круто

1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Одно не пойму,нафиг это вообще нужно???Люди не могут позволить купить себе сега сд ведь у них есть тока простая сега,но тут пришел человек и сделал бонусы на простую сегу!!!Лет так 15 назад люди бы и порадывались но сейчас то зачем???

Чтобы доказать, что такое возможно на железе Sega Mega-Drive. В Sega CD использовался дополнительный видео чип, который делал возможным эффекты вращения и уменьшения на аппаратном (hardware) уровне. Железо SMD поддерживает подобные эффекты, поэтому здесь рендеринг изображения производится на программном (software) уровне. Отрендерить такое изображение с приличной частотой кадров, имея в наличии очень старый и медленный процессор (тактовая частота всего 8 MHz, не говоря уже о том, что одна команда занимает более 4 тактов CPU) и еще более медленный видеопроцессор (который позволяет передавать не более 300 тайлов за время смены кадров на экране) - это почти непосильно сложная задача.

15 лет назад такое вообще считалось невозможным. MarkeyJester, превозмогая большие лимиты железа, доказывает обратное, и уровень исполнения, которого он добился, крайне впечатляет.

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

1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Да нет же,он конечно супер молодец,потрудился капец как,но зачем?Зачем же он тратил столько времени чтобы сделать это?Разве что ,чтобы доказать все что он афиенный программист-не сомневаюсь,програмер он отличный(доказал).Может показать на что способна сега?Но ему же за это не платят.Короче он сделал бонус уровень из сд на мегадрайве-ооооочень похвально много работал.Я одно не пойму зачем щас это нужно?К тому же бонус уровни в соник 3 и кнаклс смотрятся гораздо лучше чем сдшные и интереснее.Работа большая и похвальноая,но я так и не понял зачем?

0

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

1) Пиши грамотно, нифига не понятно так.

2) Есть люди, кому это надо

3) А он это и не ради платы делал.

4) Чтобы показать возможности Сеги (я так думаю)

5) Сравнил тоже. В ССД вроде строение СС посложнение будет.

Вывод: Человек это сделал, потому что захотел. Так понятно?

1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Одной из наиболее интересных граней Sonic CD были его Спешл Стейджи, которые полностью были выполнены в 3D...

Не полностью. На SEGA и прочих приставках обычно только фоны выполнены в. 3D. Спрайты же фактически невозможно крутить, изменять размер, искажать.

В SonicCD для каждой позиции объекта свой арт. Также в SS Sonic 2 (кольца и бомбы) и SS Sonic 3 (сферы, кольца).

В некоторых играх с этой целью используется привязка фона к объекту, например в хаке от MarkeyJester (Mushroom Hack), где Соник - гигант. . Для такого изменения спрайт Соника был перенесён на фон и к нему были применены scale модификации. Однако его маска спрайта сохранена, то есть сохранён размер зоны проверки касания

В S3&k финальные боссы используют фон и активную камеру, а также привязку фона к объекту.

В игре Castlevania финальный босс использует именно фон, привязанный к объекту, а вовсе не спрайт.

Всё это можно узнать внимательно смотря за поведением объекта и используя специальные фильтры эмуляторов.

В Lava Reef при боссе и Marble Garden при боссе и при землятрясении используются модификации фона.

В Sonic Erazor 4 тоже землятрясения.

Мне такие модификации сделать - никак. Я не умею. С этой целью я ищу дисассемблы разных игр и копаюсь в коде.

Вот такой злостный оффтоп. А хак довольно достойный.

...так что отрисовку 3D поля приходилось делать программно.

А она и делается програмно. SonicCD очень близок к Sonic1. Мегамикс так легко перенесли именно из-за этой близости.

0

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Не полностью. На SEGA и прочих приставках обычно только фоны выполнены в. 3D. Спрайты же фактически невозможно крутить, изменять размер, искажать.

Серьезно?

В оригинальной Genesis не было ни намека на поддержку трехмерных превращений, и вывод графики полностью основан на отображении "знаков" т.н. тайлов с индексированными цветами. Картинка получалась в результате совмещения двух плоскостей из тайлов (Планы А и Б) и слоя т.н. спрайтов, свободно перемещаемых объектов, также представляющих собой области из тайлов.

Благодаря возможностям скроллинга Genesis, разработчики добивались эффекта псевдо-трехмерности фонов, т.н. 2.5D, заставляя отдельные линии слоя двигаться с разной скоростью и казаться более удаленными, чем другие.

Также в SMD была возможность одновременно построчного горизонтального скроллинга, и двух-тайлового вертикального скроллинга. С помощью этого разработчики могли добиться эффекта псевдо-вращения слоя, однако это выглядело пристойно лишь на небольших углах наклона - сказывается то, что вертикально скролятся слишком большие части слоя. Опять же, это не является вращением в чистом виде, VDP опять же оперирует отображением тайлов 8x8, а эффекты скролинга лишь обеспечивают смещения частей тайлов для имитации различных эффетов. Однако VDP может трансформировать сами тайлы (не возможен даже поворот на 90), посторочный вывод графики на экран основан на отображении нужных частей тайла (линий в 8 пикселов) с учетом вертикального и горизонтального скроллинга.

А она и делается програмно. SonicCD очень близок к Sonic1. Мегамикс так легко перенесли именно из-за этой близости.

Во-первых, причем здесь Мегамикс и Соник СД? Они никак не связаны. Мегамикс был портирован на Sega CD, а не переведен на базу Sonic CD. Это принципиально разные вещи. Мегамикс использует свою файловую систему, методы загрузки и пр, имеющие мало чего общего с Sonic CD. Портированием занимался Stealth, использовав при этом наработки, сделанные им ранее для проекта "Sonic for Mega CD", в котором он портировал игры Sonic 1 и 2 на базу Sega CD.

Во-вторых, насчет "программности" рендеринга. Я бы посоветовал тебе прежде выступать с такими гипотезами, изучить спецификацию железа Sega CD, из которой станет ясно, что аддон оборудован дополнительным графическим процессором, который позволяет выполнять виденные в Sonic CD трансформации плоскостей на аппаратном уровне. Насколько я помню, возможна была и трасформация спрайтов, по крайней мере такие эффекты я видел CD-версии игры Puggsy.

Даже с железом Mega CD, выполнение такого сложного рендеринга программно едва ли возможно, так как не хватит вычислительной мощи консоли. Хотя Mega CD оборудована дополнительным процессором M68K на частоте 12 MHz (SUB CPU), этого едва ли хватит, к тому же SUB CPU и MAIN CPU в консоли весьма ограничены в использовании шины данных - один из процессоров обязательно должен быть заморожен, когда другой читает или записывает данные в память, что делает их одновременное использование весьма проблемматичным.

Для такого изменения спрайт Соника был перенесён на фон и к нему были применены scale модификации. Однако его маска спрайта сохранена, то есть сохранён размер зоны проверки касания

Где ты нашел эти "scale" модификации? VDP не предусматривает никаких попиксельных деформаций. В Sonic Mega Mushroom Соник увеличен ровно в восемь раз, так что один пиксель оригинального спрайта соотвествует тайлу 8х8. Соник рисуется на Плане Б целыми тайлами, окрашенными в цвет его пикслей.

В движке Соник 1, и, пожалуй, ни в одной SMD игре нет никаких "масок спрайтов". Вместо этого, каждый объект имеет такую харатеристику, как вертикальный и горизонтальный радиус, которые образуют т.н. hitbox объекта с центром XY координате этого объекта. Проверка взаимодействий одного объекта с другими (коллизий) заключается в проверки касания вышеназванных "хитбоксов". В том хаке автор изменил характеристики радиусов объекта, и движок расчитывает коллизии для более больших радиусов.

В S3&k финальные боссы используют фон и активную камеру, а также привязку фона к объекту.

Активная камера. Привязка к фону объекта.

Какие умные слова, но что за ними стоит, ты хоть сам понимаешь?

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

0

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

Начну отвечать с конца. Если я что-то говорю, значит я могу предоставить доказательства.

Но ты прав, я очень многого не знаю ещё, даже в Sonic1 мне ещё многое не понятно.

Активная камера. Привязка к фону объекта.

Какие умные слова, но что за ними стоит, ты хоть сам понимаешь?

Частично.

Я зашёл в DDZ, но потерпел небольшое разочарование - там вовсе не активная камера используется.

Но про второе...

c836e0c57d5a1f7a46696752392ef195.png

На скриншоте: пунктиром обозначены две части фона, которые используются боссом. Они двигаются по кривой, значит это не статичный фон, и объекты вовсе не на месте стоят. Объекты я обозначил зелёным.

Они привязанны к фону. Или наоборот, фон к ним привязан. Не важно.

В движке Соник 1, и, пожалуй, ни в одной SMD игре нет никаких "масок спрайтов". Вместо этого, каждый объект имеет такую харатеристику, как вертикальный и горизонтальный радиус, которые образуют т.н. hitbox объекта с центром XY координате этого объекта. Проверка взаимодействий одного объекта с другими (коллизий) заключается в проверки касания вышеназванных "хитбоксов". В том хаке автор изменил характеристики радиусов объекта, и движок расчитывает коллизии для более больших радиусов.

Да, увеличил. Но слегка косячно=) (Можно заметить, что MJ изменил только вертикальный радиус.)

image_50f115c6aa655.png

image_50f1184d287e6.png

Где ты нашел эти "scale" модификации? VDP не предусматривает никаких попиксельных деформаций. В Sonic Mega Mushroom Соник увеличен ровно в восемь раз, так что один пиксель оригинального спрайта соотвествует тайлу 8х8. Соник рисуется на Плане Б целыми тайлами, окрашенными в цвет его пикслей.

ОК. Небольшой архив скриншотов.

http://rich.mushroom...telstva.7z.html

Ты всё ещё веришь, что это спрайт?

Насколько я помню, возможна была и трасформация спрайтов, по крайней мере такие эффекты я видел CD-версии игры Puggsy.

Хмм... Мне тоже самое сделать, что и с ромом Мега Гриба, или люди, наверно сами поймут?

Во-первых, причем здесь Мегамикс и Соник СД? Они никак не связаны. Мегамикс был портирован на Sega CD, а не переведен на базу Sonic CD. Это принципиально разные вещи. Мегамикс использует свою файловую систему, методы загрузки и пр, имеющие мало чего общего с Sonic CD. Портированием занимался Stealth, использовав при этом наработки, сделанные им ранее для проекта "Sonic for Mega CD", в котором он портировал игры Sonic 1 и 2 на базу Sega CD.

Я про другое. Близость Sonic CD к Sonic1 показывает близость SMD и CD. Наверно, поэтому им удалось перенести хак на CD. А Мегамикс к SonicCD, и наоборот, никак не относится.

0

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

ОК. Небольшой архив скриншотов.

http://rich.mushroom...telstva.7z.html

Ты всё ещё веришь, что это спрайт?

В той части моего же поста, которую ты процитировал, черным по-белому написано: Соник рисуется на Плане Б целыми тайлами, окрашенными в цвет его пикселей.

Где я утвреждал, что Соник в Mega Mushroom'е рисуется с использованием спрайтов?

Хмм... Мне тоже самое сделать, что и с ромом Мега Гриба, или люди, наверно сами поймут?

Здесь, если честно, я не совсем понял, что ты имеешь ввиду.

В цитате говорится о трансформации спрайтов на железе Mega CD, которая возможна благодаря дополнительному графическому процессору и производится на аппаратном уровне.

Если ты утверждаешь, что подобная трансформация спрайтов возможна на железе Sega Mega Drive, это не так. Как ты сам знаешь, Соник в Mega Mushroom рисуется с использованием Плана Б. Как это связано с превращениями спрайтов? К тому же Markey Jester смог относительно беспроблеммно все реализовать благодаря удачной степени увеличения - восьмикрактной, в которой один пиксель соотвествует размеру тайла, что значительно уменьшает затраты - достаточно заготовить 16 тайлов, закрашенных во все индексы цветов палитры (0-15) и все уже готово, чтобы нарисовать любое увеличенное изображение на Плане Б. При меньших степенях увеличения задача стала бы казаться едва выполнимой - потребовалось бы программное увеличение всех оригинальных тайлов, из которых будет сформировано изображение.

К слову, я занимался вопросом рендеринга увеличенных и уменьшенных изображений с начала 2011 года, когда предпринял первые попытки разработать соответсвующие алгоритмы. Алгоритм был успешно создан и работал, но к сожалению, чрезмерно слабый процессор брал свое - его едва хватало, чтобы растянуть два тайла на весь экран. Позже, в течении последующего времени я пробовал другие подходы, оптимизацию и ре-структуризацию данных. Часть моих разработок в этой сфере можно наблюдать в том же Sonic 3 in 1. Готов сказать, что увеличение спрайтов (кстати, при маленьких степенях увеличения можно продолжить использование спрайтов для отображения изображений, пример - значки игр в меню Sonic 3 in 1) требует крайне много ресурсов, как памяти, так и вычислительной мощи.

Есть только одна интересная "трансформация", которая возможно на железе при помощи одного хитрого программного трюка, который заключается в подмене значений вертикального скроллинга для слоя во отображения кадра. С помощью этого можно добиться интересных эффектов, например:

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

0

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

[media=]

Так это же лого из Соника 3 в 1

Я не пойму, почему, когда я его скачал и попробовал в 1й раз, спецуровни были обычными?

0

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

У меня вообще спецуровни обычные

0

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Потому что надо заходить в порталы над ламппостами, а не в большие кольца. Именно так, как вы заходите в Спешл стейджи в Соник 2.

0

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Мне понравилось на самом деле это очень трудная работа !

0

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Пожалуйста, войдите для комментирования

Вы сможете оставить комментарий после входа



Войти сейчас

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу

×