Release Serious Sam: The Second Encounter


I have been a bit farther with my Gigahertz and it was ok iirc.

Anyway @Magic Sam , if you want to play with the parameters (there are planty of them), here are a few gidelines:
edit appdata/serioussam2/Scripts/PersistentSymbols.ini that's where all parameters are store.

For the detail model:
alter thoses variables
Code:
mdl_iLODDisappear     = 1; // 0=never, 1=ignore bias, 2=with bias
I think 2 will be the more agressive.
then you have 2 variable to adjust LOD (LOD = Level Of Detail) for models:
Code:
mdl_fLODMul
mdl_fLODAdd
For high quality, Mul=1.0 and Add=0.0, and for Speed its Mul=1.2 and Add=1.0
So can try to be more agressive here and put even higher value.

For world geomitry, it seems
Code:
wld_iDetailRemovingBias
can do something.
It's 2.0 for high quality and 5.0 for speed. Maximum value is 9 (and minimum is -9), so can try to go higher.

I you find a good combinaison, I can also put it in the autodetect settings feature...

*EDIT*
this also this boolean
Code:
wld_bRenderDetailPolygons
But it's forced to true for multiplayer game, so not sure you can alter it (and if the effect is not too strong).
 
@ptitSeb : thanks for this very interesting piece of information !

I'm modifying that config file right now, and will give TSE another go tomorrow morning.

By the way, where did you find the min / max values for each variable ?

Cheers, Magic Sam
 
OK, I played TSE a little this morning, and these new values seem to improve the framerate.

It needs some more testing from my part though.

[doublepost=1461491345,1461481223][/doublepost]
*EDIT*
this also this boolean
Code:
wld_bRenderDetailPolygons
But it's forced to true for multiplayer game, so not sure you can alter it (and if the effect is not too strong).
This variable was not set on my side. Adding it to the configuration file and setting it to 0 (INDEX or FLOAT) makes the game glitch.

[doublepost=1461492744][/doublepost]
then you have 2 variable to adjust LOD (LOD = Level Of Detail) for models:
Code:
mdl_fLODMul
mdl_fLODAdd
For high quality, Mul=1.0 and Add=0.0, and for Speed its Mul=1.2 and Add=1.0
So can try to be more agressive here and put even higher value.
Do you know the min / max values for these two variables ?

[doublepost=1461498315][/doublepost]The level "City of the Gods" is very slow (~10 FPS) and leads to glitches. I also have a weird "clipping" issue: I can see the projectiles from my opponents, but not the opponents themselves (until I get very colse to them...). I guess my settings in the configuration file are wrong.

Cheers, Magic Sam
 
Hi all :)

@ptitSeb : mdl_iLODDisappear = 2 is the variable causing the "clipping" effect, e.g far away monsters are invisible. It makes the game run much faster, but I think we'd better leave the value to 1, for playability reasons.

You can see this "clipping" effect in the first demo.

I also set wld_iDetailRemovingBias to 9, and I couldn't notice any glitches, or performance improvements for that matter.

Cheers, Magic Sam
 
New build on the repo, with the same magic optimisation by @notaz.
Unfortunatly, TSE is more GPU intensive, and the optimisation are less spectacular. Still, some nice speedup can be seen anyway.

Build 04
-----------

  • NEON (and some non-NEON) optimisations from @notaz
  • compiled with gcc 6.1
 
Last edited:
Hi all :)

@ptitSeb : I think I have found a bug in the "Pit" level: there's some kind of room where the floor is "moving" (I lack a better word), and you just go straight through it, and die.

I'm attaching a saved game to this post.

Could you please have a look ?

Cheers, Magic Sam
 

Attachments

  • tse-the-pit.tar.gz
    279.6 KB · Views: 326
@Magic Sam : there is something wrong with that save, but I don't know what.
When I load the save, i'm not at the front of the door where the moving floor is. I'm a bit earlier in the level. When go to the door, I see a Sam waiting in front of that door?? Then when I enter and the floor start moving, I go straight through the floor and die.
I compiled current version of the engine on a x86 linux and tried the save.
Behavior is even weirder. I still start not at the save point, but also most of the geometry is higher then me, but the bonus that are in front of me (some small lives bonus) are at my level. When I straight, it seems I still going more down. Then I arrived at the door (at my level), with a gain the other idle Sam waiting. Going inside it's the same, I go through the floor when the floor start to move and I die.
Not sure how to continue digging on this one.
 
@ptitSeb : I'll try to send you another saved game ASAP, this one may be faulty.

It could also be a bug from upstream, did you check with Icculus ?

Cheers, Magic Sam
 
New build on the repo, in sync with The First Encounter release (so both release are build 06).
This build should be a little bit faster. Not sure if the issue with the moving floor is still there.

Build 06
-----------

  • Some more optim
  • Updated libs
  • Compiled with gcc 7.1
 
@ptitSeb : I don't know about the Windows build, and have no way to test it, I'm sorry :(

Do you think this bug could be Linux specific ?

Cheers, Magic Sam
 
@ptitSeb : I don't know about the Windows build, and have no way to test it, I'm sorry :(

Do you think this bug could be Linux specific ?

Cheers, Magic Sam
Well, I have never experience this when I played the game, a long time ago, on my Windows machine, before the open sourcing.
Here, it seems systematic and is clearly a show blocker, that's why I'm wondering...
 
@ptitSeb : what about this assertion failure as reported on github ?
Assertion failure at CheckTriangleAgainstEdges (/home/elia/Progetti/Serious-Engine/Sources/Engine/Brushes/BrushTriangularize.cpp:530), triggered 1 time:
'itbed->bed_pbvxVertex0 != tr_pbedBottom->bed_pbvxVertex0 ||itbed->bed_pbvxVertex1 != tr_pbedBottom->bed_pbvxVertex1'

Could it be the root cause ?

Cheers, Magic Sam
 
So, I have made a bit of digging with "The Pit" bug, using your savestate @Magic Sam .

On x86 Linux, I can reproduce the issue. You start not in front on the door of the room, and you see a Sam waiting in front of the door (same as the Pandora). One the floor start to tilt, you go through it and die.
I took upstream versio (not rcgordon one, the initial croteam one), and built on Windows with VS2015.
Same issue! same behavour, completly.

I then started up the Steam version (that is 1.07 I think, not 1.10).
Here, the savestate just work! You start in front of the Door, you can enter, you never go through the floor.

So it's a bug in upstream, with the OpenSource version.

@Magic Sam maybe you can open a bug in the croteam github, with your savestate (or you prefer I open it)?

Anyway, it will be super tricky to found the issue on this one :(
 
So, after hours of debugging (litteraly at least 10h), I have finally found the cause of the issue. I planted printf everywhere (on a Windows version, as compile time was the shortest there) to found that the issue was ... in the custom Sin/Cos version. So just replacing the complex custom version (probably a left over from a time where that Sin & Cos was calculated using some Table or something like that) by the standard version... Et voilà, "The Pit" level is fixed, and playable. I played it (on the Pandora) to the big arena with the big boss without any issues (it's not super fast in the "meca arena", but still playable).
Also, this fixes the lightning that was blinking sometime, and also fixes the "Serious Sam" title that was disapearing. I guess it's also fixed the rare case were you can get stuck int the ground on the first level with the camera behaving weirdly.
And the Fix (on my github, with a pullrequest to Icculus repo) works for x86 Linux and for Windows version :)

Build 07
-----------

  • Fixed physics issue with "The Pit" level (plus many other graphics issues)
 
Last edited:
Back
Top