Tomb Engine
by MontyTRC (*)
![]() Download the latest version of Tomb Editor (includes the latest TEN update) * Tomb Engine on GitHub * |
Please download the latest version of Tomb Editor which is included with Tomb Engine (TEN) to get started.
Installation process:
1) Download the latest version of Tomb Editor and follow the installation process.
1.1) Note TE comes with DotNet6 and Legacy installer, DotNet6 TE provides faster performance when building the level and uses .NET6 whilst Legacy is Net Framework 4.5
2) After you have installed Tomb Editor suite, now you can launch TIDE and create a level for TombEngine target this is the same if you were creating a level in TIDE for TRNG target.
3) Once you have everything set up, you can now create a new level. Click on the plus sign and name your level and double click, Tomb Editor will launch with a wad loaded in from Tomb Editor directory.
4) This step is not needed as this was updated but will leave it of there are any issues.
You may notice that can't play the level, this is because you need to edit a Lua line to match your level. Hence, open the script tab on TIDE (or Visual Studio code or any other IDE) and locate the line
test.levelFile = "Data\\TestLevel.ten" change TestLevel to the file name you have in your Data folder - this step is not needed as this was updated but will leave it.
Lua tutorials and Demo levels:
Stranger1992 has kindly provided a Github repository to get you started with TEN, this includes a pack of TR4 levels with assets in them. Kubsy has also added Lua tutorials there which is created by him and he is also providing Squidshire's Lua documentation which should be used for TEN.
https://github.com/Stranger1992/Tomb-Engine-Stock-Levels
Go to Code -> Download as zip
Or alternatively:
https://www.dropbox.com/scl/fo/hoow2x37j0xw61473w3rn/h?dl=0&rlkey=r6uoblhxhjb55vfkz1xzs2a5x
If you want to view his tutorial online then here (thanks to Adngel for putting it on G drive):
https://drive.google.com/file/d/1YnDkjK2QYNdjbJf4mJnsOCIWjbzxJS1c/view?usp=sharing
Note: Squidshire's doc and his tutorial will be updated so please check for updates often!!
When you create a new TEN folder, an example Lua script is provided within the scripts folder, explore it or check TestLevel.lua for some cool stuff that you can make in TEN.
Important information:
Tomb Engine is in beta stage, this means that not everything will work as intended or works yet. The TEN devs will gradually fix bugs and add missing features with time.
If you have a ""MSVCP140_AMOTIC_WAIT.dll" missing message, please download: https://aka.ms/vs/17/release/vc_redist.x86.exe
If you have sdk missing/incompatible: please download and drop the contents of this archive into your TE directory and recreate TEN project in TIDE. (this also includes a fix for enemies crashing and not spawning): https://github.com/Lwmte/TombEditorReleases/releases/download/v1.5.1/TombEditor151_QuickFix_for_TEN.zip
Please note that because this version is in beta stage, it means that some features may be missing (water caustics, volumetric fog, lensflares) or not fully working. There are some performance issues with renderer - mainly caused by weather. It will be fixed when Monty will find time to work on renderer.
As for scripting, it may look scary at the first sight, but note 2 things: lua is a real scripting language, which may need some basic understanding how if-else statements work, how variables are created, etc. Also they have work in progress on visual scripting, which will allow to construct scripts from simple visual blocks with predefined actions and conditions, more like in TRNG. Although this may not happen in near weeks or months, they are working on it.
Some hint from the ground up: to track mistakes you may possibly make while writing lua script, you need to launch TombEngine.exe with -debug command line. It will show the console window that will tell you all the errors with the script and such.
Oh, and another thing to point out about new trigger system!
In addition to legacy triggers that you make with T button, you can also now select a bunch of blocks and push V to create new volume trigger. It will open new trigger editor window which currently only operates on manually written Lua scripts from level script. Tutorials from the opening post, as well as example New_Level.lua in /Scripts folder should give you some ideas how to do this or that stuff.
==========================
New gameplay features:
- Native support for new moves: the ladder to the monkey, water to the ladder, ladder dismount left/right, pose, water surface roll, crawl vaults, 1 to 3 click crawl enters and exits, TR1-2 thin ledge grabbing, monkey jump.
- Support for stacking pushables and moving them together.
- Fully working diagonal collision, including vaults, climbing, shimmying and cornering.
- Subsector bridge object collision, with stacking, free rotation and actual collision borrowed from the real object bounding box.
- Trapdoors no longer crash when not placed on a portal, trapdoors can now be placed anywhere.
- Proper static mesh collision, which acts similarly to room collision, with proper handling of top and bottom sides and any rotation.
- Proper camera collision with static meshes and moveables.
- Proper vehicle collision with static meshes and moveables (including shatters).
- New volume trigger system, not bound to block data, but instead to the specific sphere or box volumes placed arbitrarily in level.
- Improved pole object, which is now limited in height, can be stacked and connected to floor or ceiling.
- Improved rope object, now Lara will stumble and fall if collided with room geometry or static meshes.
- Improved tightrope object, with a much more streamlined gameplay workflow.
- Ability to connect several water rooms to a single dry room at different heights.
- Floor material system, with proper footprint positioning and vehicle reaction.
- Level size limitations were eradicated, you can have maps up to 1024x1024 blocks.
- Level height (-127,128) has also been eradicated, you can have a room up to 16 million blocks high and down.
- To activate DOZY press O button.
- DOZY is advanced in TEN, you will now get all puzzle items and key items in your invventory for faster testing.
- Support for Lua scripting language.
- Almost all limitations were eradicated, no more texinfos, object limit, etc.
Legacy engine integration:
- Full set of classic TR1-5 weapons, including MP5 (HK), harpoon gun and rocket launcher, while preserving classic TR4 weapons.
- A set of classic TR2-3 vehicles, including snowmobile, quad bike, UPV, speedboat and rubber boat.
- Native support for quicksand, with the ability to walk on steep slopes.
- Improved weather system, with weather particles properly behaving on the floor.
- Cold breath support, workflow similar to TRNG ("cold" flag in Room Options).
- A set of almost all TR1-5 enemies in their original slots.
- Some objects behaving like TRNG ones (pushables with OCBs, rollingball with water physics).
- Legacy support for classic trigger types (TRNG triggers not included).
Renderer:
- Modern DX11 renderer pipeline.
- Pixel dynamic lights.
- Dynamic shadows and properly projected blob shadows for all objects.
- Specular "shininess" effect for all objects and Lara.
- Soft particles.
- Support for normal maps (generated automatically or provided manually by the builder in TE).
- Support for true alpha blending.
- Fast quality alpha testing which is suitable for foliage, gratings and fences.
- Vertex effects (glow and movement) for both room geometry and objects.
- Object tint can be assigned to all moveables and statics, even dynamically lit ones.
Sound system:
- Rewritten sound system, with full support for reverb, multitrack playback and playhead restoration on savegame reloading.
- New soundmap for TEN projects that take into account all legacy sounds.
- Added 8 custom footstep sounds for greater customisation.
Input:
- Full support for Xbox-compatible game controllers and legacy game controllers.
- Support for analog input with game controller thumbsticks, including Lara movement and camera movement.
- Vibration support for both Xbox-compatible and legacy game controllers.
Fixed bugs:
- Greatly improved state handling (namely running, walking, vaulting, jumping, crawling, monkey swinging).
- Rewritten collision system, with lots of small collision issues resolved, such as getting stuck on diagonal slopes, stuttering against walls or running into diagonal walls and many more.
- Slightly enhanced AI system - enemies won't falsely attack Lara if she is unreachable (e.g. shimmying or monkeyswing).
- Streamlined classic moveset, with meticulously refined animation links and lots of hiccups and slowdowns removed or alleviated.
- Streamlined vehicle handling - no more immediate explosion when touching water, ability to drive in shallow water.
- Completely overhauled trigger system, which avoids many pitfalls of original one, such as clockwork beetle disabling monkeyswing, and such.
- An enormous effort on de-hardcoding and de-cluttering whole engine codebase.
- Lara's hair no longer falls through neck (ported from tomb5 project).
- Asset management.
- All sound files from TR1-TR5 are included with the project.
- Now all assets from a .PHD / .Tr2 / .Tr4 and .TRC file will have their correct native sounds without adjustment.
- Legacy assets will copy into their correct slots in Wadtool.
- Inclusion of drag and drop Sound overwrite files to switch all sounds from Tr4 to TR1 / TR2 / TR3 or TR5.
==========================
(*) Credits:
Thanks to all of these people who were/are developing Tomb Engine since 2018:
- Developers: MontyTRC, Troye, Raildex, ChocolateFan, TokyoSU, Sezz, wolfcheese, squidshire, Krys, Stranger1992, Gancian, MoonYeah, Joey79100, Lwmte, Kubsy, Adngel
- Testers: Caesum, Joey79100, LGG_PRODUCTION, Kamillos, Kubsy, Remrem, Roli, Lore, Stranger1992, wolfcheese, adngel
- Assets: SrDanielPonces, Sezz, Kamillos, GeckoKid, Naotheia, Stranger1992
If you encounter some issues or bugs with TEN there is a dedicated Tomb Engine sub-forum section on tombraiderforums.
=> Return to Tools <=