Duke4.net Forums: True Room over Room - Duke4.net Forums

Jump to content

  • 16 Pages +
  • 1
  • 2
  • 3
  • Last »
  • You cannot start a new topic
  • You cannot reply to this topic

True Room over Room  "A truly 'über' feature for classic and Polymer"

User is offline   Helixhorned 

  • EDuke32 Developer

#1

[added 2012-03-27] TROR related keys @ EDuke32 wiki
[added 2012-04-14] True Room Over Room Mapping Guide @ EDuke32 wiki (primary editor: Micky C)
[update 2015-02-18] Fixed URLs.

First off, some screenies to get you into the mood:

Posted Image * Posted Image * Posted Image

As you can see, multiple sectors can be stacked on top of each other. Because they're at their actual position, 'true' RoR. Before I dive into the tutorial, a quick historical note. The system was originally devised for Polymer because of its ability to render 'any' geometry. But it turned out that making it work for classic is very much possible using multiple passes (I plan to write up a more technical post some time). You might be wondering why there are no Polymer shots. That is because Plagman hasn't gotten around writing the necessary extensions to the renderer yet. I decided to release it now so people can start working on the maps and be done when P'mer support comes around.

Alright, let's start with a simple example. Suppose you want to have a manhole leading to a sewer, the kind for which you'd normally use teleporter SEs.

Posted Image * Posted Image

Highlight the inner sector and press Ctrl-E (for 'extend'). You'll be prompted for whether the adjoining sector should be constructed above (a) or below (z). [note: you don't have to do this in side-view mode, it's for illustration purposes only].

Posted Image

Here's how things look like after the extension.

Posted Image

And in 3D mode:

Posted Image

The fake RoR texture is toggled with 'I, giving us the manhole in its full height:

Posted Image

At this point, the top and bottom manhole sectors will be linked together so that e.g. changing the z position of the floor of the upper one will automatically set the ceiling of the lower one. Dragging points works just as expected.

So far, so good. Now the graying-out feature has to be put to good use. There are two ways to use it in the context of TROR. Either enter side-view mode, and change your z position with MMB. Any extended sector whose [ceiling, floor] bounds fall outside the z position is made inactive for editing. Alternatively, you can toggle levels with PGUP/PGDN, but that can be a little unpredictable.

Switch to the lowest level and add a neighbor to the sector just constructed.

Posted Image * http://lunatic.eduke...or/capt0009.png

[aww, image limit exceeded :/]

Easy, huh? Well, that's just the beginning. Surely you'd want to decorate the street a little.

http://lunatic.eduke...or/capt0012.png

That translucency is toggled with 'T'. Ceilings and floors now also have blocking and hitscan bits. To make submergible water, teleporter SEs have to be used here, and the floor and ceiling (above and underwater, respectively) have to be blocking.

Now you might decide that one of the houses needs a roof, but constructing one above the windows would normally be impossible. No more! Change to 2D mode, highlight all sectors having the parallaxed ceiling, and extend them above.

http://lunatic.eduke...or/capt0014.png * http://lunatic.eduke...or/capt0015.png

Take note of the message: "Extended ceilings of highlighted sectors, creating bunch 2". What this means is that now, all ceilings of the just highlighted sectors have been given a single upper neighbor sector and that the ceilings of the former together with the floor of the latter have been given the bunchnum 2 (i.e., the third bunch in the map).
This 'N:1' rule has a couple of desirable consequences. Since the only wall-points that need to be aligned to the lower sector are those at the outline, you'll be able to edit the inner portions of the sectors freely and independently of the other. In fact, drawing a loop in any extended sector will automatically insert another one of reverse orientation, making a new inner sector out of it. Put more generally, a bunch is a collection of ceilings and floors covering the same connected planar area (respectively), where the number of each can be >=1 (I call this the 'N:M' property).

Back to our example map:

http://lunatic.eduke...or/capt0016.png
(the alleyway after extension)

http://lunatic.eduke...or/capt0020.png
(and after attaching a new sector to the upper level)

http://lunatic.eduke...or/capt0019.png
(invaders! note that while the UFO's and fire truck's walls intersect when looked from above, they don't need intersecting points, since they're in completely different sectors.)

For our original goal of having a roof above the windows, all we need to do is to change our z position to the uppermost level, and draw a new next sector adjacent to the facade. The results look like this:

http://lunatic.eduke...or/capt0021.png * http://lunatic.eduke...or/capt0023.png

One thing to watch out is to press space on every point on the facade -- remember that it is an outer, "constrained" wall to bunch 2! Another pitfall is considering the two rooms and the roof sectors as ROR'ed -- they're merely plain old sectors stacked above in sector over sector fashion, and therefore won't be grayed out due to TROR (but they will if you set the editorzrange manually with Ctrl-R).

Thus ends this tutorial. I hope you had as much fun reading it as I making the system. Now goeth forth and maketh some awesome-looking maps :).

P.S. Random trivia for which I was too lazy to write down prose
  • extended sectors can be sloped, but the bunch has to be 1:1 in that case
  • some more advanced editor functions aren't yet very well integrated with TROR. I tried to make editor robust against breaking the map, but wouldn't trust it entirely. So, as always, don't forget to make backups.
  • Maps containing one or more TROR bunches are saved in a new map format (v9) since some fields had to be taken over: xrepeat is unavailable on TROR'ed floors and ceilings, and on walls it's lotag if the ceiling, and extra if the floor of the wall's sector is extended. When in-game, these get transferred to internal arrays though.
  • the system is supposed to be used for 'large-scale' RoR, as a rule of thumb each affected sector should be at least a Duke high [that's too strict though].
  • a couple of engine functions don't know about TROR yet, most notably clipmove and cansee.
  • A useful helper in Mapster32 is Ctrl-ENTER on a TROR'ed ceiling or floor, pasting 'visual' fields to all ceilings or floors of the bunch of the aimed-at one.
  • A (badly formatted) pdf version of this tutorial is here

30

User is offline   The Commander 

  • I used to be a Brown Fuzzy Fruit, but I've changed bro...

#2

wow?
1

User is offline   Tea Monster 

  • Polymancer

#3

Oh

Wow
1

User is offline   Gambini 

#4

OMFG! Does this work in software mode right? If so, expect a map from this poster featuring all kinds of roofwork and other neat construction in about five years (the three that takes to me to make a map plus two to learn to use your new trick).

You´re the man!
1

User is offline   Master Fibbles 

  • I have the power!

#5

I couldn't find an image to express my thoughts.
0

User is offline   TerminX 

  • el fundador

  #6

Helixhorned is my hero.

Btw, is there any way to make this work in Polymost, perhaps by the same multi-pass methods you're using for classic?
1

User is offline   Stabs 

#7

greatest day ever in duke3d mapping history ever

let it be known that the 15/5 will forever be known as Helixhorned day
1

User is offline   Gambini 

#8

View PostDanM, on 15 May 2011 - 03:54 PM, said:

greatest day ever in duke3d mapping history ever

let it be known that the 15/5 will forever be known as Helixhorned day


I foresee Gearbox releasing the DNF demo today and their forums completely desolated because everybody is busy with the new ROR :)
0

User is offline   The Commander 

  • I used to be a Brown Fuzzy Fruit, but I've changed bro...

#9

Is the RPG projectile exploding on the water surface a eduke bug or something that can't be avoided using this method?
0

User is offline   Stabs 

#10

View PostGambini, on 15 May 2011 - 03:57 PM, said:

I foresee Gearbox releasing the DNF demo today and their forums completely desolated because everybody is busy with the new ROR :)


Yeh its just that BIG, my world = upside down

And craig doesn't need to drive himself mad anymore, and can focus on even more cool shit
0

User is offline   Master Fibbles 

  • I have the power!

#11

I played the demo map and I see masked ceilings. I can jet pack up through the whole thing but there is no translucence in Polymer with or without HRP. But it looks awesome in Classic Software mode.
0

User is offline   Danukem 

  • Duke Plus Developer

#12

View PostMr.Flibble, on 15 May 2011 - 04:12 PM, said:

I played the demo map and I see masked ceilings. I can jet pack up through the whole thing but there is no translucence in Polymer with or without HRP. But it looks awesome in Classic Software mode.


He said in the first post that it doesn't work in Polymer yet.
2

User is offline   Plagman 

  • Former VP of Media Operations

#13

Big thanks to you for implementing editor support for this. Very frustrating to see people trying to use SE-based approaches or showview to hack around what should have been a perfectly sensible extension to the engine in the first place. It's been two years since I told you my plans about native RoR, and I'm very glad you dealt with all the hard bits since I really, really didn't feel like having anything to do with the editor! BTW, I did see your email and tried to convince myself that I would add support yesterday but of course that never happens. I'll try to get to it ASAP, since Polymer is really the missing link here. Thanks again!
0

User is offline   Master Fibbles 

  • I have the power!

#14

View PostDeeperThought, on 15 May 2011 - 04:23 PM, said:

He said in the first post that it doesn't work in Polymer yet.

Missed that part. It was just exciting to see true room over room.
0

User is offline   Loke 

#15

Really, really cool. Will probably take some time for me to get used to but damn, I'd really like to make good use of this now.
0

User is offline   Mike Norvak 

  • Music Producer

#16

Thank you so much!!!!!!!

I love you!!!!!!!!!!!! lol
0

User is offline   Jimmy 

  • Let's go Brandon!

#17

This is one of the greatest things I've read all week. Thanks to Helix and everyone else who helped him make this happen. THIS steps EDuke32 up to a whole new level, and I know that the true vision for my mod, for example, is now so much easier achieved. Thanks again, this is amazing.
0

User is offline   Stabs 

#18

wow this is so easy to use, is there any limit to the amount of stacks you can have iam upto 6 now

it also reminds me of how i use to experiment with RoR in polymer, i would make a room identical to another change the heights, and lay the upper layer on the lower layer, and used parralax and a non texture on the opening and it would sort of work but nothing like this, that ctrl+e command does all that automatically and very smart about it too also if you saved it on reload the lines would get all tangled too.
0

User is offline   Hank 

#19

@ Helixhorned :) :D :D

View PostPlagman, on 15 May 2011 - 04:33 PM, said:

I'll try to get to it ASAP, since Polymer is really the missing link here.

I quote from Star Wars, Master Yoda : "Try not, do" or something like that. I know ... but I'm an official Smart-ass :(

This post has been edited by Hank: 15 May 2011 - 05:48 PM

0

User is offline   E.C.S 

#20

I have no words to describe how amazed I'm now :)
0

User is offline   CruX 

#21

...and so scraps the map I've been working on. Still though, this has to be the best news I've heard all week! Can't wait to start playing around with it.
0

User is offline   Micky C 

  • Honored Donor

#22

Omg omg omg omg OMFG! This is the last real barrier between eduke32 and modern engines. Maps can be so much more flexible now. I was considering leaving eduke32 mapping once the level editor for DNF comes out, but now I think I might  stick around. I'm probably going to toy around with a map containing a large skyscraper, and from the ground level you'll be able to see all the polymer lights from the windows and it could be really cool.

This post has been edited by Micky C: 15 May 2011 - 07:46 PM

0

User is offline   Hendricks266 

  • Weaponized Autism

  #23

Posted Image
Posted Image

View PostHank, on 15 May 2011 - 05:43 PM, said:

I quote from Star Wars, Master Yoda : "Try not, do" or something like that. I know ... but I'm an official Smart-ass :)

Do or do not; there is no try.
2

User is offline   blizzart 

#24

This is soo awesome. I haven´t tried it, yet, but I´ll check it out today. It looks soo easy to use. Hopefully there will be Polymer-support soon.

Thanks, helixhorned!
0

User is online   NY00123 

#25

While I haven't really mapped things much for now... These are great news!
It's true that beforehand, I knew it could be nice to have ROR support. I did play a little with the ROR thing long ago using the obscure cDuke3D source port, as well as EDuke32 in the 'manual' way (using Mapster32 in a way that doesn't much differ from the cDuke3D days IIRC).

Just a little warning for the ones who want to add ROR... Transparency doesn't seem to work with sloped ROR floors/ceilings; Even for "sloped" ones with a slope value of 0!
This is probably a limitation of the software renderer. In case of a slope value of 0, just set it to non-sloped (using the '/' key) and it should be fine.

For the ones interested, lets hope it'll work with Polymer! Or at least, hope so in order to overcome a few limitations with the software renderer (related to sloped floors/ceilings in some ways).
0

User is offline   Micky C 

  • Honored Donor

#26

Hold on I just read that the TROR maps are using a new map format (v9), does this mean we can expect so see all sorts of new features that break the old map limits in the future? Like larger sector/wall/sprite counts or sprites and textures that can be sloped?
0

User is offline   Muelsa 

  • Bad Mother Fucker

#27

:D :( :)
0

User is offline   Fox 

  • Fraka kaka kaka kaka-kow!

#28

I am impressed on how stable this is, considering how untrustable Build engine can be
0

#29

That's so cool Helixhorned, looks pretty much like my experimental WoW/CPC system, but a lot easier to implement and the clipping is correct. No doubt that mappers will make free use of it. Thumbs up for this. :) I have some remarks on the technical part. I see that you've reserved sector's xpanning properties to remember bunch number it belongs to, what isn't good for masked sectors (they can be panned only y-wise). There's an unused "filler" parameter which you might want to use as well (it is shared between the floor and ceiling though). Also TROR has some problems with viewing through sloped surfaces (you've already placed a "bug" label where it appears in the sample map).

Well, let's document those new sector cstat flags... If I understand correctly, they're dedicated for:
  • 512 Block movement when used as a portal
  • 1024 ROR portal flag (xrepeat is the bunch number)
  • 2048 Block hitscan when used as a portal


So the feature as a whole is very promising; still I'll have to use showview to render individual passes in my mod, but having the ability to control rendering passes via CON scripts would be great.
0

User is offline   zykov eddy 

#30

Great tutorial. Gonna use some ROR for my TC
0

Share this topic:


  • 16 Pages +
  • 1
  • 2
  • 3
  • Last »
  • 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