You are not logged in.

1

Wednesday, February 7th 2018, 7:55pm

OpenTomb: Neue Tomb Raider Engine von TeslaRus

Wie ich schon erwähnt habe wird ja parallel zum neuen Editor eine neue Engine entwickelt.
Um genau zu sein eigentlich sogar 2 Engines die voneinander komplett unabhängig sind: OpenLara & OpenTomb

OpenTomb (aka. TRE): http://www.tombraiderforums.com/showthread.php?t=197508In diesem Thread werde ich die Features von OpenTomb (aka. TRE) von TeslaRus erläutern und wenn möglich regelmäßig aktualisieren.

Alternativ geht's hier zum Thread von OpenLara

This post has been edited 2 times, last edit by "Niklas" (Feb 8th 2018, 12:05am)


2

Wednesday, February 7th 2018, 8:38pm

OpenTomb Features:

  • Integriertes LUA Scripting: LUA ist ein Standard-Script für Games, es ist umfangreich und leicht zu bedienen. OpenTomb benutzt LUA-Scripts für flexible Item, Trigger und Gameplay Funktionen. Im Klartext bedeutet das, dass man JEDES Item und JEDES Feature in Levels zu seinen Wünschen umprogrammieren kann. Es gibt also keine "hardcoded functions" mehr, alles beruht auf vielen kleinen austauschbaren Bausteinen !
  • Shader-based rendering: OpenTomb benutzt keine festen Funktionen zur Berechnung der Spielwelt. Der Renderprozess wird für moderne Grafikkarten optimiert, so dass ihr Potenzial vollständig ausgenutzt wird. Momentan werden Beleuchtung, Unterwassereffekte und "shader-based skinning" mit modernen Funktionen berechnet.
  • Komplett neue Collision Philosophie: Die Engine benutzt einen neuen Terrain-Generator welcher jegliche Objekte in die Levelstruktur miteinbezieht. Es gibt also keine Collision-Box mehr um Objekte rum, nach dem Levelexport gehören sie fest der Struktur an. Einfach gesagt gibt es in OpenTomb keinen Unterschied zwischen Raumcollision, Staticcollision und Objektcollision. Lara kann auf allen Flächen und Objekten stehen/springen/klettern/usw. (ja ! sogar auf Gegnern !)
  • BULLET Physikengine ist ein weiteres bahnbrechendes Feature welches hochwertige real-time Objektinteraktionen ermöglicht. In OpenTomb wird es unter anderem für Lara's Zopf, Steine oder andere Fallen die im Level umherfliegen und jegliche andere bewegliche Objekte verwendet. Der legendäre "ragdoll" Tod ist jetzt so realistisch wie noch nie (siehe Video unten) ! In Zukunft wird diese Physikengine für umherschwingende Seile, für Partikeleffekte, für Wettereffekte und vieles mehr zuständig sein.
  • Erweiterte Audioengine: Die alten Tomb Raider hatten keine environmentalen Audioeffekte. OpenTomb implementiert unter anderem Echo&Reverb Effekte (zB. für Höhlen und Gebirge), Windeffekte und Unterwassereffekte (low-pass filter). Ausserdem wird es 3 Audiokanäle geben: Hintergrundambiente, Aktioneffekte und einen Sprachkanal.
  • Cross-platform kompatibel: OpenTomb ist in C++ geschrieben und benutzt allgemeine Interfaces wie SDL 2.0, OpenGL/OpenAL. OpenTomb wird in Zukunft auf mehreren Platformen spielbar sein. Momentan arbeitet "Cochrane" an der Mac-Version und "Vobject" an der Linux-Version.
Screenshots & videos:








This post has been edited 3 times, last edit by "Niklas" (Feb 7th 2018, 8:44pm)


3

Wednesday, February 7th 2018, 10:05pm

FAQ:
  • Q: Was ist OpenTomb ?

    A: OpenTomb (früher bekannt als TRE, tr1_engine oder
    TeslaRusEngine) ist eine Reimplementierung der alten Tomb Raider Engines
    mit dem Ziel alle Teile 1-5 zu unterstützen (ausser verschlüsselte
    TRNG und TREP Levels). Die Engine wurde komplett von Grund auf neu
    geschrieben, es ist kein Mod, Patch, Hack oder sonstiges. OpenTomb
    benutzt Code aus älteren aufgegebenen TR Engine Clone - insbessondere
    OpenRaider und VT Project, ausserdem wird Code von Quake Tenebrae
    Project verwendet.
  • Q: Warum eine neue TR Engine von Grund auf programmieren wenn es doch schon TRNG gibt ?

    A: TRNG ist keine Engine, sondern vielmehr ein
    Patch/Hack mit dem über viele Umwege und Eselsbrücken neue Features
    implementiert wurden. TRNG basiert also immernoch auf den 15 Jahre alten
    Code der alten Tomb Raider Spiele. Die alte Engine hat viele Mangel die
    durch TRNG nicht zu beseitigen sind: alte Grafikengine, alte
    Soundengine, neue Hardware wird oft garnicht erst unterstützt, keine
    Optimisierung, keine echte Physikengine, etc... Ausserdem ist OpenTomb
    Open-Source, das bedeutet, dass sich jeder den Code von OpenTomb
    anschauen und selbst Veränderungen mit einbringen kann. Ständige
    Weiterentwicklung ist somit garantiert.
  • Q: Warum zuerst TRE dann OpenTomb ?

    A: Es gibt zu viele andere Projekte mit TRE im Namen: TREP, DxTRE3d, TREE4. Core-Design benutzte selbst immer das Wort Tomb in ihren Engines: Tomb2, Tomb3, etc. Bei OpenTomb handelt es sich klar und deutlich um den nächsten Schritt in der Tomb Familie.
    Zu guter Letzt ist OpenTomb ein lustiges Wortspiel: etwas entdecken was
    als verloren oder vergessen gillt - eine alte Engine mit vielen
    gescheiterten open-sourcing Versuchen welche letztendlich dennoch ans
    Licht kommt !
  • Q: Wo kann ich die letzte Version von OpenTomb downloaden ?

    A: Downloaden kann man die aktuellste Version HIER
    Ältere Versionen kann man hier downloaden
    Wenn du uns bei der Entwicklung unterstützen möchtest kannst du dir den Code hier anschauen
  • Q: Was wird benötigt um OpenTomb zu spielen ?

    A: Ganz einfach - du musst eigentlich nur die Tomb Raider Spiele besitzen.

    Das Problem ist, dass manche Dateien verschlüsselt sind, deswegen musst
    du manche Dateien selbst konvertieren oder irgendwo downloaden. Hier ist
    eine Listen aller benötigten Dateien und wo du sie findest:

    1. "Data" Ordner der TR-Spiele.
      Du findest den Data Ordner auf jeder Tomb Raider CD oder im Steam/GOG
      Installationsverzeichnis. Kopiere einfach den Data Ordner der Original
      TR Spiele in den /data/tr*/ Ordner von OpenTomb (* ist hier der TR-Teil, also tr1/tr2/tr3/tr4/tr5).
    2. "Audio" Ordner bei TR3-TR5. Genau wie beim Data Ordner kopierst du einfach den audio Ordner in den entsprechenden /data/tr*/ Ordner.
    3. CD audio tracks bei TR1-2. Für TR1 & TR2 brauchst du den CD Soundtrack im OGG Format. Du kannst

      TR1 & TR2 Soundtracks hier downloaden, oder das gesammte TR1/TR2 Paket hier downloaden.
    4. Ladebildschirm für TR1-3 und TR5. Für TR3 findest du den Ladebildschirm im pix Ordner im Installationsverzeichnis. Einfach den pix Ordner in den /data/tr3/
      Ordner kopieren. Für die anderen Spiele ist das etwas komplizierter, es
      gibt keine Ladebildschirme bei TR1-2, TR4 benutze Screenshots, und bei
      TR5 wurden alle Ladebildschirme verschlüsselt. Um dir das Leben
      einfacher zu machen kannst du alle Ladebildschirme hier downloaden. Verschiebe sie einfach in den entsprechenden Ordner und es sollte funktionieren.
  • Q: Ist OpenTomb kompatibel mit TRLE Custom Levels ?

    A: Ja ! Die letzte Version unterstützt alle TRLE Levels - auch NGLE Levels, ausser verschlüsselte NGLE Levels.
  • Q: Welche Features sind schon integriert und welche noch nicht ?

    A: Standart Physikinteraktionen – laufen, rennen, springen, klettern, schwimmen, rutschen und gegen Wände laufen. In

    TR2+, kannst du Wände hochklettern. In TR3+ Levels, kannst du auch
    hangeln, knien, kriechen und sprinten. Auslöser und Interaktionen mit
    Schaltern und Keyholes funktioniert auch. Natürlich kannst du auch Items
    aufheben und diese wie in TR4/TR5 kombinieren. Das Menü ist noch in
    Arbeit und AI/NPCs werden schrittweise implementiert.
  • Q: Warum sind Laras Bewegungen manchmal so verbuggt – springen fühlt sich seltsam an und manche Zwischenanimationen fehlen ?

    A: Weil das komplette Status-System (StateIDs) komplett
    neu programmiert wird, ist es bessonders schwer das gewohnte TR-Gefühl
    1zu1 zu reproduzieren. Ohne den original Quellcode von Core-Design ist
    es wie als ob man versucht Lara das Laufen beizubringen, sie ist im
    Prinzip wie ein Kind. Es wird viel Zeit beanspruchen alles exakt
    einzustellen.
  • Q: Was ist mit Tomb Raider Xtra ? Wird es Unterstützung für externe HD Texturen geben ?

    A: Ja, es wird die Möglichkeit geben die Texturen
    auszutauschen. Das sollte überhaupt kein Problem darstellen da der
    komplette Code bekannt ist, man muss sich also nicht mehr in die Engine
    "reinhacken" um etwas auszutauschen.
  • Q: Und was ist mit Levels die mit Meta2TR modifiziert worden sind ?

    A: OpenTomb lädt und rendert extern-modifizierte Levelstrukturen erfolgreich.
  • Q: Wird es mit den TRNG/NGLE Features kompatibel sein ?

    A: Da TRNG ein Patch/Hack der alten tomb4 Engine ist
    und OpenTomb nichts mehr damit zu tun hat, wird es nicht sofort
    kompatibel sein. Die meisten TRNG Routinen/Scripte/Effekte können
    dennoch recht einfach mit LUA Scripten implementiert werden. Es könnte
    auch einen Konverter geben der das TRNG Script in ein OpenTomb Script
    umschreibt. Eines Tages wird das alles möglich sein.
  • Q: Wird es mit TREP/FLEP kompatibel sein ?

    A: TREP & FLEP ist auch ein Hack. Die Levelbauer
    von TREP & FLEP Levels können aber ihre Levels mit LUA Scripten
    umschreiben. Bewahre deine TREP & FLEP Einstellungen an einem
    sicheren Ort auf, du wirst diese in OpenTomb integrieren können wenn die
    Zeit reif ist.
  • Q: Was ist mit pixel shaders, SSAO, real-time shadows, environment mapping und anderen Graphic-Features?

    A: Antwort von Cochrane: All diese Wünsche sind recht
    simple zu erfüllen, TeslaRus's Engine ist eine solide Basis um später
    solche Extras zu implementieren. Momentan liegt der Fokus auf
    wichtigeren Sachen.

This post has been edited 2 times, last edit by "Niklas" (Feb 8th 2018, 12:04am)


4

Wednesday, February 7th 2018, 10:09pm

Tastaturbelegung

W / S / A / D — Vorwärts / Rückwärts / Links / Rechts
SPACE — Springen
CTRL — Aktion (interagieren/festhalten) / schiessen
F — Waffe ziehen (Waffe erst mit den 1-7 Hotkeys auswählen !)
SHIFT — Gehen / Kopfsprung
CAPS LOCK — Sprinten (wenn CAPS an ist, wird Lara immer sprinten)
V — Kriechen
Z — Status Reseten (wenn Lara wo festbuggt)
N — Noclip Modus

PRINT SCREEN — Screenshot machen
F5 — Schnell-Speichern
F6 — Schnell-Laden

Kommandos

Momentan hat OpenTomb noch kein Menü, man muss alle Befehle in die Konsole eingeben. Um die Konsole zu öffnen drücke ~ oder ^

Spoiler Spoiler


Wenn man die ~ Taste nicht findet kann man auch eine andere festlegen.
Einfach die config.lua Datei öffnen. Dort müsste stehen:

Source code

1
bind(act.console, KEY_BACKQUOTE)

Man muss jetzt KEY_BACKQUOTE durch eine beliebige Taste ersetzen.
Eine "Tastenliste" findet man in der Datei: scripts\config\control_constants.lua

Kommandoliste:
  • help — Zeigt die Befehle an
  • setgamef(Spiel, Level) — Startet ein Level. Für TR2 muss man "setgame(2, 1)" eingeben. Für Tomb Raider 3: Lost Artifact "setgame (3.5, 1)" ETC...
  • loadMap "Levelname" — lädt (zwingend) eine Leveldatei
  • save "Name" — Speichert einen Spielstand mit dem angegebenen Namen im "save" Ordner ab.
  • load "Name" — Lädt einen Spielstand aus dem "save" Ordner.
  • mlook(0) — Kamera folgt Lara
  • mlook(1) — Man kann sich mit der Maus umschauen (Standart)
  • cam_distance [value] — Kamera-Distanz, Standart: 1024
  • playsound (ID) — Spielt einen Sound ab
  • playstream (ID) — Spielt ein Lied ab
  • exit — Beendet das Spiel (Man kann das Spiel auch mit ALT+F4 beenden)
Entwickler

TeslaRus: main developer.
Cochrane: renderer rewrites and optimizing, Mac OS X support.
Gh0stBlade: renderer add-ons, shader port, gameflow implementation, state control fix-ups, camera programming.
Lwmte: state and scripting fix-ups, controls, GUI and audio modules, trigger and entity system rewrites, hair and ragdoll code.
Nickotte: interface programming, ring inventory implementation, camera fix-ups.
pmatulka: Linux port and testing.
Richard_trle: Github migration, Github repo maintenance, website design.
Saracen: room and static mesh lighting.
stltomb: general bugfixing and maintenance.
stohrendorf: CXX-fication, refactoring and general code optimizing.
T4Larson: general stability patches and bugfixing.
vobject: nightly builds, maintaining general compiler compatibility.
vvsgh: extensive testing, issue management on Github.

Additional contributions from: Ado Croft (extensive testing), E. Popov (TRN caustics shader port), godmodder (general help), jack9267 (vt loader optimization), meta2tr (testing and bugtracking), shabtronic (renderer fix-ups), Tonttu (console patch) and xythobuz (additional Mac compatibility patches).

Translations by: Joey79100 (French), Nickotte (Italian), Lwmte (Russian), SuiKaze Raider (Spanish)

This post has been edited 10 times, last edit by "Niklas" (Feb 8th 2018, 1:53am)


5

Thursday, February 8th 2018, 1:18am

Ich habe grad das "Russia Episode 2" Custom-Level geladen. Hat ganz gut funktioniert bis auf die noch nicht implementierten Gegner. Bessonders amüsant war das draufklettern auf die ganzen Objekte. Ich habe übrigens die Tastenbelegung in der config.lua so eingestellt, dass es wieder wie im alten Tomb Raider ist.

Einfach die config.txt downloaden, dann in config.lua umbenennen (konnte keine .lua auf die LB hochladen) und mit der alten config im Ordner ersetzen. W/A/S/D ist jetzt Kamera, die anderen Tasten wie gewohnt. Mit dem Kommando "mlook(0)" ist die Kamera immer fest hinter Lara fixiert.

Zusätzlich kann man in der autoexe.lua "mlook(0);" einstellen, dann ist die Kamera IMMER fest hinter Lara ohne dass man das immer eingeben muss.
Niklas has attached the following file:
  • config.txt (3.04 kB - 2 times downloaded - latest: Feb 8th 2018, 11:02am)

This post has been edited 4 times, last edit by "Niklas" (Feb 8th 2018, 1:55am)