User Tag List

Страница 13 из 32 ПерваяПервая ... 91011121314151617 ... ПоследняяПоследняя
Показано с 121 по 130 из 317

Тема: GameNoname

  1. #121

    Регистрация
    29.06.2022
    Адрес
    г. Ирвайн, США
    Сообщений
    408
    Спасибо Благодарностей отдано 
    590
    Спасибо Благодарностей получено 
    340
    Поблагодарили
    109 сообщений
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    BlaireCas, понял. Спасибо! Ты используешь этот подход про который ты написал про 16x16 тайля в своей игре Descent?

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

    А как ты находишь тайлы которые нужно вывести на экран?

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

    Я имею ввиду после того как ты нарисовал их в бэк буфыер.

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

    А как на укнц задаётся цвет на пиксель?

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

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

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

  3. #122

    Регистрация
    06.02.2020
    Адрес
    г. Москва
    Сообщений
    485
    Спасибо Благодарностей отдано 
    140
    Спасибо Благодарностей получено 
    392
    Поблагодарили
    147 сообщений
    Mentioned
    8 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от parallelno Посмотреть сообщение
    А как на укнц задаётся цвет на пиксель?
    Три цветных буфера используется. Синий зеленый красный собственно. Тройная прорисовка в буфера получается (очень накладно увы).
    При самом выводе их на экран там свои проблемы на том компьютере (тормоза).

    Размерами 256х224 то-есть 32х28 знакомест или 16х14 тайлов по 16х16 (почему тайлы по 16 - ну там 16-ти битный типа комп, он сразу word может фигануть, на 80-м проце видимо 8х8 самое оно будет)
    Когда прохожусь по таблице спрайтов которые надо вывести на экран - я модифицирую биты в тайловой табличке исходя из координат спрайта. Мол сюда рисовался спрайт на этом кадре (это может быть и один тайл и два и четыре).
    Ну и так все спрайты прорисовываются в буфер и модифицируется битовая таблица тех тайлов буфера которые были затронуты прорисовкой спрайтов.

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

    Еще самый простой способ чтобы спрайт "заходил за экран" это сделать эти буфера побольше отображаемой области на экране. А на экран выводить без внешних кусков.
    Последний раз редактировалось BlaireCas; 03.09.2022 в 13:55.
    Шедевр портирования на УКНЦ - игра Highway Encounter
    Эмуляторы: UKNCBTL, EmuStudio (респект авторам)

    Этот пользователь поблагодарил BlaireCas за это полезное сообщение:

    parallelno(04.09.2022)

  4. #123

    Регистрация
    29.06.2022
    Адрес
    г. Ирвайн, США
    Сообщений
    408
    Спасибо Благодарностей отдано 
    590
    Спасибо Благодарностей получено 
    340
    Поблагодарили
    109 сообщений
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от BlaireCas Посмотреть сообщение
    Три цветных буфера используется. Синий зеленый красный собственно. Тройная прорисовка в буфера получается (очень накладно увы).
    Размерами 256х224 то-есть 32х28 знакомест или 16х14 тайлов по 16х16.
    Когда прохожусь по таблице спрайтов которые надо вывести на экран - я модифицирую биты в тайловой табличке исходя из координат спрайта. Мол сюда рисовался спрайт на этом кадре (это может быть и один тайл и два и четыре).
    Ну и так все спрайты прорисовываются в буфер и модифицируется битовая таблица тех тайлов буфера которые были затронуты прорисовкой спрайтов.

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

    Еще самый простой способ чтобы спрайт "заходил за экран" это сделать эти буфера побольше отображаемой области на экране. А на экран выводить без внешних кусков.
    Ты проходишь по всей битовой таблице? Каждый экранный тайл?

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

    В укнц 8 одновременных цветов?

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

    У меня ещё пара вопросов. Насколько понятен алгоритм который я описал? На сколько хорошо ты знаешь архитектуру вектора?

  5. #124

    Регистрация
    06.02.2020
    Адрес
    г. Москва
    Сообщений
    485
    Спасибо Благодарностей отдано 
    140
    Спасибо Благодарностей получено 
    392
    Поблагодарили
    147 сообщений
    Mentioned
    8 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от parallelno Посмотреть сообщение
    Ты проходишь по всей битовой таблице? Каждый экранный тайл?
    Ну да, не выводить ведь все буфера на экран, это будет 3fps тогда игра и то в лучшем случае. Почему мол клево бы было если можно переключать экраны.

    Цитата Сообщение от parallelno Посмотреть сообщение
    На сколько хорошо ты знаешь архитектуру вектора?
    Вообще не знаю, я просто увидел что оказывается в СССР был такой компьютер и он очень многообещающий был. Мол и звук там приличный и графика и еще мол 256кб памяти подключить. Ого! Вот и интересно стало. Ну и опять-же просто люблю когда кто-то делает игры на старую технику.

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

    Цитата Сообщение от parallelno Посмотреть сообщение
    В укнц 8 одновременных цветов?
    Там все сложнее, можно и 128 если "нормальная укнц". Но это уже за гранью. Считается что 8 и все (в одной строке экрана).
    Последний раз редактировалось BlaireCas; 03.09.2022 в 14:11.
    Шедевр портирования на УКНЦ - игра Highway Encounter
    Эмуляторы: UKNCBTL, EmuStudio (респект авторам)

  6. #125

    Регистрация
    01.03.2005
    Адрес
    Samara
    Сообщений
    4,867
    Спасибо Благодарностей отдано 
    328
    Спасибо Благодарностей получено 
    311
    Поблагодарили
    235 сообщений
    Mentioned
    12 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от parallelno Посмотреть сообщение
    Два списка выводимых спрайтов для того чтобы не пересекаться с измененными данными обработки всех персонажей?
    да по одному из списков рисуешь спрайты
    по второму в этот момент идет отрисовка

    это для того чтобы сцена отрисовывалась всегда правильно.

    А что включает в себя таблица действий? Можешь прописать по подробнее, пожалуйста?
    здесь просто :
    находим 0 - проходим мимо
    находим 1 - заносим 0 - берем из массива элементов и рисуем на экран элемент фона
    находим 2+ заносим 1 и из массива модифицированных элементов рисуем элемент за номером 2+

    Ещё было бы здорово если бы ты описал подробнее из каких элементов состоит карта экрана и структуру набора модифицированных элементов.
    ну например
    Нажмите на изображение для увеличения. 

Название:	jaguar.chars.png 
Просмотров:	78 
Размер:	4.3 Кб 
ID:	77746

    это таблица элементов для игры
    из этих элементов собираются блоки
    Нажмите на изображение для увеличения. 

Название:	jaguar.blocks.jpg 
Просмотров:	70 
Размер:	19.8 Кб 
ID:	77747
    из блоков собираются экраны

    но все равно карта состоит из элементов 8*8 и все манипуляции происходят с базовыми элементами

    карта модифицированных элементов состоит из обычных элементов поверх которых наложены спрайты.

    например ты рисуешь спрайт размером 3*2

    таблица действий выглядит так

    0 0 0 0 0 0 0
    0 0 1 1 1 0 0
    0 0 1 1 1 0 0
    0 0 0 0 0 0 0

    1- там где в прошлом цикле этот спрайт уже был отрисован

    для начала высчитываем и вносим в таблицу номера элементов
    пусть наш спрайт сдвинулся вправо

    таблица теперь выглядит так

    0 0 0 0 0 0 0
    0 0 1 2 4 6 0
    0 0 1 3 5 7 0
    0 0 0 0 0 0 0

    почему по вертикали - при генерации элементов 8*8 и использовании прескролленых спрайтов их удобнее хранить вертикально

    теперь поверх накладываем еще один спрайт например 2*2

    0 0 0 0 0 0 0
    0 0 1 2 4 6 0
    0 0 1 3 8 10 0
    0 0 0 0 9 11 0

    здесь можно увидеть что при создании новых элементов мы использовали не только фоновые но и уже модифицированные элементы

    следом идет освежение экрана

    0 0 0 0 0 0 0
    0 0 0 1 1 1 0
    0 0 0 1 1 1 0
    0 0 0 0 1 1 0


    в процессе которого на экране будут произведены изменения в нужных местах.

    вопросы?
    С уважением,
    Jerri / Red Triangle.

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

    nzeemin(03.09.2022), parallelno(04.09.2022), svofski(03.09.2022)

  7. #126

    Регистрация
    13.05.2018
    Адрес
    г. Тамбов
    Сообщений
    817
    Спасибо Благодарностей отдано 
    345
    Спасибо Благодарностей получено 
    661
    Поблагодарили
    201 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от parallelno Посмотреть сообщение
    Если честно, то я не совсем понял идею.
    Напиши пожалуйста что скрывается под многоточия и и знаками вопроса.
    Привет...
    Составляем на экраны - массивы...
    Например, так...

    CCCCCCCCC
    111C22222
    111B22222
    CCCBCCBBB
    CCCCCC333
    CCCCCC333

    1, 2, 3 - области, которые обновляем...
    C - пустые области, где персонажи бегать не могут...
    B - буферные области. Переход из одной области в другую...

    За прерывание - обновляем персонажи в одной области - 1, 2, 3...
    C - не обновляем...
    B - переходы между областями, как то надо посчитать...
    Последний раз редактировалось Stl75; 03.09.2022 в 18:06.

  8. #127

    Регистрация
    27.02.2005
    Адрес
    москва
    Сообщений
    14,295
    Записей в дневнике
    1
    Спасибо Благодарностей отдано 
    203
    Спасибо Благодарностей получено 
    1,460
    Поблагодарили
    949 сообщений
    Mentioned
    18 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Stl75 Посмотреть сообщение
    Привет...
    Составляем на экраны - массивы...
    Например, так...
    это твои фантазии или в какой-то конкретной игре подсмотрел такое ?

  9. #128

    Регистрация
    29.06.2022
    Адрес
    г. Ирвайн, США
    Сообщений
    408
    Спасибо Благодарностей отдано 
    590
    Спасибо Благодарностей получено 
    340
    Поблагодарили
    109 сообщений
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    BlaireCas, я правильно понимаю что буфер который ты используешь размером с игровое поле на экране?

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

    jerri, я правильно понимаю что в карта модифицированных элементов размером с игровую область на экране?

  10. #129

    Регистрация
    06.02.2020
    Адрес
    г. Москва
    Сообщений
    485
    Спасибо Благодарностей отдано 
    140
    Спасибо Благодарностей получено 
    392
    Поблагодарили
    147 сообщений
    Mentioned
    8 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от parallelno Посмотреть сообщение
    BlaireCas, я правильно понимаю что буфер который ты используешь размером с игровое поле на экране?
    Если нужно сделать простой заход за пределы игрового поля - буфер будет больше на некоторую величину в каждую сторону. А так он ну с отображаемую область экрана и попрет. Всякие переходы между экранами можно геймдизайном обставить без захода "за экран".

    Jerri кстати хорошо вон расписал. Правда я чет не очень понял идею зачем инкрементировать постоянно прорисовку. Мне пары бит хватило. А так цельный байт чтоли тратить на признак у тайла чет слишком будет жирно. Но возможно просто так намного быстрее на 8080 получается чем выставлять биты прорисовки тут я х.з.
    Последний раз редактировалось BlaireCas; 03.09.2022 в 21:55.
    Шедевр портирования на УКНЦ - игра Highway Encounter
    Эмуляторы: UKNCBTL, EmuStudio (респект авторам)

  11. #130

    Регистрация
    01.03.2005
    Адрес
    Samara
    Сообщений
    4,867
    Спасибо Благодарностей отдано 
    328
    Спасибо Благодарностей получено 
    311
    Поблагодарили
    235 сообщений
    Mentioned
    12 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от parallelno Посмотреть сообщение
    jerri, я правильно понимаю что в карта модифицированных элементов размером с игровую область на экране?
    да два массива размером по 768 или 1024 байта

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

    Цитата Сообщение от BlaireCas Посмотреть сообщение
    Jerri кстати хорошо вон расписал. Правда я чет не очень понял идею зачем инкрементировать постоянно прорисовку. Мне пары бит хватило. А так цельный байт чтоли тратить на признак у тайла чет слишком будет жирно. Но возможно просто так намного быстрее на 8080 получается чем выставлять биты прорисовки тут я х.з.
    там не признак тайла, а тайл с модификацией.
    в первом массиве карта тайлов фона
    во втором массиве карта тайлов и действий
    С уважением,
    Jerri / Red Triangle.

Страница 13 из 32 ПерваяПервая ... 91011121314151617 ... ПоследняяПоследняя

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

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

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

Ваши права

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