PDA

Просмотр полной версии : Концепции Guitar Hero и Dance Dance Revolution на ZXS



Lady Eklipse
07.09.2010, 23:04
Доброго времени суток!
Пишу сюда, чтобы поделиться возможно не новой идеей игр на ZX Spectrum. Не хочется, конечно, быть голословной, поэтому постараюсь описать то, что я имею в виду так, чтоб это не напоминало "можно грабить корованы" или имеющийся здесь тред об игре "Кто хочеть стать миллионером?", которой нет на Спекки, но она могла бы быть.

Есть сравнительно новый жанр игр - Rhythm game, рожденный в Японии в конце 90-х и популяризованный в двухтысячных, в основном на консолях.
Все бы хорошо, но игры эти хоть и увлекательные, они просты как 5 копеек, их концепция еще проще, чем концепция Тетриса: нажимать вовремя на нужные кнопки в такт музыке, с разницей легато и стаккато. Графика в этих играх не играет абсолютно никакой роли: если вы играете в GH, то навряд ли успеваете взглянуть, что творится на виртуальной сцене: всё внимание сосредоточено на бегущем грифе. Если танцуете в DDR, ситуация аналогична.
Популярность же этих игр продиктована может не столько их концептом, сколько способом игры: держать в руках настоящую гитару и чувствовать себя музыкантом в GH; по-настоящему танцевать в DDR, вместо того, чтобы накачивать большой палец. Но и эта концепция проста как 5 копеек: контроллер-гитара - это всего-навсего 5 кнопок на грифе, если считать Strumm и Whammy - целых 7. Но именно кнопок. Обычных цифровых кнопок: 0 - не нажата, 1 - нажата. С DDR еще проще: всего-то расстилаем коврик, подкладываем под него 4-хкнопочную мембрану - и девайс готов!

Итак, к чему же я это веду? Именно: Обе эти игры вполне реально реализовать на ZX Spectrum: графики особой не надо (музыкантов и танцоров можно даже нарисовать, если хочется), музыка у нас тоже своя есть: чем плох AY? Ну а с контроллерами см. выше: 5 кнопок на гитаре и 4 кнопки на DanceMat. То есть, построить аналогичные контроллеры для подключения к Kempston/Interface II - вполне реальная задача.

Наконец, я попытаюсь объяснить, как я это вижу в реализации:
Guitar hero. Чтобы избежать трудностей с копирайтом, его можно назвать AY Hero :-) Необходимо написать две программы: собственно, игру, которая как минимум должна включать в себя нарисованный гитарный гриф и 5 перемещающихся сверху вних круглых кнопок: когда кнопка достигает нижней отметки, она должна быть нажата, иначе прекращается проигрывание AY-трека.
Второе приложение - собственно для разработки гигов: нотный редактор, который вполне можно написать для PC. Все, что от него требуется - "развернуть" файл AY по линии времени, чтобы в каждую миллисекунду можно было добавить кнопки для нажатия, затем сохранить полученный "гиг" в формате, близком к текстовому: в какую секунду какая кнопка должна быть нажата. В принципе, это уже реализовано в Frets on Fire.
Сама игра будет загружать гиги с аудиокассеты: AY файл весит несколько килобайт, а когда какую кнопку нажимать - и того меньше, т.е. в памяти 128-килобайтного спекки может поместиться игра и около 10 композиций.
Даже если придется загружать в память по одному гигу, можно сделать так, как в игре Savage: каждый уровень - это отдельная программа, но чтобы попасть на второй уровень, надо пройти первый и получить пароль. Так и здесь: сначала проходим первый гиг, затем при достаточном количестве звезд переходим ко второму и т. д. Таким образом, длина игры ограничена только длиной кассеты, на которой она распространяется :)
С контроллером - примерно так же, как в треде с рулями для Спекки: достаточно взять имеющийся гитарный контроллер (на dealextreme есть от 20 долларов, хотя в магазине он стоит от сотни и выше) переделывается под спектрумовский порт джойстика: нам всего-то надо, чтобы каждая из 5ти кнопок подавала 5В на соответствующий ей штырь. Со Strum сложнее: или подключаем гитару к обоим портам Interface II, чтобы реализовать шестую кнопку, или он будет включать/выключать гитару (т.е. дернули "струну" - подали сигнал), или - его просто не будет: Guitar Hero Mobile Edition вполне играбелен на 5 кнопках без Strum.
В крайнем случае, можно взять спекки и держать в руках как гитару, играя на кнопках 1,2,3,4,5: как предлагают авторы Frets on Fire.

Dance Dance Revolution. В принципе, геймплей аналогичен GH, поэтому особо распространяться незачем. Контроллер - это обычный коврик с подложенной под него клавиатурной мембраной из огромных 4х кнопок. В принципе, такой можно изготовить даже в домашних условиях или опять же купить на dealextreme и перепаять под Joystick port Спектрума.

В принципе, это всё. :) В заключение попрошу в случае чего на меня не наезжать: я только описала собственные мысли. Конечно, я бы с радостью начала писать программный код прямо сейчас, но я знакома только с ZX Basic, а как писать игры на ZX Asm я понятия не имею (насколько я знаю, все игры на ассемблере и писались и пишутся до сих пор). Насколько мне известно, ZX Basic не позволяет даже реализовать плавное перемещение спрайта по экрану (может, я просто не знаю как?).
Иными словами, критика принимается только конструктивная :) Предложения выучить ассемблер тоже принимаются, если снабжены ссылкой на некоторый источник информации, который бы мог помочь в этом деле.

Спасибо за внимание!

unbeliever
08.09.2010, 01:07
Буду краток: http://www.youtube.com/watch?v=WyCMM6e1Lbo
Commodore 64, оригинальный GH контроллер + адаптер = Shredz64
Проект 2007 г.

psb
08.09.2010, 07:57
да, если уж делать, то с оригинальными железками. осталось найти, кто сделает геймплей;)

наверняка это будет newart;-)

Lady Eklipse
08.09.2010, 12:32
Буду краток: http://www.youtube.com/watch?v=WyCMM6e1Lbo
Commodore 64, оригинальный GH контроллер + адаптер = Shredz64
Проект 2007 г.
Commodore 64 - машинка хорошая :) Видео понравилось, хотя реализация Zelda theme на SIDе оставляет желать лучшего.
С64 использует такой же стандарт портов джойстика, как и Speccy, так что если позаимствовать тот же концепт, можно подключить контроллеры от Playstation для Speccy через такой же переходник. Другой вопрос - как этот переходник работает? Полагаю, что для всего разнообразия контроллеров для Playstation не обойтись без драйвера, т.к. Interface II позволяет задействовать только 2 джойстика из 5 кнопок каждый.
Это видео натолкнуло меня на мысль: насколько сложным может быть портирование этого проекта на Спектрум? В смысле, насколько ассемблер С64 похож на ассемблер ZXS? Так как в C64 стоит Моторола, а в ZXS - Z80, думаю, это составит некоторые трудности...

molodcov_alex
08.09.2010, 12:54
Eklipse, имхо надо не портировать, а писать с нуля, у C64 не только процессор совсем другой, но и в плане вывода графики у него есть некое преимущество (если оно конечно тут используется).
На самом деле я уже задумывался о реализации гитархиро на спеке, почти год назад задумывался. ;) Много чего продумал и даже написал зачатки вертикального скролла.
Но все заглохло (сессия, потом уже работа+учеба). :(
Вообще имхо тут даже не в коде проблема, а в музыке. Надо _много_ _хорошей_ музыки и рок/метал/блюз и т.д., которых так мало на спеке, тут были бы более чем в тему.

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

P.S. Еще были бы danmaku shooter'ы типа touhou project на спеке (хотя может я не в теме?) было бы вооще класс. Но что-то я сомневаюсь что спек такое потянет (несколько десятков мелких хаотически движущихся спрайтов).

breeze
08.09.2010, 12:56
В смысле, насколько ассемблер С64 похож на ассемблер ZXS? Так как в C64 стоит Моторола, а в ZXS - Z80, думаю, это составит некоторые трудности...

как человек который писал и под Speccy и под C64, скажу сразу, проще написать с нуля такую байду ;) тем более что, судя по видео, она не фантан :rolleyes:

Lady Eklipse
08.09.2010, 13:01
molodcov_alex, ух ты, даже прототип есть!
На ассемблере? :)
можете поделиться? Если не доделать, то просто взглянуть :)
Не думаю, что проблема в музыке: рок-композицию можно взять в MIDI и сконвертировать в AY. А имеющиеся техно-демки можно реализовать в Dance Dance Revolution, да и контроллер в домашних условиях изготовить можно. А для начала управление и с джойстика сойдет, хотя смотреться будет весело :)
Будет лучше, если в этой теме имеющиеся задумки и наработки прикреплять к сообщениям, получится здоровый GNU проект :)

molodcov_alex
08.09.2010, 13:23
Eklipse, прототип скорее в голове. Да смысла в выкладывании особого нет, там у меня экран просто забит всяким мусором, а посередине постоянно выводится пустая область (небольшой манипуляцией кода оно должно начать двигаться :) ), в общем по сути вот это (http://zxdn.narod.ru/coding/zg1scfrm.txt) реализовано. К тому же не у верен, что оно у меня с собой есть (если оно вообще бесследно не пропало).
Хотя я не очень музыкант, но даже из миди сложно перегнать на AY, голосов маловато (надо извращаться), к тому же надо делать качественно, а не тяп-ляп. Поэтому у меня также была задумка не ограничиваться одним AY, но также поддержать TS, TSFM и GS.

А задумки пока в голове, они скорее технического плана.

psb
08.09.2010, 13:32
я думаю здесь сложности не в железе... далеко не в железе... вот сделайте саму игру, а железо сделаем:) не думаю, что кто-то серьезно возьмется за софт.

т.е. объявляем набор желающих писать софт.

molodcov_alex
08.09.2010, 13:56
я думаю здесь сложности не в железе... далеко не в железе...
С жалезом вообще ноль проблем. У меня была идея пользовать по два (любых) порта джойстиков (т.к. гитархиро надо минимум 6 кнопок, если б.м. похоже на оригинал делать). (собственно это уже описано в первом посте)

объявляем набор желающих писать софт.
Сейчас набигут стопицот желающих :D

kotsoft
08.09.2010, 17:55
Что-то слабо себе представляю как наша бородатая ZX-братия пляшет Dance Revolution и лабает гитар хиро на спеке) Если только под пьяную лавку на демопати.

psb
08.09.2010, 19:10
Если только под пьяную лавку на демопати.
именно!

molodcov_alex
08.09.2010, 20:45
Решил "вспомнить молодость" и переписать, что уже было написано. По тактам получилось шустрее :) , но всплыла другая проблема - при скролле сверху вниз экран надо обрабатывать снизу вверх (методы копирования через стек тем же самым болеют), успеть это сделать до начала экрана у меня не получается - в итоге имеем неприятный артефакт.
Тут либо думать о другом методе скроллинга, либо отказаться от скролла и выводить другими методами, либо все же скроллить, но справа налево (что помоему гораздо проще).

psb
08.09.2010, 21:46
делать под 128 с двумя экранами и не будет "глюка".

molodcov_alex
08.09.2010, 21:53
psb, тоже вариант ;)
Но хочу пока поэкспериментировать с одним экраном, максимум выжать.

Lady Eklipse
08.09.2010, 22:15
делать под 128 с двумя экранами
а зачем вообще заморачиваться с 48, если под него нет AY? :) Вернее есть, но только внешний, а это не тру :)
Да и джойстиков тоже по умолчанию нет.

molodcov_alex
08.09.2010, 22:26
Мне в 48к вообще не развернуться :v2_wacko:

А джойстики это смотря где, в оригинальном даже в 128'м нету, а вот в ленинграде есть kempston.

molodcov_alex
09.09.2010, 12:04
Вот такая фигня у меня выходит, просто скролящаяся картинка, один экран - поэтому присутствует глюк.

upd.
Два экрана, скролл не закольцован. Корованы грабить пока нельзя, но можно понажимать кнопки ;)

neon79
09.09.2010, 20:14
molodcov_alex, Затестил на Спектакуляторе. ИМХО, самое оно.

rasmer
09.09.2010, 21:18
%11111111
%11111111
%11111111
%11111111
%00000000
%00000000
%00000000
%00000000

вот таким знакоместом заполнить экран и АТРИБУТАМИ можно будет добиться скролла в 4 пиксела и ОЧЕНЬ "SYKA" БЫСТРО

molodcov_alex
09.09.2010, 21:28
Так таким методом только полосочки и получится рисовать, никаких спрайтов. Или я чего-то не понимаю?
К тому же у меня скролл сдвигается на любое число строк, не только кратное четырем. Сейчас вроде по десять строк сдвигается.

rasmer
10.09.2010, 20:42
ну полосочка полосочке рознь... имхо вполне должно хватить!!!!