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 градуса; внимателен играч може да е забелязал, че в режим на демо запис записът става по-груб. Това служи единствено за спестяване на памет в демонстрационните видеоклипове и всъщност не се изисква.