Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Room over room (as done in later build games) usually does not require the sectors to overlap in this manner as it is a different thing (it is extension of how swimable water works, where the engine renders the other sector instead of floor/ceiling).

While Lunatic Fringe is pretty in-your-face example of impossible geometry in build, the duke3d maps contain many more cases of intersecting geometry. Obviously such things are impossible in Doom because there is no way to build BSP tree out of that and because doom only tracks X/Y coordinates of player(s)/monsters.



Sure you can do this in doom, or at least it can be done in modern source ports.

https://www.youtube.com/watch?v=Iq1-TZXz9xo (myhouse.wad)

There is nothing about the data structures ID choose to use in doom that prevent portal shenanigans. ID(John Carmack) just did not implement them.


Modern source ports are a totally different thing. If any, try to do what the former comment states with a Boom compatible engine as Crispy Doom or Chocolate Doom.


You're confusing things a bit here, Boom is already an enhanced port and it got the kind of line-to-line teleport that allows you to do this.

Crispy and Chocolate Doom are what the community calls "vanilla" Doom, with no enhancements at all.

That said, if you are willing to hex-edit the map data, you can have non-euclidean geometry in vanilla Doom: https://doomwiki.org/wiki/Linguortal


Crispy Doom will play most Boom compatible levels just fine. I tried it with some Megawads, and I had no issues, even with FreeDoom as the IWAD.

No, I'm not confused. To me, Boom it's pretty close to vanilla. Zdoom and the rest are pretty much another league, closer to Quake/HL than Doom.


No mention of the real Prey (2006) in a discussion of weird geometry in games?


I was truly amazed by this game! You don’t see anything like that elsewhere


The portals in prey were cool but, definitely the games Portal and Portal 2 are places you could see it elsewhere. Also in portal you can actually choose where the portals are, whereas Prey's portals were fixed in place


Is there no way of building a BSP out of it? I don't see why it has to be Euclidean to be partitioned, and loops are also possible (e.g. Deimos Lab). (The coordinates are definitely a blocker, so this question is academic.)


The “sectors” in the resulting level data have to be convex for the doom engine. The “asset pipeline” handles that by breaking up non-convex geometry into smaller convex sectors. So, there are no loops or holes in the actual level data, also from the cursory glance both of the large loops in Deimos Lab are actually not complete loops, but they have a place where the loop is broken. But that does not matter that much, as almost any level contains geometry that is either concave or has a hole (courtyard in E1M1, both large rooms in MAP01…)


The Doom design starts with X,Y,Z and then finds your BSP node. You can't warp to a different X,Y,Z without some type of warp portal which doesn't exist in Doom. Modern Doom forks have this feature and also have graphics portals so you can implement this (as MyHouse.pk3 does).


> only tracks X/Y coordinates of player(s)/monsters.

It does, otherwise Lost Souls and Cacodemons wouldn't able to fly.


I meant that as in contrast to build tracking the sector the thing is in. Due to that you can have two sectors that intersect not only in 2D, but even in 3D and the engine still does the right thing (ignoring the fact that the renderer gets slightly confused when there are overlapping sectors in the view)


Portals allow weird stuff (non linear geometry) in a BSP level. I thought Doom had petals.


The primary thing that BSP does is that it maps coordinates onto a BSP node/sector. Thus you cannot have overlapping geometry, as this mapping would not be unique. Quake has some idea of portals (I'm not sure about Doom), but it is used only as an additional layer of optimization, the engine is not fundamentally portal-based.


There is a very interesting Doom level named “myhouse.wad” that does a lot of clever things to seemingly allow room-over-room.


I don't think that mod works on a normal Doom engine.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: