Хотелось бы поговорить о видео на спекки.
Смелый эксперимент Славы Калинина показал, что на спектруме можно проигрывать цветное видео со звуком, и с нормальным (почти анимешным) fps. Правда для этого надо подключить CD-ROM или винт, но судя по холодной реакции народа на эти примочки, какого-то прогресса с этой стороны ждать не приходится... А жаль. Мы получили бы возможность создавать (и играть) принципиально новые игры, и улучшить старые... Ну да ладно, это вопрос отдельной темы.
Как это ни геморно, приходится заставлять работать дискету и 128кб памяти
Я внимательно слежу за проектом VS, но практического применения ему пока не вижу - как ни хорошо будет сжатие, в 128кб много не запихнёшь.
А для чего нужно вообще видео на компьютере? Для создания самостоятельных произведений и, конечно, intro, final cut и межуровневых вставок для игрушек. Т.е. нам нужно минимальное количество кадров "растянуть" как можно дольше по времени
Эту проблему, как мне кажется, можно решить, используя специальный анимационный движок. Он должен уметь по-минимуму: проигрывать потоковое (сжатое) видео, использовать программно реализуемые эффекты (затемнение, из_затемнения, кадр плавно перехрдящий в другой кадр), показывать статические кадры, воспроизводить циклическую анимацию (прямую и ping-pong), выводить пояснительный текст, играть музыку.
Т.е. у нас есть план анимации. Есть набор подготовленных кадров. Есть тексты диалогов и музыка. Из всей этой кучи мы вручную "набиваем" анимацию. Типа скриптов такого вида:
Анимация(Заставка)
Грузить кадры (1-30)
Пауза (300)
КадрИзЗатемнения(1)
ВывестиТекст,Цвет3("Я сидел, положив ноги на стол и раздумывал о жизни. Сказать, что меня посещали светлые мысли - означало бы жестоко солгать. Дела у меня в последнее время шли неважно, и толстая пачка счетов в мусорной корзине под столом была немым этому напоминанием.")
Цикл,(20)раз,Пауза(5),кадры(1-5),ping-pong {Качается на стуле}
Играть,пауза(10),кадры(1-11) {Изменение ракурса камеры}
Цикл,(20)раз,Пауза(5),кадры(12-17),ping-pong {Качается на стуле в новом ракурсе}
ВывестиТекст,Цвет3("Я вздохнул, достал коробку с Саморазогревающимся завтраком для экономных (tm)", и посмотрел на этикетку.")
Играть,пауза(10),кадры(1-12) {Анимация доставания коробки}
СтатичноКадр(12),Пауза(1000)
ВывестиТекст,Цвет3("Срок годности истёк 12.01.2205г. Три дня назад.)
Играть,пауза(10),кадры(13-15) {Анимация "показа" даты}
СтатичноКадр(15),Пауза(1000)
И т.д.
Все циклы и статика продолжаются либо столько раз, сколько указано, либо до
нажатия клавиши. Пауза - пауза после каждого кадра.
Можно количество команд даже сократить до трёх:
Играть: pause,frames
Цикл: amount,pause,frames
ВывестиТекст: color (text).
Т.о. мы получаем возможность рационально использовать кадры, и
получать длинные анимации за счёт повторения кадров. Что, собственно, и требуется.
Мнения?