Tomb Raider Forums  

Go Back   Tomb Raider Forums > Tomb Raider Level Editor and Modding > Tomb Raider Level Editor > Tomb Engine

Thread Tools
Old 09-10-21, 21:34   #1
Lwmte's Avatar
Join Date: Aug 2010
Posts: 1,805
Default Tomb Engine - General Discussion

I have decided to make a new thread dedicated to Tomb Engine (previously known as TR5Main), because old one wasn't updated for a while and was made for announcement, also project was renamed, and generally there is a question floating up from time to time - "what's going on with it?".

Let's start the discussion with the name and the logo

Why TEN?

First off, it's a short for "Tomb Engine" and since TE already reserved for Tomb Editor, nothing more clever came up to our minds but TEN. Also, TEN may mean it's the tenth installment in the classic engine series (first nine being 5 original games and 4 official add-ons). As you see, TEN logo is a pun and a reference to original TR5 PC game executable icon. Name also indicates that TEN is meant to be ultimate cumulative update of all classic engines for level builders, which includes all possible unique objects, enemies and traps from all previous engines, yay! Or is it?...

What happened with TEN?

Well, it seems that aforementioned approach - "Let's shove all TR1-5 objects into single engine and have fun!" - was bound to fail, and fail badly, with a bloodbath, lots of tears and several people joining and then leaving development team. Why? Personally I am sticking to the only answer: original Tomb Raider 1-5 codebase is completely appalling and falls apart literally when you just look at it. The enormous amount of hacks, irrational and illogical design choices made by Core dev team, abused functions, variables and data types makes one think that it's a miracle that TR engines do work at all. Situation was worsened by a hasty decompilation of original code which was never properly tested, with a lot of new bugs sneaking into codebase. Usually it has led to hilarious cases of "butterfly effect" in code, where a small thing could literally explode a gameplay - one of our inside jokes being "a left foot of BADDY2 reflected a sunbeam from SARLID_PALACES sound and caused Lara skin joint to explode, provoking geomagnetic storm on Venus".

All these factors, combined with "free-for-all" development politics, led TEN to a near-death state, but thankfully in the past months, approach was revised and work was organized in a bit different way.

What are the priorities now?
  • Stop shoving all TR1-5 objects into codebase without proper testing.
  • Stop "free-for-all" development, now with a bit more control over contributions, coding style and design choices.
  • Systematically fix all bugs already reported by users, possibly changing underlying causes which is frequently original superbad code design.
  • Prioritize TR4 objects over all other objects, so existing TR4/TRNG project files can be made at least partially compatible first-hand.
  • Organize reference asset management to avoid "asset hell", where users lose the track which wad or sound catalog they must use with particular engine version.

In the past 3 months, a lot of work was done to accomplish all these goals. Most of the game-breaking bugs are now fixed, with AI and object control code being the main issues now. It will take another several months to polish stuff and catch remaining bugs, but project is now steadily moves to first public beta stage.

What was already done recently?
  • Lots of small bugs were fixed, such as targeting issues, camera issues, occasional crashes because of buffer overflows etc. Believe me, there were LOTS of such bugs, which generally made an impression that TEN is going to fall apart next second. Thankfully it's not the case anymore.
  • A lot of original "voodoo code" was refactored, with internal structures now being much more accessible and less prone to low-level fails (which mostly looked from user-side as a silent tomb4 crash). Particle and FX system is being totally revised, purging original shady approach.
  • One of the most gruesome original code parts was literally napalmed - I am talking about infamous floordata. TEN now uses completely reworked approach for collisions, without crippled original data structures which frequently failed (one of the hilarious examples being clockwork beetle breaking monkeyswing... how is that?!)
  • Collision code was stabilized, with lots of original issues resolved.
  • As a consequence of two previous points, TEN now supports unconstrained subsector climbable collision for any objects and room geometry. Yes, this means you can now have proper diagonal geometry. Yes, this means you can now have standable objects which can be freely rotated and span across several blocks, with Lara being able to properly vault on them (not yet shimmy though).

What is still in the works?
  • Savegames. It's another "elephant in the room" which needs to be done to make engine playable. Currently TEN totally lacks savegames, but work on it should start in very near future.
  • Entity fixing. Sadly, a lot of objects behave differently than in original games, mostly because of decompilation errors or original hacks falling apart when placed in different conditions. Currently a huge work is being done on manual revising of every enemy, trap or effect object, so it works in precisely same way as it was in original games. As I said, TR4 objects have a priority in this task, and then any other objects.
  • Lua scripting system. A lot of progress was made in the past summer, with current system being a very advanced approach which should surpass any capabilites of TRNG.
  • Renderer. It already went through 2 or 3 iterations but still needs some work to do to run smoothly on lower end systems.
  • Collision, still being one of the crucial aspects of the gameplay. Unconstrained climbable geometry requires total rewrite of shimmy and ledge grab code, which will take a lot of time (don't even ask how bad original approach is!)
  • Gamepad support. Currently TEN only supports keyboard input.

That's it for now, I hope all this information gave you some insight into current state of TEN - which is promising. I really hope that dev team will be able to prepare public beta soon, but I won't give you any promises, because all the deadlines for beta release were missed several times - so better just to keep your fingers crossed!

I suggest everyone to jump to this thread to discuss the project further.

Last edited by Lwmte; 10-10-21 at 11:20.
Lwmte is offline   Reply With Quote
Old 09-10-21, 21:48   #2
Kubsy's Avatar
Join Date: Nov 2019
Location: Polska
Posts: 882

I am honestly proud that you and other developers like MontyTRC took the challenge of looking at Core's code, I wouldn't last long for sure if it were me.

I am also proud of things being implemented to TEN already and it is steadily going stable.

I hope at least that by next year we might have the 1st public beta, which will revolutionise the TRLE community. Of course I am also thankful to Paolone for making TRNG as it revolutionised as well (bringing all new possibilities like scripting for much more gameplay designs) however I am not happy that Paolone did not release the source code but oh well, we can't do anything about that.
Chronicles Lara: "Whatever"
Kubsy is offline   Reply With Quote
Old 09-10-21, 22:36   #3
Join Date: Nov 2009
Location: Warsaw, Poland
Posts: 15

Nice to see a thread like that to show people that something is actually happening. From my side, I can guarantee that this engine is worth the wait, so wait patiently and don't rush anyone.
kamillos6 is offline   Reply With Quote
Old 09-10-21, 23:09   #4
jvry's Avatar
Join Date: Aug 2021
Posts: 103

I am still very new to TRLEs in general, so forgive me if what I'm about to ask is stupid.

Do the changes in floor data and collision mean it might be possible at some point (or is it already possible and being new I just haven't seen it done) to do things like wall hugging thin ledges or squeezing through tight vertical gaps? It's interesting seeing more experienced builders and players marvel at how Lara has been increasingly able to navigate her environment in different ways, I'm just curious how far it can go.

Will the current scripting methods also work with TEN, or will builders have to learn lua if they want to take full advantage of the engine?

Why is the 10 in a red circle and not on something more tomb-like?

Okay, that last one wasn't a genuine question. I had more I wanted to ask, but goldfish brain.

As I'm still in the very early stages of learning what I can do in TE with the current engine, I've been on the fence how much I should learn so as not be stuck trying to figure out two engines at once (never mind the others). Because of course I'll want to try the shiny new one when it comes out. From this and the joint thread, it looks as though it will be soon, but not so soon that I should hold off too much with what's already available.

It's a fun time to be coming into the world of TRLEs.
jvry is offline   Reply With Quote
Old 10-10-21, 00:12   #5
not again!
not again!'s Avatar
Join Date: Feb 2008
Posts: 1,122

Ah, that's some sensational news about the collision overhaul and climbable objects. The hype is real!

I'm also especially happy that LUA is going to replace (?) NGLE scripting, or at least will be an alternative option.
Dealing with NGLE scripting is something I've felt rather conflicted about, since the acquired knowledge is so totally useless outside of level building. If I have to learn a scripting language, then I very much prefer to learn a real, actual scripting language.
not again! is offline   Reply With Quote
Old 10-10-21, 08:28   #6
Lwmte's Avatar
Join Date: Aug 2010
Posts: 1,805

The problem with TRNG scripting is that it's not fully "scripting language" rather than a set of predefined parameters that you can combine in various ways. Lua should change that, although at first it may scare off some people who had no experience in writing scripts for anything but TRNG. Of course TEN won't support TRNG scripting, because it's completely different system, but in fact it should be more simple to learn, because instead of remembering predefined sets of 217839213 flipeffects and conditions, one may write their own condition or code to execute.

As for subsector collision - yes, you now can make a thin ledge with 1/8 block width, placed at any angle and spanning across many blocks. No need to place any dummy triggers or write "fragmented triggers" into script - everything is done automatically. However, for custom animation states like you mentioned, additional coding must be done.

"10 in a red circle" is a reference to original TR5 exe file logo, which was 5 in a red circle. Since TEN is based on decompiled TR5 code, hence the logo reference.
Lwmte is offline   Reply With Quote
Old 10-10-21, 08:58   #7
tlr online
tlr online's Avatar
Join Date: Jun 2000
Posts: 61,157

Do you want me to sticky the thread?
tlr online is offline   Reply With Quote
Old 10-10-21, 09:25   #8
Lwmte's Avatar
Join Date: Aug 2010
Posts: 1,805

Hi, I think it's not necessary, it's just general discussion thread
Lwmte is offline   Reply With Quote
Old 10-10-21, 10:23   #9
FairFriend's Avatar
Join Date: Mar 2012
Location: France, Paris area
Posts: 225

As a consequence of two previous points, TEN now supports unconstrained subsector climbable collision for any objects and room geometry. Yes, this means you can now have proper diagonal geometry. Yes, this means you can now have standable objects which can be freely rotated and span across several blocks, with Lara being able to properly vault on them (not yet shimmy though).
This sounds huge and revolutionary. Is the sub-sectoring really unconstrained though? As in, the grid can be as small as we want? From a previous reply I gather that the sector can be at most 1/8 the size of current ones. That would be already a major improvement. Can't imagine all the headaches that implementing such system must have induced.

Anyway, I'm glad that the project is moving forward. Can't wait to see some videos showing the new features
FairFriend is offline   Reply With Quote
Old 10-10-21, 10:31   #10
Join Date: Dec 2011
Location: Hungary
Posts: 4,833

And do you want me to close the other thread?
AkyV is offline   Reply With Quote

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

All times are GMT. The time now is 03:14.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2023, vBulletin Solutions Inc.
Tomb Raider Forums is not owned or operated by CDE Entertainment Ltd.
Lara Croft and Tomb Raider are trademarks of CDE Entertainment Ltd.