ALKO, есть полноценный движок от АлонКодера там нормальный рейкаст
посмотри его например
ALKO, есть полноценный движок от АлонКодера там нормальный рейкаст
посмотри его например
С уважением,
Jerri / Red Triangle.
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
В VDP-RAM хранятся не только спрайты, там хранятся и тайлы для плэйнов.
На два плэйна замостить тайлами точно хватит.
- - - Добавлено - - -
*полу-экранным.
Вторая половина просто зеркалится.
Ровно как и в blood-shot. Но в bloodshot'e не рейкаст, а морфинг картинок.
Последний раз редактировалось ALKO; 09.01.2016 в 13:25.
А в этом ZXoom'e возможно же сделать поворот стен кратный 45-ти градусам ?
Я имею ввиду не при повороте камеры, а именно чтоб сама структура карты была примерно как Zero-Tolerance (sega md) или System Shock-1(dos) или terminator rampage (dos)
- - - Добавлено - - -
Жаль конечно, что Андрей007 забил на этот двиг, и ударился во всякие ребусы\кроссворды.
Потенциал огромный, если не для шутана, то для квеста какого-нибудь, адвентюры.
Да и спрайты в этом ZXoom'e рахитные, потому что рисовал я тогда ещё в стандартном MS-Paint'e на компе политеховской библиотеки (тогда ещё своего компа не было).
Ща бы сделать своего рода remastered. Сделать более интересные текстуры, подгрузку уровней с тапки.
Последний раз редактировалось ALKO; 10.01.2016 в 22:42.
Подробно алгоритм расписал тут: http://www.worldofspectrum.org/pub/s...fo/z/ZXOOM.txt
Вначале я пытался даже делать цветные стены, но получалась немного искаженная перспектива: http://zx-pk.ru/attachment.php?attac...5&d=1295856337
- - - Добавлено - - -
Да, можно. Все 8 направлений (0,45,90,135,180,225,270,315 градусов) имеют одинаковые свойства.
Пояснения к вышеизложенному алгоритму, см. приложенный файл. Наверно, так понятнее.вывод сцены zxoom.rar
ALKO, почисть личку, не отправляется тебе сообщение.
Последний раз редактировалось Andrew771; 13.01.2016 в 17:04.
Неспокойно на душе, что пропадает такой крутой движок. (как и движок Вульфенштейна от alone coder'a)
давно хотел предложить состряпать на нём РПГ-данж.
Просто программерскую часть я не утяну.
Было бы круто возможности движка расширить под 128кб, чтоб разнообразить текстуры и вражин (может ещё увеличить кратность угла поворота).
- - - Добавлено - - -
Если у кого появится желание, имейте ввиду, что за арт я готов взяться (и подход будет посерьёзнее ZXoom'a)
ни у кого не появиться. всё непотребство сам себе на уме клепают на агд или чурерре. а на твоем движке нужно очень серьезно упираться, получаемая игра обязательно более высокого уровня быть должна, и мамкины игрописы такое не осилят. те же кто реально может, а их по пальцем одной руки можно сейчас пересчитать, во первых сами что то делают, во вторых скорее всего будут делать на основе своего творчества, так как это банально проще. увы, либо всё сам, либо никак.
Свирепый агрессивно-депрессивный мордовец!
Не уверен - не напрягай!
Не сдавайся. Дыши?
Virtual TR-DOS
необязательно с ним мудить
можно сделать все в лоб и без злобного матана
и все будет не так плохо
примерно таким алгоритмом
итого 59 тактов на шагКод: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 ... итд
нужно порядка 64(угол обзора лучей) * 25 (максимальная глубина сканирования при грубом шаге)
1600 циклов по 59
94400 такта на полное сканирование в пустом пространстве
в готовой комнате это число будет меньшим
+можно для каждого столбца экрана сделать свою развернутую процедуру
в которой будут заносится значения с уже скорректированными от закругления камеры расстояниями
далее из стека выдергиваем готовое расстояние
номер текстуры
грубые координаты столкновения
из которых можно попытаться вычислить координаты на текстуре
(скорей то что большее то и координата)
линейно интерполяцией можно добавить промежуточные столбцы
на основе начального угла запуска луча
можно попытаться определить координаты текстуры и по точнее
при столкновении
можно не сразу заносить расстояние
можно запустить луч в обратном направлении с меньшим шагом (поделить на 2 на 4 шаг и поменять знак)
и уточнить расстояние (сильно прям много ресурса это не сожрет 15к тактов и меньше)
3Ы
это имеет мало общего с тем безобразием что я недавно выложил
тут не должно быть такой низкой дискретности перемещения
и таких сильных искажений пространства
хотя с наложением текстур тут несколько плоховато
Последний раз редактировалось NEO SPECTRUMAN; 05.01.2018 в 21:25.
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)