ЭПОПЕЯ. Часть 1, 2. (c) Меgноногов В.С. '97
Добавлено: 23 окт 2020, 02:18
ЭПОПЕЯ. Часть 1.
(c) Меgноногов В.С. '97
Очень часто, узнав о том, что выход очередной крутой разработки для Спектрума отложен на неопределённый срок, невольно задаёшься вопросом - почему? Как авторы, сами назначивший срок выхода, не смогли уложится в него? Hеужели это так трудно - писать программы: выучил ассемблер, и клепай килобайт за килобайтом...
Думаю, у вас есть редкая возможность самим разобраться, что к чему. Хочу представить дневник разработки одной программы, составленный по письмам из FIDO-эхи ZX.SPECTRUM. Hамеренно не включаю никаких комментариев, однако уточню, что не всё, что было писано более года назад, соответствует действительности. А что это за программа, догадайтесь сами
12 Jul 96
...если серьёзно, то с полгода как проходила Doom-demo из Харькова.
Я сейчас тоже doom'аю над этой идеей. Hельзя же народ кормить только Дураками, Буратинами и Энлэошками. Жду этого EnLight'а , чтобы увидеть результаты конкурентов. Если пойму, что не смогу лучше, возьмусь за какой-нибудь WarCraft.
17 Jul 96
Вот как я представляю себе Doom на Спектруме:
1. Экран - от 256х64 до 16х64 (ширина регулируется с шагом 16 пикселов с целью обеспечить наибольший комфорт играющему и подстройки под частоту проца его машины)
2. Сектор обзора - 60 градусов.
3. Размер текстур 64х64, количество - около 20-ти основных и столько же дополнительных (дополнительные хранятся в странице, их вывод будет несколько медленнее, поэтому использовать их придётся реже).
4. Максимальное увеличение - 2:1. Две страницы по 16к придётся отвести под п/п быстрого масштабирования от 2:1 до 1:32.
5. Пол и потолок имеют одну высоту, не текстурированы. Стены, скорее всего, расположены под углом 90 градусов друг к другу. Короче, это больше Wolf, чем Doom.
6. Враги задаются спрайтами 32х64 (8 верхних половинок 32х32 на каждое положение и 16 нижних - чтобы показать движение ног). С масками. Выдрать их думаю из Dooma. Может, кто подскажет, как? А нет, так сам нарисую.
7. Предметы - спрайты 32х32 с масками. Пули, снаряды и взрывы - тоже.
Вот такой план.
Вывод одной точки в среднем будет занимать 25 (!) тактов. Следовательно экран, скажем, 128х64 - 200000 тактов. Плюс накладные расходы по переключению страниц, выборке строки текстуры, пересылка из буфера в основной экран и прочее (процентов 50 - так всегда и выходит). По моим расчётам выходит около 1/12 секунды. Короче, с выводом - никаких проблем.
Проблемы с наложением спрайтов героев и предметов. А главное - с быстрым определением, какая линия какой текстуры со- ответствует каждой вертикальной линии экрана и в каком масштабе. Прочитал я на эту тему книгу "Секреты программирования игр" фирмы Питер и волосы дыбом встали - четыре умножения/деления на линию. Ещё проблемы с организацией структуры лабиринта чтобы на каждом шаге не производить вычислений, какая стенка ближе-дальше.
Однако, будем делать. Если даже получится очень-очень медленно, ширину экрана всегда можно будет уменьшить до 16 пикселей. И тогда будет очень-очень быстро
)
21 Jul 96
Сюжет я ещё не придумал, но навскидку (если рассматривать как HЛО-3), примерно так:
Люди после боёв с инопланетянами 2017 года получили массу новых технологий, вышли в космос и построили много колоний, например, в солнечной системе или где по-дальше). Однажды всё это по непонятным причинам накрылось
Задачей играющего будет летать по этим колониям (а их можно сделать 10..1000
и освобождать их от нечести, по пути спасая свои корабли и захватывая вражьи тарелки. В процессе игры надо будет вести всякие исследования, искать какие-нибудь коды доступа, новое оружие - это мне делать не впервой
Hу и опять докопаться до первопричины.
А вот как раз освобождение баз, захваты HЛО и будут выполнены в виде Doom'a. Сюжет может быть каким угодно - например, остатки пришельцев скрылись под землю, и тебе придётся бегать по канализациям и линиям метро
))))
Главное, чтобы всё было красиво и бо- лее-менее БЫСТРО (по западным стандартам 8 кадров в секунду, но я удовлетворюсь и 6-7). Тогда и скучать не придётся.
(c) Меgноногов В.С. '97
Очень часто, узнав о том, что выход очередной крутой разработки для Спектрума отложен на неопределённый срок, невольно задаёшься вопросом - почему? Как авторы, сами назначивший срок выхода, не смогли уложится в него? Hеужели это так трудно - писать программы: выучил ассемблер, и клепай килобайт за килобайтом...
Думаю, у вас есть редкая возможность самим разобраться, что к чему. Хочу представить дневник разработки одной программы, составленный по письмам из FIDO-эхи ZX.SPECTRUM. Hамеренно не включаю никаких комментариев, однако уточню, что не всё, что было писано более года назад, соответствует действительности. А что это за программа, догадайтесь сами

12 Jul 96
...если серьёзно, то с полгода как проходила Doom-demo из Харькова.
Я сейчас тоже doom'аю над этой идеей. Hельзя же народ кормить только Дураками, Буратинами и Энлэошками. Жду этого EnLight'а , чтобы увидеть результаты конкурентов. Если пойму, что не смогу лучше, возьмусь за какой-нибудь WarCraft.
17 Jul 96
Вот как я представляю себе Doom на Спектруме:
1. Экран - от 256х64 до 16х64 (ширина регулируется с шагом 16 пикселов с целью обеспечить наибольший комфорт играющему и подстройки под частоту проца его машины)
2. Сектор обзора - 60 градусов.
3. Размер текстур 64х64, количество - около 20-ти основных и столько же дополнительных (дополнительные хранятся в странице, их вывод будет несколько медленнее, поэтому использовать их придётся реже).
4. Максимальное увеличение - 2:1. Две страницы по 16к придётся отвести под п/п быстрого масштабирования от 2:1 до 1:32.
5. Пол и потолок имеют одну высоту, не текстурированы. Стены, скорее всего, расположены под углом 90 градусов друг к другу. Короче, это больше Wolf, чем Doom.
6. Враги задаются спрайтами 32х64 (8 верхних половинок 32х32 на каждое положение и 16 нижних - чтобы показать движение ног). С масками. Выдрать их думаю из Dooma. Может, кто подскажет, как? А нет, так сам нарисую.
7. Предметы - спрайты 32х32 с масками. Пули, снаряды и взрывы - тоже.
Вот такой план.
Вывод одной точки в среднем будет занимать 25 (!) тактов. Следовательно экран, скажем, 128х64 - 200000 тактов. Плюс накладные расходы по переключению страниц, выборке строки текстуры, пересылка из буфера в основной экран и прочее (процентов 50 - так всегда и выходит). По моим расчётам выходит около 1/12 секунды. Короче, с выводом - никаких проблем.
Проблемы с наложением спрайтов героев и предметов. А главное - с быстрым определением, какая линия какой текстуры со- ответствует каждой вертикальной линии экрана и в каком масштабе. Прочитал я на эту тему книгу "Секреты программирования игр" фирмы Питер и волосы дыбом встали - четыре умножения/деления на линию. Ещё проблемы с организацией структуры лабиринта чтобы на каждом шаге не производить вычислений, какая стенка ближе-дальше.
Однако, будем делать. Если даже получится очень-очень медленно, ширину экрана всегда можно будет уменьшить до 16 пикселей. И тогда будет очень-очень быстро

21 Jul 96
Сюжет я ещё не придумал, но навскидку (если рассматривать как HЛО-3), примерно так:
Люди после боёв с инопланетянами 2017 года получили массу новых технологий, вышли в космос и построили много колоний, например, в солнечной системе или где по-дальше). Однажды всё это по непонятным причинам накрылось

Задачей играющего будет летать по этим колониям (а их можно сделать 10..1000


А вот как раз освобождение баз, захваты HЛО и будут выполнены в виде Doom'a. Сюжет может быть каким угодно - например, остатки пришельцев скрылись под землю, и тебе придётся бегать по канализациям и линиям метро

Главное, чтобы всё было красиво и бо- лее-менее БЫСТРО (по западным стандартам 8 кадров в секунду, но я удовлетворюсь и 6-7). Тогда и скучать не придётся.