Доброго времени суток!
Пишу сюда, чтобы поделиться возможно не новой идеей игр на 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 не позволяет даже реализовать плавное перемещение спрайта по экрану (может, я просто не знаю как?).
Иными словами, критика принимается только конструктивная Предложения выучить ассемблер тоже принимаются, если снабжены ссылкой на некоторый источник информации, который бы мог помочь в этом деле.
Спасибо за внимание!