User Tag List

Страница 6 из 32 ПерваяПервая ... 2345678910 ... ПоследняяПоследняя
Показано с 51 по 60 из 317

Тема: GameNoname

  1. #51

    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    8,390
    Спасибо Благодарностей отдано 
    763
    Спасибо Благодарностей получено 
    2,367
    Поблагодарили
    1,317 сообщений
    Mentioned
    38 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

  2. #52

    Регистрация
    20.06.2007
    Адрес
    С.-Петербург
    Сообщений
    4,299
    Спасибо Благодарностей отдано 
    1,028
    Спасибо Благодарностей получено 
    813
    Поблагодарили
    484 сообщений
    Mentioned
    26 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ivagor Посмотреть сообщение
    А в сравнении с тем, что можно и нужно было сделать - мягко говоря слабовато.
    Можно продолжить в более онтопной теме, чтобы не засорять тут. В той же про Баркаря, почему бы нет?
    Больше игр нет

  3. #53

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

    По умолчанию

    Цитата Сообщение от parallelno Посмотреть сообщение
    KTSerg, включение квазидиска 20 тактов, отключение 16? Уточняю чтобы удостовериться что я правильно тебя понял.
    Если квазидиск включен на работу как стек и прерывания включены то прерывание запортит как минимум два байта данных квазидиска, правильно?
    Поверь тому как ты запаришься с буферизацией вывода. Это очень непростое дело на восьмибитках.
    Слушай Джерри, он собаку на этом скушал правда кажется на спекки, но 80-й проц вполне похож.

    Сам делал на УКНЦ 8 цветов и типа даже получилось, правда вылезли другие вещи что сделать движок это вовсе не означает сделать игру. Там надо еще рисовать, придумывать сюжет и т.д., и это намного сложнее вывода спрайтов.

    Однако рад за попытки. А мигание спрайтов надо убирать, оно и правда косяк. И делать спрайты на трех планах чтобы они просвечивали через четвертый тоже.
    Вообщем челендж

    Из буфериции в буфер делал разделение буфера на знакоместа 8х8 вышло тормозно (правда это УКНЦ там всегда тормоза). Потом взял 16х16 тайлы стало получше, но тоже полезли косяки когда тайл должен залезть "впереди" спрайта. Например ГГ наступает в лужу с кипящей кислотой в тайлах, разумеется спрайт не должен ложиться на булькающую кислоту тайла, а наоборот. Иначе выглядит фигово. Вообщем там много подводных.

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

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

    С тайлами которые впереди или сзади спрайта героя вот уже тупо не хватило битов

    У меня был старший байт на тайлы на буфер навроде 12345678
    - 1 - сейчас прорисовали туда спрайты,
    - 2 - прошлый фрейм прорисовывал (тупо сдвигаются с 1 на 2), а это нужно ибо надо все-ж перерисовать на экране тайл даже когда скажем спрайт с него испарился на прошлом фрейме
    - 3 - это неосвещенные тайлы по сюжету прорисовывать на экран нельзя
    - 4 - это анимированные и последние 2 бита тайла по фреймам инкризят тайл №
    - 5 - типа это кислота там помрешь
    - 6 - можно выкопать лопатой
    - 7-8 один из четырех выборов либо тайл проходим либо там лестница либо ящик/бочка на которую можно запрыгнуть либо он непроходим

    Конечно перебор с этими битами и можно-бы было обойтись ветвлениями, но на УКНЦ они очень тормоза.

    Зажирало прилично на лабиринт.. Но вообщем разными извращениями все можно вытянуть
    Последний раз редактировалось BlaireCas; 13.08.2022 в 02:25.

  4. #54

    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    8,390
    Спасибо Благодарностей отдано 
    763
    Спасибо Благодарностей получено 
    2,367
    Поблагодарили
    1,317 сообщений
    Mentioned
    38 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

  5. #55

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

    По умолчанию

    Спасибо за советы!
    Дописал процедуру и скрипты для вывода анимации спрайта с разной шириной, высотой и оффсетами по xy.
    Все монстрики, герой и тестовый проджектал заняли почти 30к. Нужно начинать использовать квазидиск.
    Показать пока ничего толкового нет так как из визуального были только тесты.

  6. #56

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

    По умолчанию

    Цитата Сообщение от parallelno Посмотреть сообщение
    Спасибо всем за советы и обсуждение!

    Немного детайлей об игре.
    В игре тайлы 16*16. 16 цветов. Тайл с "землей" рисуется всегда в $8000 плоскость. Спрайты мобов и героя 16*15. Рисуются в три плоскости начиная с $a000.
    Мерцание в основном изза двух факторов.

    Тайлы 16*16 могут быть составлены из 4х элементов 8*8
    С уважением,
    Jerri / Red Triangle.

  7. #57

    Регистрация
    20.06.2007
    Адрес
    С.-Петербург
    Сообщений
    4,299
    Спасибо Благодарностей отдано 
    1,028
    Спасибо Благодарностей получено 
    813
    Поблагодарили
    484 сообщений
    Mentioned
    26 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от parallelno Посмотреть сообщение
    Все монстрики, герой и тестовый проджектал заняли почти 30к
    Это все предсдвиги? Пора начинать жульничать. Настоящие герои подземелий редко ходят меньше, чем на два пикселя Хотя похоже, что кваз все равно понадобится, так что почему действительно им не воспользоваться на всю катушку.

    Про хранение маски через байт вместе с пикселями видел? Вывод получается удобно типа pop b \ mov a, m \ ana c \ ora b \ mov m, a
    Больше игр нет

  8. #58

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

    По умолчанию

    Цитата Сообщение от svofski Посмотреть сообщение
    Это все предсдвиги?
    С прешифтовыми спрайтами там вообще никакой памяти не хватит если даже делать не все 16 цветов. Через таблицы шифтов делать видимо нужно и да, по 2 пикселя герои очень даже ходят и это вполне нормально
    Типа байт со смещением = выбор из таблицы. На байт кажется потратится 3 смещения и соответственно таблица будет тоже немаленькая, но имхо оно все-ж лучше чем пришифтованные спрайты хранить.

    (а там еще и зеркалирование спрайтов тоже по таблицам видимо заодно будет.. ну впрочем фиг его знает как автор решит)
    Последний раз редактировалось BlaireCas; 13.08.2022 в 13:07.

  9. #59

    Регистрация
    20.06.2007
    Адрес
    С.-Петербург
    Сообщений
    4,299
    Спасибо Благодарностей отдано 
    1,028
    Спасибо Благодарностей получено 
    813
    Поблагодарили
    484 сообщений
    Mentioned
    26 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Кстати еще самые кондовые спрайты можно разворачивать сразу кодом. Это, казалось бы, жир, а толку никакого, но скорость та же, при этом освобождается стек. Можно исполнять прямо из кваза. Можно так сделать для чего-то, чего много и надо быстро, типа тот же мысль-прожетктыль.

    lxi b, $7e81 \ mov a, m \ ana c \ ora b \ mov m, a \ dcr l

    А если без маски и со стеком, тут вообще можно отжиг устроить
    lxi b, $55aa \ push b ; 28 тактов на две строки, а если паттерн повторяется, то и вообще 12 + (8 * число строк).
    для тайлов / фона, чего бы и нет
    Больше игр нет

  10. #60

    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    8,390
    Спасибо Благодарностей отдано 
    763
    Спасибо Благодарностей получено 
    2,367
    Поблагодарили
    1,317 сообщений
    Mentioned
    38 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от BlaireCas Посмотреть сообщение
    С прешифтовыми спрайтами там вообще никакой памяти не хватит если даже делать не все 16 цветов.
    На векторе есть игры с предсвинутыми спрайтами полностью в квазе.
    Посчитаем. У parallelno спрайты 16*15*8 цветов. Пусть будут 16*16 (может 15 это ошибка). Тогда кваза хватит на 236 таких спрайтов со всеми сдвигами, это очень даже много для сравнительно небольшой игрушки.

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

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

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

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

Ваши права

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