User Tag List

Страница 10 из 59 ПерваяПервая ... 67891011121314 ... ПоследняяПоследняя
Показано с 91 по 100 из 589

Тема: Sea Dragon

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1

    Регистрация
    08.09.2005
    Адрес
    Воронеж
    Сообщений
    5,000
    Записей в дневнике
    3
    Спасибо Благодарностей отдано 
    324
    Спасибо Благодарностей получено 
    327
    Поблагодарили
    249 сообщений
    Mentioned
    11 Post(s)
    Tagged
    0 Thread(s)

    Lightbulb идейко

    Цитата Сообщение от jerri
    значит спрайт должен накладываться так чтобы не затираться тайлом
    Лишние проверки - проще стирать построчно
    (или по очереди, но главно чтоб за лучом)

    Цитата Сообщение от jerri
    вот смотри
    ...
    если красим лодкой местность то земля поменяет цвет
    если лодка красится фоном то все нормально
    Снова ты не понял
    Нужно снизить средневзвешенную по яркости разницу с идеальным случаем (три цвета на знакоместо)
    То есть нужно не просто стирать меньший кусок, а красить его в ближайший цвет (из двух доступных)
    Белую лодку в красный ИЛИ красную землю в синий

    Цитата Сообщение от jerri
    лучший вариант - Мина спрайтом- для корректной обработки торпед
    Разве только после начала движения

    Цитата Сообщение от jerri
    а кто будет считать объекты?
    Любой, кому известен ландшафт на всем протяжении (тоись аффтар))
    Можно "вычислить" самый забитый экран (пиковый случай)
    Хоть на глаз, хоть утилиткой автоматической

    Цитата Сообщение от ace210
    Я предлагаю спрайты! Размер в высоту 8 пикселей, а в ширину - переменное число. Тогда не нужно будет ксерить (маскировать) левый байт. Просто тупо выводим по знакоместам и всё!
    Это с какой же радости не нужно маскировать или хотя бы ксорить?
    Если не нужно маскировать, это уже не спрайт, а бяка квадратная

    И вообще, раз пошла такая пьянка, у меня предложение:

    Sea DraGon oLdsK0ol Demo Remix

    Всю атаривскую угловатую графику можно безболезненно линейно уменьшить вдвое
    Таким образом, нам придется обслуживать только 80 строк без дублирования
    А размеры собственно игрового поля даже возрастут

    А главное - на экране еще останется много места для всяких переливчатых и бегущих строк
    с гритингсами и факами, которые (строки, а не факи) несомненно порадуют AAA!
    и прочих олдскул маньяков

    Можно даже исхитриться и добавить простых бордюрных эффектов (продолжение по краям цвета воды и неба)
    А также вместо резкого клиппинга - плавный блендинг

    Получается игра и дема в одном флаконе!
    Можно отправить сразу на два разных конкурса!!
    Прихожу без разрешения, сею смерть и разрушение...

  2. #1
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  3. #2

    Регистрация
    01.03.2005
    Адрес
    Samara
    Сообщений
    4,896
    Спасибо Благодарностей отдано 
    339
    Спасибо Благодарностей получено 
    321
    Поблагодарили
    245 сообщений
    Mentioned
    13 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Lethargeek

    Ладно понятно связной концепции нет
    то что ты предлагаешь не очень весело и не очень быстро

    движок мой тоже еще никто не понял
    как разберетесь - призовете
    Последний раз редактировалось jerri; 20.11.2009 в 22:03.
    С уважением,
    Jerri / Red Triangle.

  4. #3

    Регистрация
    17.06.2009
    Адрес
    Москва
    Сообщений
    401
    Спасибо Благодарностей отдано 
    421
    Спасибо Благодарностей получено 
    6
    Поблагодарили
    4 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию 3-я реализация

    Обновил первый пост ветки http://zx.pk.ru/showthread.php?t=11233

    Уф. Закончил делать познакоместный вывод. Чем дальше - тем сложнее.
    Это уже 3-я по счету реализация.

    Немного комментариев к ревизии 18:
    1) Теперь ландшафт рисуется не тайлами, а спрайтами высотой 8 пикселей и различной шириной (1,2,3,4 знакоместа). За счет этого удалось избавиться от маскирования левого тайла.
    2) Для быстроты вывода прямо в данных ландшафта зарезервированы (и используются) дополнительные данные такие как: адрес процедуры вывода спрайта, адрес спрайта, координата X спрайта, адрес экрана.

    Т.е. это и есть буфер, что предложил Jerri. Но он не строится заново на каждой обработке, а только немного корректируется.

    В снапшоте голубой бордюр отмечает общее время цикла (обработка+отрисовка). Причем обработка делается только каждые 4 кадра, поэтому бордюр в это время мерцает.

    qsave1.rar
    https://seadragon.svn.sourceforge.ne...oot/seadragon/

    В пике уже больше 40 Ктактов получается. Что-то я забеспокоился. Удастся ли уложится в 1 фрейм?

  5. #4

    Регистрация
    08.09.2005
    Адрес
    Воронеж
    Сообщений
    5,000
    Записей в дневнике
    3
    Спасибо Благодарностей отдано 
    324
    Спасибо Благодарностей получено 
    327
    Поблагодарили
    249 сообщений
    Mentioned
    11 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ace210 Посмотреть сообщение
    Уф. Закончил делать познакоместный вывод. Чем дальше - тем сложнее.
    А нужны ли такие сложности
    Ты хоть считаешь, будет ли реальное ускорение?
    Как бы экономия на спичках не получилась

    Цитата Сообщение от ace210 Посмотреть сообщение
    1) Теперь ландшафт рисуется не тайлами, а спрайтами высотой 8 пикселей и различной шириной (1,2,3,4 знакоместа). За счет этого удалось избавиться от маскирования левого тайла.
    А например мину в шахте (или просто слева по склону) ты как рисовать собрался?

    Цитата Сообщение от ace210 Посмотреть сообщение
    В пике уже больше 40 Ктактов получается. Что-то я забеспокоился. Удастся ли уложится в 1 фрейм?
    Так вроде в оригинале скорость в два раза меньше
    В два неполных (за лучом/перед лучом) фрейма точно уложишься
    Прихожу без разрешения, сею смерть и разрушение...

  6. #5

    Регистрация
    08.05.2007
    Адрес
    Dnepropetrovsk
    Сообщений
    1,089
    Спасибо Благодарностей отдано 
    281
    Спасибо Благодарностей получено 
    70
    Поблагодарили
    49 сообщений
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ace210 Посмотреть сообщение
    В снапшоте голубой бордюр отмечает общее время цикла (обработка+отрисовка). Причем обработка делается только каждые 4 кадра, поэтому бордюр в это время мерцает.
    Очень хорошо получилось! Ландшафт скроллится каждый фрейм, и в основном это происходит за весьма малое время. Респект!

    Что касается мерцания каждые 4 такта - то оно весьма существенное. По-видимому, обработка занимает немало времени. В связи с этим идея: разделить обработку на 4 этапа и выполнять каждый из них каждый фрейм, так чтобы более равномерно распределить нагрузку на проц. Но это можно сделать и после.

    Наибольшая нагрузка на прорисовку ландшафта наблюдается в случае, когда на экране много шахт. В связи с этим идея - рисовать шахты специализированной процедурой, оптимизированной под шахты. Ведь пологий ландшафт и шахты имеют существенно разный вид на экране, и рисование их одним и тем же алгоритмом неминуемо приведет к неоптимальности.

    В 1 фрейм нужно обязательно уложиться. Судя по тому, что у тебя уже получилось, это должно быть возможно. Насколько при этом игра будет более динамичной!

    Что касается плавности восприятия движения человеком, то здесь можно сравнить 3 варианта, а именно:

    1. изображение смещается на 1 пиксел каждый кадр
    2. изображение смещается на 2 пиксела каждый кадр
    3. изображение смещается на 1 пиксел каждые 2 кадра.

    Так вот, в первом и втором случае (а также в случае смещения на >2 пикселов каждый кадр) движение воспринимается идеально плавным, а вот в случае 3 оно получается дерганным и размытым. В чем тут дело?

    А дело в том, что когда человек присматривается к движущемуся по экрану объекту, то он зрачком следит за этим объектом, то есть зрачок перемещается плавно так, чтобы движущийся объект всегда оказывался в одном и том же месте сетчатки. И если объект смещается на равное расстояние каждый кадр - то его изображение будет вспыхивать (экран мерцает) всегда на одном и том же месте сетчатки. То есть объект будет виден четко.

    А вот если объект смещается не каждый кадр, то когда зрачок следит за объектом, то один раз на 2 кадра изображение будет появляться в другом месте сетчатки глаза, смещенно относительно предыдущего кадра. Поскольку глаз и последующие области мозга, которые обрабатывают изображение, обладают некоторой инерционностью, то изображение размывается, а также те области мозга, которые детектируют движение (а действуют они подобно тому, как детектируется движение в видео кодеках, только более точно) - эти области тоже начнут срабатывать нерегулярно.

    Я видел недавно в общественном месте такой прикол. Было несколько вертикальных столбиков светодиодов, которые хитрым образом мерцали, так вот, если относительно медленно (но не слишком медленно) перемещать взгляд мимо этих столбиков, то удавалось увидеть различные картинки (движущиеся и статические). Механизм здесь тот же. Зрачок движется, а источник света стоит, в результате получается, что изображение источника света движется относительно сетчатки, что и формирует на некой ее протяженной области изображение картинки.

    ---------- Post added at 01:25 ---------- Previous post was at 01:08 ----------

    Еще более радикальная идея устранить неравномерность нагрузки на проц, которая обусловлена обработкой ландшафта и пр. - это использовать концепцию вытесняющей многозадачности.

    У нас есть две задачи, первая - прорисовка ландшафта - критичная по времени, и она должна выполняться каждый кадр, причем синхронно с лучом. Вторая задача менее критична во времени, потому что она может быть выполнена (сразу или поэтапно) в течение 4х кадров, причем неважно, когда именно. Вытесняющая многозадачность подразумевает выполнение второй задачи тогда и только тогда, когда процессор не занят выполнением первой.

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

    С таким подходом "на задний план" в игре можно напихать много разных задач, лишь бы только в среднем за какой-то промежуток времени они успевали исполниться. А проц будет простаивать только тогда, когда ему совсем уж нечего делать.
    Последний раз редактировалось Barmaley_m; 29.11.2009 в 02:26. Причина: исправил опечатки в падежах

  7. #6

    Регистрация
    17.06.2009
    Адрес
    Москва
    Сообщений
    401
    Спасибо Благодарностей отдано 
    421
    Спасибо Благодарностей получено 
    6
    Поблагодарили
    4 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Немного продлил ландшафт
    qsave1.rar
    Последний раз редактировалось ace210; 27.11.2009 в 19:27.

  8. #7

    Регистрация
    28.10.2005
    Адрес
    Омск
    Сообщений
    2,117
    Спасибо Благодарностей отдано 
    165
    Спасибо Благодарностей получено 
    46
    Поблагодарили
    32 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    jerri,
    ace210,
    по вашим коментариям я понял что вы вроде играли в эту игрушку на trs80,
    не можете подсказать где взять биосы для этого компьютера ?
    у меня пара эмуляторов trs80 есть, но запустить не могу.
    не поможете ?

  9. #8

    Регистрация
    01.03.2005
    Адрес
    Samara
    Сообщений
    4,896
    Спасибо Благодарностей отдано 
    339
    Спасибо Благодарностей получено 
    321
    Поблагодарили
    245 сообщений
    Mentioned
    13 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ZEman Посмотреть сообщение
    jerri,
    ace210,
    по вашим коментариям я понял что вы вроде играли в эту игрушку на trs80,
    не можете подсказать где взять биосы для этого компьютера ?
    у меня пара эмуляторов trs80 есть, но запустить не могу.
    не поможете ?
    Лови
    Вложения Вложения
    • Тип файла: zip trs-89.zip (265.1 Кб, Просмотров: 209)
    С уважением,
    Jerri / Red Triangle.

  10. #9

    Регистрация
    19.01.2005
    Адрес
    Санкт-Петербург
    Сообщений
    11,557
    Спасибо Благодарностей отдано 
    205
    Спасибо Благодарностей получено 
    188
    Поблагодарили
    83 сообщений
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ace210 Посмотреть сообщение
    1) Теперь ландшафт рисуется не тайлами, а спрайтами высотой 8 пикселей и различной шириной
    Может все таки 4 пикселя?
    (или это спрайты так нарисованы, c парными строками?)

  11. #10

    Регистрация
    17.06.2009
    Адрес
    Москва
    Сообщений
    401
    Спасибо Благодарностей отдано 
    421
    Спасибо Благодарностей получено 
    6
    Поблагодарили
    4 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от newart Посмотреть сообщение
    Может все таки 4 пикселя?
    Правильно. Хранится 4, выводится - 8 дублированием.

Страница 10 из 59 ПерваяПервая ... 67891011121314 ... ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Dizzy-AGE: Dragon Valley Dizzy
    от Rindex в разделе Dizzy-AGE
    Ответов: 82
    Последнее: 02.09.2011, 17:54
  2. New CEZ Silver game: Mariano the dragon
    от riskej в разделе Игры
    Ответов: 8
    Последнее: 16.05.2008, 13:37

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •