User Tag List

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

Тема: ZXOOM - готов!

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

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

    Регистрация
    29.02.2008
    Адрес
    Ростов-на-Дону
    Сообщений
    435
    Записей в дневнике
    27
    Спасибо Благодарностей отдано 
    7
    Спасибо Благодарностей получено 
    42
    Поблагодарили
    19 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    ALKO, Это просто куча пререндеренных стен, которые по табличке рисуются в нужном месте в зависимости от угла обзора.
    На Сеге ты такого не видел потому что стены занимают уйму места. В Zxoom один тип стен и монохром - как-то влезает в 48к.
    А на Сеге палитра побольше, графика будет весить существенно больше. Можно пользоваться сжатием, но тогда потеряешь в динамике.
    У меня в метр ATM памяти, помимо остальной графики, помещается только 9 стен и это при дальности просмотра в 4 клетки и без поворота на 45 градусов.

    Это тебе нужно либо мудрить с рейкастингом, либо ковырять движок сеговской Might and Magic 2, там коридоры разной ширины, но дальность просмотра только 3 (насколько помню) клетки.
    Dizzy Scripting Engine:http://www.dizzy-se.ru/

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

  3. #2

    Регистрация
    25.09.2009
    Адрес
    Одесса
    Сообщений
    2,312
    Спасибо Благодарностей отдано 
    96
    Спасибо Благодарностей получено 
    187
    Поблагодарили
    90 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от hippiman Посмотреть сообщение
    Это просто куча пререндеренных стен, которые по табличке рисуются в нужном месте в зависимости от угла обзора.
    Знаю.
    У меня же есть тулза от Эндрю, которая делает этот пререндер.

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

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

    Цитата Сообщение от hippiman Посмотреть сообщение
    либо ковырять движок сеговской Might and Magic 2,
    На сеге есть РПГ-шки в пререндер-3д с более динамичным обновлением экрана и плавным поворотом камеры.
    Только с ходу названий не припомню, не шибко увлекаюсь РПГ-хами.

  4. #3

    Регистрация
    29.02.2008
    Адрес
    Ростов-на-Дону
    Сообщений
    435
    Записей в дневнике
    27
    Спасибо Благодарностей отдано 
    7
    Спасибо Благодарностей получено 
    42
    Поблагодарили
    19 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Так ведь есть аппаратная зеркалка.
    Что касается компрессии, можно кэшировать в VDP-RAM определённый набор картинок, и будет динамика.
    Там-же спрайты определённого размера и их количество ограничено. Весь экран замостить спрайтов может не хватит.

    ALKO,
    На сеге есть РПГ-шки в пререндер-3д с более динамичным обновлением экрана и плавным поворотом камеры.
    Только с ходу названий не припомню, не шибко увлекаюсь РПГ-хами.
    Есть Shining in the darkness - но там опять-же все коридоры одинаковой ширины и все стены одинаково выглядят.

    Попробуй лучше ковырнуть движок Toy Story, там есть уровень с шикарным, быстрым, полноэкранным рейкастингом
    Dizzy Scripting Engine:http://www.dizzy-se.ru/

  5. #4

    Регистрация
    25.09.2009
    Адрес
    Одесса
    Сообщений
    2,312
    Спасибо Благодарностей отдано 
    96
    Спасибо Благодарностей получено 
    187
    Поблагодарили
    90 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от hippiman Посмотреть сообщение
    Там-же спрайты определённого размера и их количество ограничено. Весь экран замостить спрайтов может не хватит.
    В VDP-RAM хранятся не только спрайты, там хранятся и тайлы для плэйнов.
    На два плэйна замостить тайлами точно хватит.

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

    Цитата Сообщение от hippiman Посмотреть сообщение
    Попробуй лучше ковырнуть движок Toy Story, там есть уровень с шикарным, быстрым, полноэкранным рейкастингом
    *полу-экранным.



    Вторая половина просто зеркалится.
    Ровно как и в blood-shot. Но в bloodshot'e не рейкаст, а морфинг картинок.
    Последний раз редактировалось ALKO; 09.01.2016 в 13:25.

  6. #5

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

    По умолчанию

    ALKO, есть полноценный движок от АлонКодера там нормальный рейкаст
    посмотри его например
    С уважением,
    Jerri / Red Triangle.

  7. #6

    Регистрация
    29.12.2010
    Адрес
    Москва
    Сообщений
    1,869
    Спасибо Благодарностей отдано 
    142
    Спасибо Благодарностей получено 
    110
    Поблагодарили
    66 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ALKO Посмотреть сообщение
    В отличии от всяких RPG-шек с пререндеренными стенами, где тоннель только одной ширины, в ZXooM сделаны разные полости.
    Вот этот момент я пока не пойму как реализован.
    Подробно алгоритм расписал тут: http://www.worldofspectrum.org/pub/s...fo/z/ZXOOM.txt


    Цитата Сообщение от hippiman Посмотреть сообщение
    В Zxoom один тип стен и монохром - как-то влезает в 48к.
    Вначале я пытался даже делать цветные стены, но получалась немного искаженная перспектива: http://zx-pk.ru/attachment.php?attac...5&d=1295856337

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

    Цитата Сообщение от ALKO Посмотреть сообщение
    А в этом ZXoom'e возможно же сделать поворот стен кратный 45-ти градусам ?
    Я имею ввиду не при повороте камеры, а именно чтоб сама структура карты была примерно как Zero-Tolerance (sega md) или System Shock-1(dos) или terminator rampage (dos)
    Да, можно. Все 8 направлений (0,45,90,135,180,225,270,315 градусов) имеют одинаковые свойства.

  8. #7

    Регистрация
    22.05.2011
    Адрес
    г. Дзержинск, Украина
    Сообщений
    6,829
    Спасибо Благодарностей отдано 
    483
    Спасибо Благодарностей получено 
    663
    Поблагодарили
    513 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от hippiman Посмотреть сообщение
    Это тебе нужно либо мудрить с рейкастингом
    необязательно с ним мудить
    можно сделать все в лоб и без злобного матана
    и все будет не так плохо

    примерно таким алгоритмом
    Код:
    hl player_x
    hl' player y
    
    de ray_vector_x        ;тупо таблицы синусов\косинусов
    de' ray_vector_y
    
    
    ;сам сканер
    add hl,de    ;11
    ld a,h        ;4
    exx        ;4
    add hl,de    ;11
    ld b.h        ;4
    ld c,a        ;4
    
    ld a,(bc)    ;7
    cp $xx        ;7
    jr nz,dist1    ;7\12
    
    
    add hl,de    ;11
    ld a,h        ;4
    exx        ;4
    add hl,de    ;11
    ld b.a        ;4
    ld c,h        ;4
    
    ld a,(bc)    ;7
    cp $xx        ;7
    jr nz,dist2    ;7\12
    
    ...
    ...
    ...
    jr nz,dist30    ;7\12
    
    dist1
    
    ld h,a        ;тип объекта
    ld a,l        ;младший адрес координат столкновения по Y
    ld l,$xx    ;растояние от игрока до объекта
    push hl
    exx
    ld h,a        ;в l младший адрес координат столкновения по X
    push hl
    ret
    
    dist2
    
    ld h,a        ;тип объекта
    ld a,l        ;младший адрес координат столкновения по x
    ld l,$xx    ;растояние от игрока до объекта
    push hl
    exx
    ld l,h
    ld h,a        ;в l младший адрес координат столкновения по y
    push hl
    ret
    
    ... итд
    итого 59 тактов на шаг
    нужно порядка 64(угол обзора лучей) * 25 (максимальная глубина сканирования при грубом шаге)
    1600 циклов по 59

    94400 такта на полное сканирование в пустом пространстве
    в готовой комнате это число будет меньшим

    +можно для каждого столбца экрана сделать свою развернутую процедуру
    в которой будут заносится значения с уже скорректированными от закругления камеры расстояниями

    далее из стека выдергиваем готовое расстояние
    номер текстуры
    грубые координаты столкновения
    из которых можно попытаться вычислить координаты на текстуре
    (скорей то что большее то и координата)
    линейно интерполяцией можно добавить промежуточные столбцы

    на основе начального угла запуска луча
    можно попытаться определить координаты текстуры и по точнее

    при столкновении
    можно не сразу заносить расстояние
    можно запустить луч в обратном направлении с меньшим шагом (поделить на 2 на 4 шаг и поменять знак)
    и уточнить расстояние (сильно прям много ресурса это не сожрет 15к тактов и меньше)



    это имеет мало общего с тем безобразием что я недавно выложил
    тут не должно быть такой низкой дискретности перемещения
    и таких сильных искажений пространства
    хотя с наложением текстур тут несколько плоховато
    Последний раз редактировалось NEO SPECTRUMAN; 05.01.2018 в 21:25.

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

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

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

Похожие темы

  1. Разработка ZXOOM
    от Andrew771 в разделе Игры
    Ответов: 666
    Последнее: 16.08.2011, 17:22
  2. Разработка ZXOOM
    от Andrew771 в разделе Графика
    Ответов: 666
    Последнее: 16.08.2011, 17:22
  3. Я готов купить Радио и Орион
    от Shaos в разделе Барахолка (архив)
    Ответов: 7
    Последнее: 18.12.2005, 22:15

Ваши права

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