Хотелось бы поговорить о видео на спекки.
Смелый эксперимент Славы Калинина показал, что на спектруме можно проигрывать цветное видео со звуком, и с нормальным (почти анимешным) 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).
Т.о. мы получаем возможность рационально использовать кадры, и
получать длинные анимации за счёт повторения кадров. Что, собственно, и требуется.
Мнения?