Trespassing - A Trespasser Remake / Re-Telling

Creating new content for Trespasser!

Moderators: TresCom Support Team, TresCom Board Managers, TresCom Developers

s13n1
-=TresCom Developer=-
-=TresCom Developer=-
Posts: 550
Joined: Mon Dec 12, 2011 11:54 am
Antispam: No
Location: Australia
Contact:

Re: All levels combined into one mesh. W.I.P

Post by s13n1 »

I will, don't you worry!

Things are progressing nicely. The lost levels are taking shape in Sandbox and im starting to design other
areas in the empty spaces. I have linked a few areas together where roads probably would've met and im filling
other empty areas with scenes from the movies. Like the Aviary and Eric's water truck from JP3.

I have made a waterfall and river that fills the gorge between J.R and P.H. This will flow down into a large water
catchment which will continue through to the East coast. You can see these already in the images i have posted.
For realism sake, i have decided to build a road that will link the North road and the Beach. Where the East exit
from the town to the Plains is, the road will branch off, cross a gorge near the water catchment and ascend a few
switchbacks and link up with the first Monorail Terminus area. I think realistically there would be more roads
around the island and travelling along the monorail path only to get from beach to town is unrealistic.

I have also linked the dead end road in I.J (not far from floating padlock) to the road in Pine Valley, and im going
to link Ascent2 with the Plains.

Many of these extra roads will be blocked with gates though, so they don't speed up progression through the island.
I have a plan to incorporate the radio network towers mentioned in the Lost World book and changing quite a few
other elements to encourage full island exploration after you reach the Summit.

I wont say too much now as its early days yet, I'm making an island map that will clarify everything for you. Once i
have the island looking a little bit more finished, ill post it.
User avatar
awesome24712
Pteranodon
Pteranodon
Posts: 889
Joined: Sun Oct 02, 2011 1:56 am
Antispam: No
Location: USA
Contact:

Re: All levels combined into one mesh. W.I.P

Post by awesome24712 »

Can't wait to see some more images! :wink:

Nice to hear you're adding some JP\\\ stuff to it... wonder how the avairy will turn out.
Check out the HL2 mod I'm helping with: Image
Visit my Steam! http://steamcommunity.com/id/awesome24712/
Visit my YouTube! http://www.youtube.com/user/awesome24712

Post benchamrks:
1 [x] 2 [x] 4 [x] 8 [x] 16 [x] 32 [x] 64 [x] 128 [x] 256 [x] 512 [x] 1024 [ ] 2048 [ ] 4096 [ ] 9192 [ ]
s13n1
-=TresCom Developer=-
-=TresCom Developer=-
Posts: 550
Joined: Mon Dec 12, 2011 11:54 am
Antispam: No
Location: Australia
Contact:

Re: All levels combined into one mesh. W.I.P

Post by s13n1 »

I've been doing some engine tests using several different engines.

Ultimately, i would like to NOT use a CryEngine if i can, for personal reasons, and i would really like to support a smaller engine.
Unfortunately there's just not too many around with the muscle needed to produce the results i require.

My computer specs are: AMD 64x2 6000, 3gbddr2, radeon 6950 2gb.
The CPU is the obvious bottleneck of my system, followed by the memory. I do have 8gb of ddr2 sitting in my desk, but due
to my mainboard being a POS, it fails on boot whenever i install it.

I hope to find an engine that runs nicely on my system, because i know if i can optimize it for my system, then it should keep
most people happy. Apart from my GPU, my system is pretty dated and i think most serious PC gamers would have a system
that surpasses mine.

One engine i've been a fan of since its beginnings is Leadwerks. Its a great engine and offers great support for its users.
Unfortunately it too has its limitations and when compared to CryEngine2, it just cant compete for features.
There are a lot of features in CryEngine2 that i don't need, but there are many i do.

I did a quick Stress-Test in the Leadwerks editor.
engine_test01.jpg
engine_test01.jpg (150.49 KiB) Viewed 14313 times
4096x4096 heightmap imported, basic textures applied, trees distributed over terrain, water plane added for ocean, lighting is full dynamic,
everything set to max, SSAO, AF, AA, HDR, God Rays, Bloom the lot!

Readout is 7.2 - 7.4 fps, here's why:

The Trees display as full detail for 1000 metres, then turn into billboards. The trees are quite detailed, probably around 1250 polygons each and
i have no idea how many there are, many thousands. The shadowmaps are 2048, but there are only 3 detail levels to choose from, and as you
push the distances further for the lower levels, it actually affects the quality of the closer shadows. There are shadow maps for 1000 metres.

Draw distance is set at something like 3500 metres and DOF is between 1500-3500 metres. I couldnt even guess how many polys this scene is
pushing, but before the trees were added, the FPS count was between 52 and 55.

This was an absolute stress test of the engine and i think it performs amazingly well. You have to take into consideration that the only place you
will ever see this much of the island at once is from the summit. When i stand at ground level, the FPS drop to around 18. The trees are also highly
unoptimized and if i included different LOD models, the FPS could easily double for this scene.

The only issue i have with the engine is the shadowmaps. They are just too limited and a noticeable draw distance can be seen as they step up in
detail. On the horizon there is a very obvious pop when they reach their draw distance and its very distracting. I want players to be able to stand on
the summit and be able to see for at least a kilometre with nice detail. This is easily possible with this engine, but unfortunately the shadow maps
look terrible at close range.

Leadwerks engine 3 is in the works, it might just be the solution, but how long before its release?!
If it wasn't for these annoying issues, this engine would be at the top of my list, but for now CryEngine2 remains.
User avatar
LtSten
Gallimimus
Gallimimus
Posts: 609
Joined: Fri Nov 27, 2009 8:28 pm
Antispam: No
Location: England, UK

Re: All levels combined into one mesh. W.I.P

Post by LtSten »

...now that's what I call 40,000 trees...
Bringing TPA CRCs up the well, amongst other file format adventures.
Blender 3.0 TPM Plugin [Project GitHub]
User avatar
machf
T-Rex Killer
T-Rex Killer
Posts: 12368
Joined: Thu Apr 24, 2003 11:20 pm
Location: Lima, Peru
Contact:

Re: All levels combined into one mesh. W.I.P

Post by machf »

LtSten wrote:...now that's what I call 40,000 trees...
Hah! Yes, indeed...
I wonder if Tres will *ever* be able to have those 40 000 tress in a level as they promised...
Visit The Carnivores Saga - a forum devoted to modding Action Forms' Carnivores, Carnivores 2 and Carnivores: Ice Age games
Tres WIP: updated T-Script Reference and File Formats documents
Sound name listings for the Demo (build 117), Retail (build 116), Beta 103, Beta 99, Beta 97, Beta 96, Build 55, PC Gamer Alpha (build 32) and E3 1998 Alpha (build 22) TPA files
Dragonlord
Compsognathus
Compsognathus
Posts: 1070
Joined: Fri Jan 04, 2008 12:14 am
Location: Switzerland
Contact:

Re: All levels combined into one mesh. W.I.P

Post by Dragonlord »

My engine would certainly not have shadow map restrictions and even has a vegetation generation system where you can spam vegetation using a rule system with good control. Unfortunately not available yet for anybody else than me (and needs some more optimizations like the billboard trick you mentioned). But it would be interesting to test this scene on the unoptimized engine just to see how it plays out. It would be certainly interesting to me as I have so far no realistic terrain to test things with. Not sure though if I disabled some terrain rendering code. I want to alter the entire terrain rendering code as I'm not really happy with it yet. Anyways what goes for already released engines I'd say CE is your best bet for the time being.
Image
Leader, Head Programmer: Epsylon | Drag[en]gine ( Wiki )
s13n1
-=TresCom Developer=-
-=TresCom Developer=-
Posts: 550
Joined: Mon Dec 12, 2011 11:54 am
Antispam: No
Location: Australia
Contact:

Re: All levels combined into one mesh. W.I.P

Post by s13n1 »

Every engine has shadow map restrictions of some kind, there needs to be, its just that my requirements for such a long draw distance is what ruins this engines
abilities to produce nice shadow maps close up. For a project using smaller individual levels, this engine would be perfect.

I didn't have terrain shadows enabled for this test, which might have helped somewhat because i might have been able to pull the shadow map distance back from 1000
to something like 600-700, which would have improved the resolution of closer shadows.

You have to understand too that this engine is not new, its quite old and is about to be replaced by the latest version which promises to include many of the features we've
come to expect as standard. This engine is a one man army too, unlike UDK or CE which are companies hundreds of people strong.

The engine uses Newton physics, and they look so damn good. Pushing a barrel over a cliff will result in it rolling, then tumble as it gathers speed, then eventually full
cartwheels as it bounces and leaps high into the air. As it begins to slow, the barrel will roll at great speed and even pop up onto one end to spin on the rim, causing it to
turn around in circles and sometimes go back the way it came. Setting up weight and friction allows all objects to react realistically when pushed, shot or hit by another
object. It really is like watching a modern version of Trespasser, I can picture a raptor crashing into a stack of barrels, or knocking the crashed jeep from Mt Watson and
being able to actually watch it tumble all the way down to the bottom of the mountain, slamming into the mayan structures.

Soft bodies and destructive abilities are included in the latest version of Newton, and the engine's programmer Josh, is planning to stick with it for Leadwerks3D. A good thing too,
because switching to something like PhysX would result in a restriction on terrain sizes due to physics limitations.

So in Leadwerks3D you would see the jeep crash and roll down the mountain, sustaining more damage, doors, wheels and other parts coming off, then as it smashes into the mayan
structure below, the ruins would break and crumble as the car knocks them over like bowling pins. You could even have displacement mapped impact marks in the terrain or have a
nice big scratch along the terrain where the jeep as slid along on its roof. All subtle effects, but greatly enhancing the realism.

I'm about to start testing in another engine, one that i'm really excited to be using, but i wont have any screen shots for a while yet. I'm having a little break from sculpting the island
and im doing some more documentation.

Would be good to see some screen shots of your engine one day Dragonlord.
User avatar
awesome24712
Pteranodon
Pteranodon
Posts: 889
Joined: Sun Oct 02, 2011 1:56 am
Antispam: No
Location: USA
Contact:

Re: All levels combined into one mesh. W.I.P

Post by awesome24712 »

Well, whichever engine you choose, it will be better than the Trespasser one. :wink:
Check out the HL2 mod I'm helping with: Image
Visit my Steam! http://steamcommunity.com/id/awesome24712/
Visit my YouTube! http://www.youtube.com/user/awesome24712

Post benchamrks:
1 [x] 2 [x] 4 [x] 8 [x] 16 [x] 32 [x] 64 [x] 128 [x] 256 [x] 512 [x] 1024 [ ] 2048 [ ] 4096 [ ] 9192 [ ]
Dragonlord
Compsognathus
Compsognathus
Posts: 1070
Joined: Fri Jan 04, 2008 12:14 am
Location: Switzerland
Contact:

Re: All levels combined into one mesh. W.I.P

Post by Dragonlord »

What goes for the Physics you can have the same thing with Bullet ;) . I've seen that leadworks engine ads around already but so far it didn't really strike me as that awesome especially compared with what high class engines have to offer seeing as it is commercial (if I'm not mistaken). Are you in the end only interested in a large physics simulation or what is the plans for the AI and game mechanics? After all how you can implement "this" with a game engine is an entire different set of requirements one should examine beforehand. So what scale of interaction or game mechanics you have in mind?
Image
Leader, Head Programmer: Epsylon | Drag[en]gine ( Wiki )
s13n1
-=TresCom Developer=-
-=TresCom Developer=-
Posts: 550
Joined: Mon Dec 12, 2011 11:54 am
Antispam: No
Location: Australia
Contact:

Re: All levels combined into one mesh. W.I.P

Post by s13n1 »

My primary concern is being able to draw the island realistically.
Physics are one thing, but if its doesn't look right, then the illusion is lost.

I need an engine that can easily handle a 4096 size terrain, allow terrain texture mapping and perhaps normal mapping and be very scalable.

Interaction with objects will be as detailed as being able to interact with anything that's physically moveable. Weight will factor in this, and once an
object is simply too big, then physics for that object will be disabled. For example, objects like a large wooden beam. It might be two metres long and
3 inches thick and weigh 50 kilo's, but if you grab it from one end, you will be able to lift that end and drag it. You could then place it on a box, then lift
the other end onto a box, creating a bench or a ramp.

Controlling interaction with objects like this will be easy, by placing weld points on the objects which define where the players hands will snap to. All the
weapons in Trespasser would have these on the gun's grip, but you could place one on either side of the previously mentions beam, so the hands grab the
the appropriate point:
weld-point_example.jpg
weld-point_example.jpg (15.62 KiB) Viewed 14281 times
The problem with this method, is that when your dealing with two arms, you need to define were each hand should grab the object. This is obvious with
complex shapes, where grabbing the object incorrectly will result in unrealistic behavior and graphical glitches, clipping etc.

For example, a large metal H-beam.
h-beam_example.jpg
h-beam_example.jpg (25.05 KiB) Viewed 14281 times
Because of its shape, it could be laying flat or on its side, so you need to define which hand grabs the object and the orientation of the object. You can do
this with bones, by simply making the start of the bone (big end) the weld point for the right hand and the left hand the other end. You then set it
up so that the bone must be pointing away from the hand within a certain threshold, so the hand isn't welding to bone pointing the wrong way. This ensures
the hands will always grab the object in the most realistic way.

For smaller one handed objects, then the entire object could be a right hand weld point and you could pick up an object from any angle. Or you could define
multiple small weld points at realistic locations where you would normally pick the object up, then simply move the hand to that point before picking it up.
I don't want excessive arm movement controls, its unnecessary and only complicates things. Rotate wrist may be the only addition, so you could make fine
adjustments to the angle of the object you have picked up, rather then having to drop it and position it properly.

Guns will be just as they are in Trespasser, picking them up will snap to the handle by default. Only if you choose to use the weapon as a melee can you wield
it like a club. When you are holding an object that is defined as being usable as a melee weapon, then pressing fire will result in you swinging it appropriately.
No more wild 3-stooges style arm wobbling, only if you choose to wave the object around yourself with the Move Arm key.

Interaction with the environment will be as required. Im not interested in adding as much realism as possible, only if its relevant. The same goes with special
effects and destructive environments. There's no point having full destructive terrain and buildings if it adds nothing to the gameplay or story. I'm more interested
in creating a base set of fundamentals that work flawlessly together to create an immersive and believable environment. After that, the gameplay will create itself.

I'm not too concerned with the finer details as i know they can be done and how. The hard part is getting an engine that can render it all first!
Slugger
-=TresCom Developer=-
-=TresCom Developer=-
Posts: 4720
Joined: Sat Jun 12, 2004 6:52 pm
Antispam: No
Location: Atlanta

Re: All levels combined into one mesh. W.I.P

Post by Slugger »

Now that's an island! :o
0066521C: 'Cannot create local swap file - Is Trespasser installed??',0Ah,0
"Cold lino was the driving force behind world power!"
s13n1
-=TresCom Developer=-
-=TresCom Developer=-
Posts: 550
Joined: Mon Dec 12, 2011 11:54 am
Antispam: No
Location: Australia
Contact:

Re: All levels combined into one mesh. W.I.P

Post by s13n1 »

I have a better looking one coming soon!
unigine_test01.png
unigine_test01.png (440.56 KiB) Viewed 14265 times
I'm having some difficulty setting up my level and i think it might have something to do with my editor not being set up correctly.
Otherwise its a restriction of the Evaluation Kit.

Whatever it is, its annoying and unfortunately the Unigine forums are a little quite right now.

Performance wise it has been pretty impressive. DX11 rendering and fps never drops below 55-65 fps. The scene above was 100+ fps,
but it will be interesting to see how much that changes when several thousand trees are added. I couldnt get my world occlusion working either,
which i think would gain me 5-10 fps in certain circumstances.

Im pretty impressed with this engine, it can produce some amazing environments and all at wonderful detail levels.
http://www.youtube.com/watch?v=-y4bJvFEtHI

It does have two issues though.
One is a limitation of detail textures per surface, which is limited to four and is not changeable for DX9 compatibility reasons.
The other is the cost. Its around $30,000 USD. Yeah. About that.

CryEngine2 is still leading the engine race, but i've got high hopes for Leadwerks3D when it arrives.
Dragonlord
Compsognathus
Compsognathus
Posts: 1070
Joined: Fri Jan 04, 2008 12:14 am
Location: Switzerland
Contact:

Re: All levels combined into one mesh. W.I.P

Post by Dragonlord »

Been there already with the interaction problems. One reason I implemented a sophisticated and flexible animation system in my engine to handle complex interaction with the world. I use though more defined usage patterns as this fits better my game. Otherwise though Trespasser style object handling would be possible but it would be a nuisance. I prefer having a clear interaction with the world than a 3-arm IK mess. That said my system is more complex than the Trespasser one as there you have only a very small set of rules (how to handle your arm) while I have to make animation rules for different object interactions. Using parametrized prototype cases though helps. So I implemented only generic interactions which are similar for different kinds of objects just with altered parameters. Something like this should be helpful for your case too. Just try to implement only some generic interactions and parametrize them. Keeps you sane especially if you don't have access to a sophisticated animation system. IK alone can be very tricky as Trespasser shows ;)
Image
Leader, Head Programmer: Epsylon | Drag[en]gine ( Wiki )
s13n1
-=TresCom Developer=-
-=TresCom Developer=-
Posts: 550
Joined: Mon Dec 12, 2011 11:54 am
Antispam: No
Location: Australia
Contact:

Re: All levels combined into one mesh. W.I.P

Post by s13n1 »

When using a simplified interaction system like that, you might end up with a stable solution, but you end up with very linear and unrealistic
looking interaction and are unable to realistically portray a sense of weight and mass.

Compare the interaction with weapons and objects in Trespasser to that of Crysis. Every time you pick up a weapon or object in Crysis,
the hand does the same animation every time and objects will 'pop' into the hand before being collected.

For large objects like boxes and barrels this doesn't really matter, because you cant see the hands anyway, and in real life if you were to wrap your
arms around a barrel and lift it (bear hug), you wouldn't see them, so its a good solution and one which i will use for boxes and barrels.
(Boxes and barrels being probably the two most stacked items in the game and will require the most precision)

With Trespasser, objects are welded to the hand, becoming a child object. This allows you to walk away from an object and drag it, which
manipulates the position of all parent bones to a certain point (shoulder).

Not far from the starting beach in Trespasser, there is a barrel with a metal h-beam resting on it. When you grab it, the weight of it restricts you
from lifting it, but you can drag it off the barrel, which also knocks the barrel over. When the beam falls, the weight of the beam pulls the hand and
all parent bones down until the weight threshold breaks the weld between the hand and the h-beam. Which cause the hand to drop it.

In Trespasser, the weld threshold for objects like weapons could have been increased so they weren't knocked from your hands so easily.
(But it think this has now become one of Trespasser's charms)

If bone tolerances are set up correctly, then there will be no issues with the arm rotating at excessive and unrealistic angles. This is something
Trespasser was sorely missing and is unusual. You start with the shoulder and define a realistic degree of movement, then the elbow and the wrist. If
an objects weight is too much and tries to rotate any bone past their limit, the weld tolerance will break and the object will be dropped.

Trespasser's system is very good, it just needs some tweaks and it will be rock solid. I can imagine IK was somewhat new for real-time game use and
the developers were probably implementing their own system and for the first time too.

Your system will work well with small light objects that can be lifted easily, but when you have an object like a tree branch or a long piece of heavy steel,
you really need the IK system to realistically portray weight.

When you look around or move your arm around in Trespasser, its the IK system that allows the wrist to be slightly delayed and portray weight and inertia.
Without bones, you can only delay the motion of the whole object, which would look pretty silly if you were swinging a heavy object about like a large hammer.

With your system, if you used your weapon to nudge open a door, the weapon would remain static and stiff in the hand. But with IK, the forces will manipulate
the weapon and hands position and make it look as if the weapon really is connecting with the door.

Both systems work, its just that one looks more realistic and is probably the single most important aspect of Trespassers control mechanics.
Without it, it would be just like any other game.
s13n1
-=TresCom Developer=-
-=TresCom Developer=-
Posts: 550
Joined: Mon Dec 12, 2011 11:54 am
Antispam: No
Location: Australia
Contact:

Re: All levels combined into one mesh. W.I.P

Post by s13n1 »

Progressing with Unigine.
north_valley_unigine.jpg
north_valley_unigine.jpg (198.08 KiB) Viewed 14246 times
Dense grass visible for 500 metres and covers the entire island, even the ocean floor. I haven't created a proper mask for the grass, only some simple terrain slope restrictions. The grass takes on the color of a user chosen diffuse map. In this case i just used a half resolution size version of the terrain texture, so the grass has varied colour. It moves nicely too, you can control the animation and make it as uniform or as random as you like. I set it to a somewhat uniform wave and it looks as though a large gust of wind is tearing through the valley. It looks awesome in motion.

I'm currently playing with some trees, getting them to look good then ill cover the island and see how it runs. I should be able to pull the grass back to about 3-400 metres, possibly less.

The engine allows for some really great control over LOD and the pop of new objects. You can set the cell size for new objects so new sections of grass can be loaded in on the fly in small or large clumps. This means when you enter new terrain, the grass will be generated in either a small wave, or in larger chunks. What you use really depends on visibility and player speed. It takes a while for the player to walk over a hill, and by the time they reach the top, the grass should have already been generated so big chunks can be okay. For the Plains though where there is very long draw distance, these large chunks will be visible on the horizon, particularly because the plains has minimal tree coverage.

The hardest part with working on a level that is so diverse in geometry, is setting up draw distances and detail so that it looks good in all situations.
Just because the dense jungle areas look good doesn't mean you can get away with a 1-200 metre draw distance for vegetation. As soon as you step out into the Plains, that draw distance is very noticeable. The best solution is to work with the largest areas and find a happy medium. There's a good chance the terrain occluder will help cull all vegetation that's not on screen anyway, so the performance hit in large areas wont be noticed in smaller areas with more hills.

I don't know if ill go much further with Unigine then some simple testing, but its nice to have a play and see what it can do.
The engine is very powerful and has some great features!
Post Reply