ФлеймФорумИгры

System Shock

Страницы: 1 2 Следующая »
#0
21:48, 9 ноя 2020

Удивил меня рендер этой игры.
В 1994-м году он умел рисовать полы и потолки под наклоном и даже 3D модели. Меня заинтересовал этот рендер и я хочу выяснить, как он работает.

Итак, в наличии имеется следующее:

  • 2.5-мерный мир. В плане он плоский, почти что нету помещений над помещениями.
  • 3d модели некоторых предметов окружения
  • мостики, через которые реализуется, местами, псевдодвухэтажности
  • полупрозрачные силовые поля (со смешиванием цветов)
  • стены, двери и горизонтальные поверхности с альфа-тестом
  • спрайтовые предметы, врани, эффекты
  • (кажется) статические декали
  • плавное освещение стен и потолков, кажется, что повершинное
  • На счёт топологии мира, наблюдения следующие: стены расположены по углам с шагом в 45 градусов и выровнены по сетке. Стен с углом отличным от 0/45/90/135/180/225/270/315 градусов я не заметил. Стен с нецелым началом/концом не на узлах сетки - тоже. При этом по пол и потолок столь не ограничены - высота может быть любая, а также возможен произвольный наклон. Весьма странный момент, замеченный в игре - дискретное движение лифтов.

    #1
    21:54, 9 ноя 2020

    На счёт топологии мира. Есть у меня подозрения, что она таковая, чтобы убыстрить определение видимых поверхностей/ячеек мира и объектов в них.

    На счёт того, как рисуются поверхности: по всей видимости, применяется честная растеризация с каким-то способом перспективной коррекции и с интерполяцией освещения. Примерно так рисовались 3d модели в Quake. Применение честной растеризации ограничивает использование способов отсечения объектов вне структуры уровня (моделей, спрайтов) дешёвыми способами, как это было в Doom или в Build Engine. Остаётся два варианта - или буфер глубины, или рисование в строгом порядке всего - и полигонов уровня, и полигонов объектов.
    Я склоняюсь к тому, что рисуется всё сразу, с сортировкой от дальних к ближним. Это позволяет по-простому рисовать спрайты и стены с альфа-тестом, а также нормально делать смешивание. Можно было бы предположить рисование от ближних объектов к дальним с использованием спан-буфера, но я не представляю, как это подружить со смешиванием.

    Была у меня гипотиза портального движка (вроде 3d игры про Тараса Бульбу), но я её отвергаю, т. к. слишком уж примитивна топология уровней для такой технологии.

    #2
    22:08, 9 ноя 2020

    говорят, что сорцы доступны.
    (но это хитрые сорцы, сделанные для powerpc mac)

  • https://github.com/NightDive-Studio/shockmac
  • ну и адаптация https://github.com/Interrupt/systemshock
  • Ждать ли нам Panzer Shock?

    Panzerschrek[CN]
    > На счёт топологии мира, наблюдения следующие: стены расположены по углам с
    > шагом в 45 градусов и выровнены по сетке
    > Есть у меня подозрения, что она таковая, чтобы убыстрить определение видимых поверхностей/ячеек мира и объектов в них.
    кубическое строение уровней.
    я бы даже сказал, что тоже самое использовалось в Tomb Raider-е (1996)

    #3
    3:36, 10 ноя 2020

    skalogryz
    > я бы даже сказал, что тоже самое использовалось в Tomb Raider-е (1996)

    У нас на форуме есть тема с OpenLara и там я тоже любопытствовал - почему в рейдере были явно кубические лабиринты? https://gamedev.ru/projects/forum/?id=220945&page=32&m=5229930#m476
    Оказалось, что это были не ограничения или ускорения графического движка, а физического и редактора. Графический же в принципе был способен на произвольную полигональщину.

    #4
    4:03, 10 ноя 2020

    =A=L=X=
    > а физического и редактора.
    вполне актуальные вопросы для 94ого года.

    #5
    9:07, 10 ноя 2020

    Надо же, действительно у сабжа судя по беглому просмотру нескольких исходников карта как в Wolf3D - клеточный двумерный лабиринт 64x64.
    А я думал там реально кубы, т.е. уровень имеет еще и высоту. А получается что высота зажата между полом и потолком.
    Похоже на какой то промежуточный вариант между Wolf и Doom.

    Вообще я сам долгое время пребывал в иллюзии, что Кармак с Wolf, Doom и Quake был провозвестником и пророком полноценного жанра шутеров от первого лица, но история оказалась намного интереснее.
    Так вот сабж вышел в 1994, а в 1996 выйдет Quake 1, но уже в 1995 такая неизвестная мне в то время контора как Bethesda выпустит шутер от первого лица Terminator: Future Shock с инновационным управлением мышкой и полностью трёхмерным окружением где есть и indoor и outdoor:
    Изображение
    Изображение
    Изображение
    Изображение
    И это было честное 3Д с освещением по Фонгу как минимум в некоторых местах.
    Наверное на момент выхода тормозило безбожно, я наткнулся на этот джем много много позднее.

    #6
    9:14, 10 ноя 2020

    =A=L=X=
    > Похоже на какой то промежуточный вариант между Wolf и Doom.
    мосты там всё-таки есть, но они скорее являются "исключением".

    кроме самих уровней там есть "киберпространство", и насколько я помню, там уровни типа "укороченный" Descent.
    Правда в киберпространстве нет текстур (галимый wireframe, но тогда так было модно); зато были воксели.

    =A=L=X=
    > Bethesda выпустит шутер от первого лица Terminator: Future Shock
    я её прошёл ещё на 486dx.
    она была довольно тормозной, и на динамику ни Дума, ни Дюка не тянула. Игра хорошая, но относительно не экшен.

    System Shock гонял побыстрее, хотя экшена в нём было столько же. (но это скорее уже из-за управления)

    Кстати, замечу, что 3д модельки выглядели не ахти как. (CPU же не тянул)
    и тулить неискушённым геймерам, дескать "смотрите как круто выглядит фонг" или "вот эта 3д курица - это круть", в сравнении со спрайтовыми играми - не прокатывало.

    Да, технически решение могло быть крутым, но люди играют в игры, а не графоний.

    до появления графических аккселераторов, спрайтовые игры, вполне себе успешно тягались с 3d поделиями.

    =A=L=X=
    > Похоже на какой то промежуточный вариант между Wolf и Doom.
    в тот отрезок времени полно таких игры повыходило. (большинство - откровенная гадость, которая от wolf-а отличалось только унылой графикой).
    те же Dark Forces, по-сути были reverse engineer-ом Doom-а. (поговаривают, реверсили не ассемблером, а просто смотря в карту doom-а)

    Качество игры зависило от качества работы программистов. Если вспомнить творчество Bull Frog, в игры которой были тоже 2.5d, но картинка и динамика завораживали (magic carpet, hi octane, dungeon keeper)

    #7
    9:26, 10 ноя 2020

    skalogryz
    > те же Dark Forces, по-сути были reverse engineer-ом Doom-а.

    Сомневаюсь - у Dark Forces судя по всему был портальный движок.
    Вообще из известных мне аналогов дума своего времени (Duke, Dark Forces, Marathon) BSP было только у Дума собственно.
    Т.е. смотреть то в карту они могли, но придумывали судя по всему на ходу что-то своё.

    #8
    22:04, 10 ноя 2020

    Глянул исходники.
    Код в худших традициях тех лет - голый Си с ручными оптимизациями, передача параметров и получение результата через глобальные переменные, непонятные имена функций, мало комментариев.
    К тому же кодировка какая-то древняя, grep ломается при поиске в этих исходниках.

    #9
    22:59, 10 ноя 2020

    Panzerschrek[CN]
    > Код в худших традициях тех лет - голый Си с ручными оптимизациями, передача
    > параметров и получение результата через глобальные переменные, непонятные имена
    > функций, мало комментариев.

    "современный" код мало чем отличается... ну разве что большей вырвиглазностью в крестах.
    Ведь когда дело касается оптимизации, читабельность и понятность это первое что идёт в расход. И не важно сколько десятилетий назад был написан код

    #10
    23:06, 10 ноя 2020

    skalogryz
    > Ведь когда дело касается оптимизации, читабельность и понятность это первое что
    > идёт в расход.
    Ну не скажи.
    30 лет назад считай почти что не было оптимизирующих компиляторов, поэтому код писали так, чтобы он 1 в 1 ложился на инструкции процессора. Сейчас же можно написать достаточно красиво, а компилятор все красивости выкинет и оставит максимально эффективный машинный код.

    #11
    23:49, 10 ноя 2020

    Panzerschrek[CN]
    > 30 лет назад считай почти что не было оптимизирующих компиляторов, поэтому код
    > писали так, чтобы он 1 в 1 ложился на инструкции процессора.
    по-моему писали так, что он ложился на 4 на 1 инструкции процессора
    оптимизации делалась, чтобы обойти недостатки железок.

    в пример можно привести быстрый квадратный корень
    =A=L=X= полно тем исписал, о том, на какие "ухищрения" шли раньше, чтобы выжимать из железки то, на что она изначально не была расчитана.

    Panzerschrek[CN]
    > Сейчас же можно написать достаточно красиво, а компилятор все красивости выкинет и оставит максимально эффективный машинный код.
    я просто сужу по состоянию софта в целом.
    Если вспомнить свежее обсуждение, про какой-нить модный движок типа Godot 3, который течёт!
    И дело не в том, что течёт, а в том, что автор сказал - исправить невозможно, ждите Godot 4.

    Но если исправить невозможно без полной перепеси, то там действительно красиво написано?
    или там, как раз: "голый NNN с ручными оптимизациями, передача параметров и получение результата через глобальные переменные, непонятные имена функций, мало комментариев".

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

    будет Panzer Shock? чтобы встать в одну галлерию с Panzer Quake и Panzer Chasm.

    #12
    22:09, 23 ноя 2020

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

    Заметно, также, что SS2 во многом есть переделка Thief II. Некоторые враги по анимациям и повадкам - слегка переделанные враги оттуда. Система карты тоже заимствована с небольшим редизайном. В целом дух игры заимстовован - что там, что здесь приходится страдать.

    Дизайн уровней весьма топорный. Хоть в наличии есть честных 3d движок, но уровни всё также плоские и квадратно-гнездовые, за редкими исключениями.

    #13
    23:50, 23 ноя 2020

    Panzerschrek[CN]
    > Видимо именно по этому продолжений у игры больше нету - такое нафиг более ни кому не нужно
    Bioshock-же! и да Atomic Heart.
    и даже немножко Doom 3. Засчёт того, что так же бегаешь по базе, собираешь флешки и слушаешь всякие ужастики из прошлого!

    Panzerschrek[CN]
    > Заметно, также, что SS2 во многом есть переделка Thief II.
    графоний у SS2 действительно был отвратный, даже по тем временам!
    ну потому что это движок Thief.

    Panzerschrek[CN]
    > Игра оказалась ещё тупее и унылее оригинала.
    это не оригинал, а продолжение.

    Panzerschrek[CN]
    > Опять все те же задания, где хрен поймёшь, что делать
    если читать описания (англ яз) то всё, как раз, понятно.

    Panzerschrek[CN]
    > игрок обязательно прокачался не так, как надо
    ну в серии System Shock, очевидно, что нужно качать хакерство!
    а вообще мне понравились их "предыстории" (ну где задаёшь начальную расскачку), атмосферно так.
    В Морровинде, да и некоторых других РПГ, используют тот же приём.
    Вместо excel таблицы, задают "наводящие вопросы про прошлое антагониста", и исходя из ответов назначают статы.

    #14
    2:57, 24 ноя 2020

    >Заметно, также, что SS2 во многом есть переделка Thief II.
    SS2 который вышел в 99м, есть переделка второго вора, который вышел в нулевом? Видимо речь всё таки о первом воре?

    Страницы: 1 2 Следующая »
    ФлеймФорумИгры

    Тема в архиве.