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

User Tag List

Страница 3 из 15 ПерваяПервая 1234567 ... ПоследняяПоследняя
Показано с 21 по 30 из 147

Тема: Теория: почему 128к игры такие убогие

  1. #21
    Guru Аватар для Vadim
    Регистрация
    24.07.2008
    Адрес
    г. Курган
    Сообщений
    2,062
    Спасибо Благодарностей отдано 
    10
    Спасибо Благодарностей получено 
    17
    Поблагодарили
    17 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Screw Посмотреть сообщение
    Откуда-ж его взять на спектруме ?
    На спринтере есть. WELESOFT давал схемку простую на Z80DMA, если сделать хорошую игру, то ради неё желающий соберёт схемку. Это реальный вариант.

    Скрытый текст

    Profi 5.06 1024K 12Mhz (кварц на 24), палитра, COM-порт, часы, hdd, covox, программатор
    ZX-Spectrum +3, ZX-Spectrum +2B, ZX-Spectrum +2, ZX Spectrum 48, ZX Spectrum 48+
    ZX Evolution Rev B.
    Color 48 + Beta Disk Interface +FDD+YM2149F
    Орель-08БК
    Pentagon-48 (недоссобранный кем-то)
    Pentagon-128 (полуубитый)
    Кворум-128 (в ремонте)
    Магик-05 (в ремонте)
    Robotron 1715
    Корвет ПК8020 и ПК8010
    Amstrad CPC 464
    Amstrad CPC 6128
    [свернуть]

  2. #22
    Member
    Регистрация
    10.07.2009
    Адрес
    Санкт-Петербург
    Сообщений
    121
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

  3. #23
    Guru Аватар для moroz1999
    Регистрация
    17.01.2005
    Адрес
    Tallinn
    Сообщений
    2,517
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    86
    Поблагодарили
    39 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Screw Посмотреть сообщение
    В классическом 128, даже с RAM вместо ROM, приходится извращаться. Мешает прибитая 5-ая страница.
    В смысле с RAM вместо ROM? Извиняюсь за глупый вопрос, их что, каким-то образом менять на ходу можно?
    Цитата Сообщение от Screw Посмотреть сообщение
    Либо копировать в динамический кеш, либо организовывать вырвиглазную отрисовку в один экран, рисуя часть линий фона и тут же пересекающие их кусочки спрайтов (как в Stormlord).
    А как насчет варианта с промежуточным экранным буфером с линейной адресацией, который после построения кадра стеком кидается на экран? Да, не очень шустро, но руки развязывает.
    zxart.ee - архив программ, графики и музыки ZX Spectrum.

  4. #24
    Guru Аватар для newart
    Регистрация
    19.01.2005
    Адрес
    Санкт-Петербург
    Сообщений
    11,454
    Спасибо Благодарностей отдано 
    193
    Спасибо Благодарностей получено 
    161
    Поблагодарили
    66 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от moroz1999 Посмотреть сообщение
    В смысле с RAM вместо ROM? Извиняюсь за глупый вопрос, их что, каким-то образом менять на ходу можно?
    На некоторых спеках вместо ПЗУ с адреса 0 можно втыкать банки (на скорпе например это юзается для запуска cp/m).


    Цитата Сообщение от moroz1999 Посмотреть сообщение
    А как насчет варианта с промежуточным экранным буфером с линейной адресацией, который после построения кадра стеком кидается на экран? Да, не очень шустро, но руки развязывает.
    Черный ворон, UFO... а вот интересно много ли и какие именно фирменные игры делают так же?

    ---------- Post added at 15:12 ---------- Previous post was at 15:11 ----------

    Screw - ты как то признавался что ковырял много фирменных игрушек. Может напишешь обзорную статью по движка в следующий Крик? Было бы очень интересно почитать.

  5. #25
    Member
    Регистрация
    10.07.2009
    Адрес
    Санкт-Петербург
    Сообщений
    121
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от moroz1999 Посмотреть сообщение
    В смысле с RAM вместо ROM? Извиняюсь за глупый вопрос, их что, каким-то образом менять на ходу можно?
    В том смысле что в банку 0000-3FFF включается страница ОЗУ вместо ПЗУ.

    Цитата Сообщение от moroz1999 Посмотреть сообщение
    А как насчет варианта с промежуточным экранным буфером с линейной адресацией, который после построения кадра стеком кидается на экран? Да, не очень шустро, но руки развязывает.
    У меня цель - 25fps. С промежуточным буфером моего размера скорость будет значительно ниже. Хотя это сильно упрощает подход к ущербным машинам, согласен. Прибитый в 5-ую банку экран и будет буфером. А перекидывать его в 7-ую банку стеком. Мерцание уйдёт и геммороиться со спрайтами не придётся. Надо подумать. А что до тормозов - да и фиг с ними, пусть мучаются. Или переходят на нормальную машину, типа АТМ или фирменного +3. Только Tear-инг этим всё равно не победить. Перекидывание всего экрана без вариантов пересечётся с лучом.

    ---------- Post added at 16:18 ---------- Previous post was at 16:14 ----------

    Цитата Сообщение от newart Посмотреть сообщение
    На некоторых спеках вместо ПЗУ с адреса 0 можно втыкать банки
    Если бы банкИ. Точнее страницЫ. Только одну, захардкоженную страницу. И это печально.

    Цитата Сообщение от newart Посмотреть сообщение
    а вот интересно много ли и какие именно фирменные игры делают так же?
    Да практически все. Но лишнее копирование сжирает очень много ресурсов. Очень немногие наоборот, рисуют сразу в экран. С кучей геммороя при наложении спрайтов. Зато они самые шустрые и самые плавные. Например Stormlord, Zynaps, Ghouls'n'Ghosts и т.д.


    Цитата Сообщение от newart Посмотреть сообщение
    Screw - ты как то признавался что ковырял много фирменных игрушек. Может напишешь обзорную статью по движка в следующий Крик? Было бы очень интересно почитать.
    Не так уж и много. Jerri ковырял гораздо больше, вот его бы уговорить на статью...

  6. #26
    Guru Аватар для newart
    Регистрация
    19.01.2005
    Адрес
    Санкт-Петербург
    Сообщений
    11,454
    Спасибо Благодарностей отдано 
    193
    Спасибо Благодарностей получено 
    161
    Поблагодарили
    66 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Screw Посмотреть сообщение
    Перекидывание всего экрана без вариантов пересечётся с лучом.
    Ну можно ведь начать переброску выше луча...

    ---------- Post added at 15:25 ---------- Previous post was at 15:23 ----------

    Цитата Сообщение от Screw Посмотреть сообщение
    Если бы банкИ. Точнее страницЫ. Только одну, захардкоженную страницу. И это печально.
    Буу. Вот ведь маразм, что стоило отвести 1 бит? 0 - работа с окном #c000, 1 работа с окном #0000. Хотя я не железячник, может очень сложно?

  7. #27
    Member
    Регистрация
    10.07.2009
    Адрес
    Санкт-Петербург
    Сообщений
    121
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от newart Посмотреть сообщение
    Ну можно ведь начать переброску выше луча...
    Чрезвычайно сложно. Либо дополнительные тормоза. Банальный пример: ты закончил рендерить в буфер. Это не дема, где всё можно заранее расчитать. Откуда ты знаешь где луч ? Правильно, ниоткуда.

    Вариант банальный:
    1) ждём прихода прерывания (в среднем это пол-инта)
    2) после прерывания ждём, когда луч уйдёт достаточно далеко
    3) начинаем переброску, луч успевает отрисовать предыдущий кадр и нагоняет нас сзади. Это порядка инта.

    Итого тратится больше 1.5 инта ТОЛЬКО на переброску без теаринга. Слишком дорогая цена.

    ---------- Post added at 16:38 ---------- Previous post was at 16:37 ----------

    Цитата Сообщение от newart Посмотреть сообщение
    Вот ведь маразм, что стоило отвести 1 бит? 0 - работа с окном #c000, 1 работа с окном #0000. Хотя я не железячник, может очень сложно?
    Несложно.В АТМ2 можно включать любую страницу, хоть RAM хоть ROM, в любую из 4-х банок. Но уже ничего не изменить, имеем то, что имеем.

  8. #28
    Guru Аватар для newart
    Регистрация
    19.01.2005
    Адрес
    Санкт-Петербург
    Сообщений
    11,454
    Спасибо Благодарностей отдано 
    193
    Спасибо Благодарностей получено 
    161
    Поблагодарили
    66 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Screw Посмотреть сообщение
    3) начинаем переброску, луч успевает отрисовать предыдущий кадр и нагоняет нас сзади. Это порядка инта.
    Полтора инта! Если игра не совсем уж на весь экран, то тут и ldi справится.

    ---------- Post added at 15:52 ---------- Previous post was at 15:50 ----------

    Цитата Сообщение от Screw Посмотреть сообщение
    2) после прерывания ждём, когда луч уйдёт достаточно далеко
    Зачем ждать? Можно отрендерить 2-3 фрейма музыки в дампы регистров, а в следущие прерывания играть из ее этого дампа.

  9. #29
    Member
    Регистрация
    10.07.2009
    Адрес
    Санкт-Петербург
    Сообщений
    121
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от newart Посмотреть сообщение
    Полтора инта!
    Нет, не полтора. Переброска через POP HL : LD (NN), HL занимает 13 тактов на байт. Это ~80 тыс тактов на полный экран. А если экран чуть-чуть меньше то укладывается в INT. Но тем не менее. Очевидно что ТОЛЬКО бекбуфер для сравнительно большой площади сожрёт не меньше 1.5 интов. А 25fps это 2 инта на полный игровой цикл.

    ---------- Post added at 16:58 ---------- Previous post was at 16:55 ----------

    Цитата Сообщение от newart Посмотреть сообщение
    Зачем ждать? Можно отрендерить 2-3 фрейма музыки в дампы регистров, а в следущие прерывания играть из ее этого дампа.
    Ну нарендеришь ты 3000 фреймов музыки вперёд. А дальше что ? Основная проблема в том что мы не можем начать рисовать новый кадр не перекинув хотя бы часть данных. Иначе мы будем стирать ещё не отрисованные данные. А значит какую бы условно-полезную нагрузку в это ожидание не впихивай - рендеринг она не ускорит.

  10. #30
    Guru Аватар для newart
    Регистрация
    19.01.2005
    Адрес
    Санкт-Петербург
    Сообщений
    11,454
    Спасибо Благодарностей отдано 
    193
    Спасибо Благодарностей получено 
    161
    Поблагодарили
    66 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    У нас тема о чем? О том что игры вполне себе можно писать и под 128к в том как оно есть.
    Да с нормальным менджером они работали бы быстрее, но и с буфером можно делать отличные играбельные игры, типа ЧВ/UFO, которые под 48к ну никак было бы не сделать.

Страница 3 из 15 ПерваяПервая 1234567 ... ПоследняяПоследняя

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

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

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

Похожие темы

  1. Игры от Opera Soft для 128к
    от Slider в разделе Игры
    Ответов: 172
    Последнее: 29.03.2013, 14:42
  2. Бот для игры в "Морской бой": история, теория, практика
    от Barmaley_m в разделе Программирование
    Ответов: 37
    Последнее: 25.01.2012, 11:09
  3. Почему глючат две игры?
    от Slider в разделе Игры
    Ответов: 7
    Последнее: 27.06.2007, 23:39
  4. Ответов: 22
    Последнее: 21.03.2007, 00:16
  5. Теория
    от Sonic в разделе Несортированное железо
    Ответов: 16
    Последнее: 04.07.2005, 09:58

Ваши права

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