On 18 August 2012 17:05, Andrei B?rsan <[email protected]> wrote:

> > On 18.08.2012 18:59, Mat Sutcliffe wrote:
> > > So it is possible to connect a portal to a position where there is no
> > > corresponding portal, to create a "one-way" portal, or to have a
> > > corresponding portal point somewhere else entirely, for all sorts of
> > > confusing game mechanics. :)
> >
> > Hehe, reminds me of the portals in Quake III, actually!
> > It would really be nice to see in CS.
> >

> Also in Quake 1. The intro level where you chose the difficulty by jumping
> through either the easy, medium or hard portal (there was a secret
> nightmare portal too IIRC). They all led to the same place, but each one
> set the difficulty variable to a different value. Pretty neat. 


I think portals need their own GSoC participant tbh. Currently there are all 
kinds of issues with them, and they also need a few additional features.

The issues that I currently recall (and of which some are already on the bug 
tracker) are:

1. Z-Fighting issue with underlying (wall-) texture - Would be best if that can 
be handled more smoothly than just moving the portal out a bit. The "moving out 
fix" does not fix it for all situations because the depth buffer has a too 
small resolution (From what I understand, many AAA games have a 128 bit 
z-buffer or other techniques to avoid z-fighting by improving z-buffer 
resolution).

2. Clipping issue when getting too close - It is exactly what it says: When you 
get too close, the portal plane is clipped away and you see the wall or w/e 
other object is behind it. Apparently only some have this.

3. For some reason, no one could give me a 100% working formula for warping 
from one world transform to another (for example for same-sector portals, like 
those in Quake). I tried a lot of things, but none worked 100% correctly. I 
know that it has been done before, but I don't know what magic was involved in 
making it work. One of the issues that I encountered was that the portal warp 
visually moved - When I looked at it from some angle, it looked correct, when I 
looked at it from further away, I suddenly saw the wall right behind the 
portal. So the world-position of the warp somehow seemed to move from "inside 
the portal" to "behind the portal". That happened in a large empty box-kind of 
level (side-length of about 50 units).

3b. Warping should ideally be done in world coordinates, so they also keep 
working when portals are moved etc. I did not try the STATIC flag - That might 
fix it. Funnily the portal raytrace method always seems to assume warps to be 
in the world reference frame, whereas rendering does not.

4. The engine's CreatePortal method creates a portal mesh, and it has an 
optional position, even though the mesh already has a movable with a transform. 
Either it should require a transform, or nothing at all?


5. The portal core seems to determine the portal's normal, solely from it's 
polygon, and disregards the mesh's rotation.

6. Portal mesh normals are reversed. The normal of the polygon is pointing in 
the same direction as the camera. If they are opposite (i.e. if we look at the 
frontface of the mesh), the mesh is (frontface-)culled. (This might be 
customizable, a bug or a feature :)

7. There is some crash bug that occasionally happens somewhere deep in the 
SetupHeavyPortal method - At least in levels that render 2 portals that warp 
toward each other within the same sector.


In order to have portals do stuff upon traversal (like setting the difficulty 
settings, as mentioned above), a new feature needs to be added: A portal 
traversal event. In fact, physics also needs that to make sure that purely 
vertical actors are re-aligned with the up-axis after traversing, which is why 
that kind of event will be added to the physics2 plugin anyway (it would not 
make sense to have that sort of game logic in the rendering API of portals 
anyway).

Portals need an indicator as to whether they may be traversed at all. I can 
imagine that portals can also be used for screens that show live camera feed 
from some other part of the game (like you see it a lot in Deus Ex and many 
other games). Obviously, the physics engine needs to know that it should not 
port objects that come sufficiently close to the ingame screen that is 
represented by that portal.
------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
Crystal-main mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/crystal-main
Unsubscribe: 
mailto:[email protected]?subject=unsubscribe

Reply via email to