Важная информация

User Tag List

Показано с 1 по 10 из 88

Тема: Death Drive Destruction (dev log)

Древовидный режим

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #13
    Activist Аватар для Deadly
    Регистрация
    18.01.2021
    Адрес
    г. Санкт-Петербург
    Сообщений
    265
    Спасибо Благодарностей отдано 
    42
    Спасибо Благодарностей получено 
    367
    Поблагодарили
    104 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    + посты в ТГ

    - - - Добавлено - - -






    Немного об ограничениях и возможностях.
    Отрисовка картинки (2х пиксельного скрола) устроена следующим образом,
    заранее подготовлены 4 сдвига по 2 пикселя двух смежных тайлов, так называемые тайлопары.
    Что позволяет почти за фрейм ~80к тактов вывести фон из таких тайлопар в окне размером 10.5х11 тайлов (168х160 пикселей).
    Количество таких тайлопар ограничено доступной памяти в 7 страницы ОЗУ, на хранение адреса и смещённых спрайтов и равно оно 79 тайлопарами.
    Данный способ вывода графики является наиболее приемлемый, т.к. обладает высокой производительностью, но остальные объекты имеющие
    маску, коллизию и разные флаги для взаимодействия рисуются повторно вторым слоем с предварительной сортировкой по вертикали,
    так называемые динамические объекты, обладают свойствами:
    - декали (имеют приоритет сортировки),
    - проджектайлы (высоту полёта и вектор скорости),
    - частицы (вектор скорости и время жизни),
    - коллизия видимую и физическую
    - т.п. флаги.

    размер буфера в 1кб позволяет хранить 42 объекта.


    Для того что бы объекты поместились в буфере по мере перемещения окна по миру, объекты добавляются/удаляются постоянно.

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

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

    По этому подумав, что было бы неплохо часть тайлов которые попадали бы в динамические объекты вынести в тайлопары,
    для этого потребуется увеличить количество тайлопар до максимума 128шт, а размещать новые 49 шт в любой странице,
    перед выводом их копировать в общий буфер, как это делается с динамическими объектами и выводить. Падение производительности прямо пропорционально,
    количеству таких тайлопар на экране, 40 шт таких тайлопар съест ~25к тактов, при условии что видимое окно вмещает 121 тайл.
    Так же на картинке видно, в жёлтый прямоугольник это тайлопары, красные, это динамические объекты имеющие коллизию, чем не обладают тайлопары.
    Голубые кубики, это динамические объекты не обладающие коллизией, но рендер их осуществляется с альфа маской.
    Самый верхний прямоугольник, не относится к тайлопаре, хотя находится на его поверхности, подобную проблему скорей всего решится путём, добавления пустых объектов (только коллизия)

  2. Эти 5 пользователя(ей) поблагодарили Deadly за это полезное сообщение:

    Bedazzle (08.05.2024), Black Cat / Era CG (03.05.2024), Reobne (04.05.2024), Slider (04.05.2024), SoftLight (09.05.2024)

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

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

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

Похожие темы

  1. Log Cabin Dizzy (ZX Spectrum Edition)
    от Verm-V в разделе Игры
    Ответов: 15
    Последнее: 07.02.2021, 16:50
  2. Maze Death Rally-X
    от abelenki в разделе Игры
    Ответов: 3
    Последнее: 15.11.2018, 11:56
  3. Robot 1 in The Planet Of Death
    от abelenki в разделе Игры
    Ответов: 0
    Последнее: 25.09.2017, 03:18
  4. Ответов: 4
    Последнее: 12.05.2007, 03:38

Ваши права

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