Doom Engine е

Doom двигател (Руски. Doom двигател ) (също известен като Id Tech 1) Представлява псевдо-3D игрален механизъм, разработен от американската компания id Software и използван в компютърни игри Heretic,

Съдържание

Подобрения на двигателя (над Wolfenstein 3D)

  • Подът и таванът могат да бъдат с всякаква височина.
  • Стените не са непременно ориентирани на север-юг или запад-изток.
  • Променлива осветеност за по-реалистична графика.
  • Асансьори, врати с дистанционно отваряне, тавани надолу и надолу, издигащи се стъпала и други движещи се елементи.
  • Появата на противници със способността да летят (все още не беше възможно да се бяга под която или да лети отгоре при скок).
  • Звуковата подсистема поддържа стерео звук и смесва до 8 ефекта едновременно.
  • Персонажът се люлееше нагоре и надолу при движение, което създаваше по-голяма илюзия за ходене (във Wolfenstein гледната точка беше на постоянна височина около нивото на корема, сякаш играчът се возеше в инвалидна количка).
  • Беше разрешено (макар и не насърчавано) да се свързват допълнителни модули (Джон Кармак, който сам модифицира игрите и искаше други да го направят.

Ограничения

Двигателят обаче имаше ограничения:

  • Лабиринтът има хоризонтален под с таван и вертикални стени.
  • Две стаи не могат да бъдат разположени една над друга. По този начин картата на нивата е напълно двуизмерна.
  • Мащабът на спрайтове и текстури е постоянен през цялата игра. Следователно, например, не е възможно да се монтира силно детайлен плакат на по-малко детайлна стена.
  • Само елементарно взаимодействие на играча с предмети в играта: невъзможно е да се избие прозорец, да се счупи стена, да се натисне кутия и т.н.
  • Героите не са били засегнати от разликата във височината на етажите - измиване на импо в мазето може да нанесе щети на играча, който е бил на няколкостотин метра по-високо в тавана.
  • Асансьорите и платформите могат да се движат нагоре и надолу, но не хоризонтално.

Технически характеристики

Двигателят е написан на C на работни станции NEXTSTEP. Първоначално се използва компилаторът Intel C, но по-късно те преминават към Watcom C. Помощните програми са написани за NeXT в обектния стил.

Всички изчисления се извършват във фиксирана точка 16.16, с машинна единица, равна на един тексел (височината на играча е 56 тексела, което означава, че 1 тексел е приблизително равен на 3 см). За ъглови стойности се използва фиксирана точка с 65536 = 360 °.

Демо записът и мултиплейърът се основават на факта, че на цифров компютър един и същ код с едни и същи данни води до един и същ резултат, а поведението на целочислената аритметика е строго определено и не зависи от модела на процесора. Играта записва команди за управление в демо видеото (и предава по мрежата); ако няма грешки в играта, различни машини, интерпретиращи едни и същи команди за управление, получават един и същ резултат. Играта обаче все още има грешки, водещи до десинхронизация: по-специално, ако влезете в менюто в игра за един играч, играта спира, но видеото продължава да се записва. Недостатъкът на този подход е невъзможността за пренавиване на видеоклипа; може да се превърта само от самото начало.

В режима на демонстрационен запис точността на въртене беше намалена до 256 с 360 градуса; внимателен играч може да е забелязал, че в режим на демо запис записът става по-груб. Това служи единствено за спестяване на памет в демонстрационните видеоклипове и всъщност не се изисква.