Duke4.net Forums: Shadow Warrior Advanced Room Over Room Guide - Duke4.net Forums

Jump to content

Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

Shadow Warrior Advanced Room Over Room Guide  "AROR"

User is offline   MetHy 

#1

Here is a small tutorial on Shadow Warrior's "Advanced Room Over Room".

It contains a map file with example rooms and a text file with explanations.

Download: https://dukeworld.co...csfaqs/AROR.zip

"Advanced" ROR is the official wording used in the official documentation.
While "basic" ROR is rather well documented and you can find several guides about it, AROR has remained largely under-documented and under-used to this day so I thought I'd try to fill in a little gap, after spending quite a bit time figuring this stuff out.

I tried to write the explanations so that they may be understandable for everyone (tons of words and then some more words!) but hopefully even the "basic" ROR and how it works will be more evident too.

I'll spare you a copy-paste of the txt file as it's admittedly a bit too long so you'll have to download it, but here are a couple of screenshots:

Attached File  swcp0279.png (479.74K)
Number of downloads: 33

Attached File  swcp0280.png (346.52K)
Number of downloads: 29

Thanks to Oasiz for the help figuring some things out.
Thanks to Nuke.YKT for his past help on DN3D v1.5 ROR

Enjoy!
13

User is offline   Phredreeke 

#2

Does this make SW's ROR implementation more sophisticated than the other vintage Build games?
0

User is offline   Ninjakitty 

#3

iirc documentation for ROR mentioned a setup for ROR where you could walk through both top and bottom sectors however you want and you can see the ceiling and floor of both.
However that setup does not work. It pointed to the airport map as an example but it doesn't work there either, you can't see floors/ceilings.

Is this kind of ROR actually implemented in the game in any way?
0

User is offline   MetHy 

#4

Quote

Does this make SW's ROR implementation more sophisticated than the other vintage Build games?


I haven't looked at Blood's ROR enough to know it well. One thing for sure is that it seems a lot easier to setup for the mapper as there doesn't seem to be any need for effect sprites telling the portal what to render and when.
My first guess would be that as a consequence it doesn't allow for any "raised sectors", but that's just a wild guess, and if you look at the ROR in E1M1 and E1M6 you'll see "raised sectors".
Perhaps, everything you can do manually in SW, Blood does automatically, which could have pros&cons?

The ROR from DND3D v1.5, SE40 to SE45, is actually very similar to SW. It has some minor differences, for instance instead of turning on/off VIEW_LEVEL_X sprites so that your "raised sectors" get flattened or not, you use a different SE, one that would flatten Z, one that wouldn't, which is exactly the same thing.
So, granted that the system allows for 2 render passes going at once (I haven't tried but my guess is that it would, I'll tell you in the next paragraph), it can do the exact same things.
Of course, this ROR was unfinished so it's inferior because it doesn't have a proper floor mirror portal. Instead you have to hack one yourself and it can't have all the properties of a proper portal: the transport of gameplay elements is non existant, you can use SE7 "Teleport" to mimick some of that, but that doesn't cover everything: hitscan still doesn't "pass through" and enemies won't react to the player through the portal.
The only reason you'd use v1.5 ROR and not TROR would be if you wanted to make a map that's "v1.5 compatible", but it wouldn't be v1.3D compatible or even v1.4 compatible which is a weird thought.

The ROR from Redneck Rampage :Rides Again seems to be based on DN3D v1.5 except this time you have a proper portal which transports even hitscan. Enemies probably still don't react to the player through the portal as it's never used that way during the game.
You use SE150 to SE155 (corresponding to SE40 to SE45 from Duke), and I've found at least once instance in RR:RA where they used two render passes for a single ROR setup, meaning that this is indeed possible with this system as well (and by reference, should be possible in Duke).
Thus pretty much anything you can do in SW should be possible in RR:RA, minus enemy interaction I'm not sure about.

The ROR system from the first Redneck Rampage is however a completely different system. It's built with two "worlds": the "collision world", where all the gameplay takes place, this takes care of both "floors" and the collision for every impossible geometry is handled with sprites. Then you have the "render" world, which is built in an area of the map the player has no access to. You build your two floors in 2 seperate areas, then, you use SEs to tell what to render and where in game, and thus in game player/enemies walk through the collision world while the player sees the "render world" at the same time.
The cons: you're limited to sprites and what they can do, it's not that bad in the sense that you can even render sector slopes by using sprites set up like "steps" in the collision world; but sprites are sprites, for instance I have seen enemies fall through the floor due to that.
The pros: proper gameplay support with enemies and whatnot. As far as everything is concerned, there is only one area anyway, not two. You can also use this sytem to build impossible geometry that isn't "two rooms on top of each other" per se.

Some screenshots for this from the OG RR:
"Collision world":
Posted Image

"Render world" bottom floor:
Posted Image

"Render world" top floor:
Posted Image

Otherwise impossible geometry that isn't two floors per se (editor collision world picture):
Posted Image


Please also note that anything you can do in RR, you can do in RR:RA, meaning that in RA you can use both systems, even if the stock maps didn't.

So, which system is more sosphisticated? Well, Blood, RR and SW are definitely all great if only because they have full gameplay support. RR's could be considered less sophisticated because it's "more fake" than the others, but it also allows for things the others don't allow.
I don't know Blood's well enough, but each system probably has its sets of pros & cons.

This post has been edited by MetHy: 14 October 2020 - 11:41 PM

1

User is offline   MetHy 

#5

View PostNinjakitty, on 14 October 2020 - 11:01 PM, said:

iirc documentation for ROR mentioned a setup for ROR where you could walk through both top and bottom sectors however you want and you can see the ceiling and floor of both.
However that setup does not work. It pointed to the airport map as an example but it doesn't work there either, you can't see floors/ceilings.

Is this kind of ROR actually implemented in the game in any way?



There is some limit to what you can do, see the "What is Advanced Room Over Room ?" section in AROR.txt

As for Weider's airplane, it should be possible to turn it into "AROR type 1" but ONLY if you simplify the wings so that you can treat them as "walls directly surrounding the portal", on both sides; and simplify the body of the plane as well. Quick modification I did but it's not complete, the body work isn't done so you'd see part of it disappear when standing on/under the wings:

Posted Image

Posted Image

The body of the plane looks bigger than it should and again needs to be simplified for this to work, this is just a quick test. There are some glitches in my test as well but nothing that shouldn't be fixable.

Notice how the slopes above the reactors "disappear" when viewed from below. These slopes would need to go as well.

Posted Image

Posted Image

In other words you'd have to simplify it a LOT for it to work.

Edit: However, it just hit me that the doc you read about ROR in the airplane map is probably talking about the hold with the luggage, crates and rabbits. That hold is your "basic" ROR with a single render pass however, it's just extremely well done as far as "basic" ROR go.
It's a great example of what can be achieved even without AROR, but it's not a good example to figure ROR out considering the whole thing is buried behind another SOS layer in 2D mode.

This post has been edited by MetHy: 15 October 2020 - 02:54 AM

3

User is offline   Ninjakitty 

#6

View PostMetHy, on 15 October 2020 - 01:50 AM, said:

There is some limit to what you can do, see the "What is Advanced Room Over Room ?" section in AROR.txt

As for Weider's airplane,

I actually meant this place in the map called $AIRPORT.MAP: Posted Image

Though that ROR plane looks really nice :D
1

User is offline   MetHy 

#7

My bad, I read airport as airplane indeed.

airplane $airport does have instances where you can see ceilings of the lower floor while standing in the upper area and, and floors that you can see from the lower area, although it's not very obvious:

Posted Image

Posted Image

When you say that it doesn't work, you're probably referring to this floor that disappears as soon as you jump down the sloped portal ?

Posted Image

This can be fixed as well:

Posted Image

However, the moment you fix this floor, the last ceiling I circled will "disappear" from viewed from the upper floor. This is because the upper area floor requires what I refer to as "AROR type 1", and the lower area ceiling requires a "type 2".
As of this moment I do not know if it's possible to mix both types within a single setup. In theory, if you stick to one type needed per floor and respect the other limits I don't see why it wouldn't be possible, but if it was that simple why hasn't Keith Schuler done it? So,I'm not sure I'm wrapping my head around it correctly in this early morning.
Besides, in this particular case you could "fix" the disappearing floor very easily by covering it with sprites; I know that's cheating but done correctly nobody would be the wiser so i'm not sure it's worth the effort and the framerate cost.


View PostMetHy, on 14 October 2020 - 11:36 PM, said:

So, which system is more sosphisticated? Well, Blood, RR and SW are definitely all great if only because they have full gameplay support. RR's could be considered less sophisticated because it's "more fake" than the others, but it also allows for things the others don't allow.
I don't know Blood's well enough, but each system probably has its sets of pros & cons.


Small corrections but Blood's ROR doesn't have "full gameplay support" considering enemies do not fully react to the player through the portal (they can be shot yes, but they won't "see" the player and react accordingly).
So as far as gameplay is concerned, I would say SW and RR are the bests, but RR "cheats" to achieve that since as far as the enemies are concerned there is only one area and not two.

I also updated the guide txt file and the map to fix some textures that didn't have the proper alignement: indeed I realized that there is an exception to the texture orientation rule, when you use "type 2" textures need to have the opposite orientation, which makes sense because the sectors don't get flatenned.
I also added a paragraph talking about the AROR in Twin Dragon "Prison Camp" level, which is the only map I know of which isn't an OG map and which uses a "type 2" .

This post has been edited by MetHy: 15 October 2020 - 11:18 PM

1

User is offline   MetHy 

#8

I have made some new discoveries:

If you have raised sectors only on one side of the portal, and I mean "north/south/west/east" kinda side not "upper/lower area", it is actually extremely simple to bypass the pre-established rules and you can very easily have raised sectors that you can see from beyond the portal sector itself, while being able to walk below them (and above obviously) in the same setup; thus bypassing any ROR limit the original game devs set for themselves. All you need to do is split your sectors and have the correct turned on/off VIEW_LEVELX in the correct sectors.

I have no idea why they'd mention those limits that don't really exist; maybe they went by the principle that people would want raised sectors on all sides or that they wouldn't split sectors ?
Or maybe the devs didn't even realize all they could achieve considering what is said in the official doc and what is done in game. It did take me a while to figure this out after thinking about the entire process step by step.

However... what if you do want raised sectors on all sides, this technique wouldn't work, right? Let's say you're using your 2nd render pass to disable the raised sectors on the North side when you're walking underneath them; but you also have raised sectors on the South side, if they're using that same 2nd render pass these would also disappear even though the player should be able to see them....

So, use a third render pass for those South sectors. It totally works. By that I mean, use render pass 2 for the north sectors, and render pass 3 for the south ones.
However, I ran into some visual glitches for the neighbour sectors of those 3rd render pass sectors; despite everything being set correctly and mirroring the other side, despite trying every possible setting with the 3 passes for the sake of it, those neighbour sectors would always glitch out and show walls from the other floor overlapping. I have no idea why that happened, I think the whole system gets confused?
If that happens, use a fourth render pass that you use for those glitchy sectors and those sectors alone, so they don't get mixed up with the rest. It still totally works.

Some screenshots under DOS:
Upper floor:
Posted Image

Lower floor, when walking below the "grey" sector, it gets flattened but not the red one, and vice versa, because they don't use the same pass:
Posted Image

Posted Image

Editor screenshot, notice the 2 side sectors around the grey sector, those were the glitchy ones I had to use the 4th pass for:
Posted Image


The more passes, the worst the framerate is likely to be under DOS, but I tested my setup under DOSbox and it seemed fine but everything is shitty in DOSBox so it's hard to tell; although the good news is between Redux and VOIDSW we don't really need to care about that anymore. Still my advice as usual is try to use as few passes and VIEW_LEVELX as you can get away with. This bieng said, if 3 and 4 passes work, I don't see any reason why you couldn't have as many as you want to have raised sectors on all sides while still being to walk underneath them all AND while being able to see them from beyond the portal sector.

So, I'll probably have update the guide at some point.

This post has been edited by MetHy: 17 October 2020 - 01:40 AM

0

User is offline   Phredreeke 

#9

View PostMetHy, on 17 October 2020 - 01:36 AM, said:

The more passes, the worst the framerate is likely to be under DOS, but I tested my setup under DOSbox and it seemed fine but everything is shitty in DOSBox so it's hard to tell; although the good news is between Redux and VOIDSW we don't really need to care about that anymore.


I assume you mean WangGDX and VoidSW :P
0

User is offline   MetHy 

#10

Now that I'm a little familiar with Blood I had a quick look at its ROR.

The great thing about it is how user friendly it is, all you have to do is set the portal and the teleporting FX sprites and that's it, everything else is automated. It's definitely the eaiest ROR of all to set up, but as a result, it's also more limited: while it does allow to display raised sectors in the upper floor when viewed from the lower floor (and vice versa, displaying lowered sectors on the lower floor viewed from the upper floor), you can not step in the relative coordinates of those raised/lowered sectors on the other floor and see the portal at the same time.
One thing worth noting is that this ease of use also seems to include making ROR "holes" made of several sectors, something which is absolute hell to achieve in SW.

In short, for "basic" ROR it is easier to setup than SW's system, but it can not achieve any of the advanced ROR that SW can (and presumably, which Duke's SE40 and RR's ROR also can), since the mapper has no control over ceiling/floor flatenning.

Also, in Shadow Warrior the teleportation of gameplay elements is handled by code directly relative to the portal itself; but in Blood you have to use the same effect sprite as you'd use for underwater/overwater teleportation.
The result is that, if done right, SW's system can lead to seemless teleportation of everything, while in the case of Blood it seems that you'll always feel a slight Z-axis jump at the moment of teleportation no matter how well set up it is (although nBlood seems to mitigate that factor).
Also as everyone knows, enemies do not react to the player through the portal in Blood.

If I had to rate the different ROR's, based on what I've seen, I'd make the following categories:

Ease of use: Blood > SW > RR and Duke's SE40
Allowed architecture: SW > RR and Duke's SE40 > Blood
Teleportation of gameplay elements and overall gameplay support: SW > Blood > RR > Duke's SE40

For this last category I'm seperating RR and SE40 despite both being based on the same effect, because RR improved (or finished) support for teleporting hitscan but also projectiles properly.

Obviously TROR beats everyone in terms of "ease of use" and "allowed architecture"; as for "gameplay support" it's been a long time so I don't remember if Duke enemies react through TROR, but I do know that if you make your own new enemies, you will have to specifically code TROR support for them as well.
One thing ROR has over TROR however is that technically speaking the other floor doesn't always need to overlap to work, which can have its uses.
1

User is offline   Phredreeke 

#11

This page claims Powerslave and the Capstone games have ROR. Is that the case or just misinformation? http://dukertcm.com/...se/build-games/
0

User is offline   MetHy 

#12

They have Sector over Sector like every Build game do, but not "ROR" in the sense that you can see two overlapping floors at once.

Powerslave has a sector teleport FX which teleports the player seemlessly between two overlapping sectors though.
0

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic


All copyrights and trademarks not owned by Voidpoint, LLC are the sole property of their respective owners. Play Ion Fury! ;) © Voidpoint, LLC

Enter your sign in name and password


Sign in options