TimeOfDeath Posted February 1, 2012 For boom format maps, can you have a sector effect where your health will never go below 1%? Rocket jumping maps do this in hexen format with sector effect 4171, etc, but is it possible in boom (without the level exiting when you're under 10%)? Where's EQ at. 0 Quote Share this post Link to post
tempun Posted February 1, 2012 TimeOfDeath said:For boom format maps, can you have a sector effect where your health will never go below 1%? Rocket jumping maps do this in hexen format with sector effect 4171, etc, but is it possible in boom (without the level exiting when you're under 10%)? Sort of (sensitive to compatibility settings). http://www.mediafire.com/?dct516nd9dvea08 The basic idea is to suspend the player above a type 11 sector with self-referencing linedefs. Should work even in vanilla. 0 Quote Share this post Link to post
Phml Posted February 1, 2012 This happens as a bug in Sunder map14. :P 0 Quote Share this post Link to post
printz Posted February 1, 2012 tempun said:The basic idea is to suspend the player above a type 11 sector with self-referencing linedefs. Should work even in vanilla. What?? You mean a "buddha" cheat area, right in vanilla Doom? That should open on lots of possibilities [I haven't checked the linked file]. 1 Quote Share this post Link to post
tempun Posted February 1, 2012 Phml said:This happens as a bug in Sunder map14. :P That's where I learned it from (j4rio's demo). And in one more Sunder map, AFAIK. 0 Quote Share this post Link to post
TimeOfDeath Posted February 1, 2012 Awesome, thanks tempun (also Phml and Gazebo). And that method of using linedefs to reference a dummy sector is cool! 0 Quote Share this post Link to post
TimeOfDeath Posted February 2, 2012 Here's a test: godtest.wad (-complevel 9) I can't get it to work reliably. Sometimes the cyber kills me (does it matter where I stand?), but I never die in tempun's wad. Is there no way to do this in boom with just a weird sector effect number? EarthQuake said the hexen format sector effect 4171 (and something else) is a mash-up of sector properties or something. 0 Quote Share this post Link to post
fiend-o-hell Posted February 2, 2012 Hey I didn't know about this. Now I know something new! Does it only work with rockets or is damage dealt from any weapon? 0 Quote Share this post Link to post
TimeOfDeath Posted February 2, 2012 Is it possible to convert the hexen format sector effect 4171 or 2123 into boom? The hexen sector effect is type=damage end level, damage=none, and one of the two last properties are enabled (I forget what they're called). Is it possible to use sector type 11 along with the generalized sector types in boom? I looked at boomref.txt but there's no mention of the 'damage end level' type in the 'generalized sector types' section. Tempun's wad works perfectly for me, but I can't recreate it to work 100% reliably (and I can't get it to work at all in the map I'm working on). 0 Quote Share this post Link to post
tempun Posted February 2, 2012 TimeOfDeath said:Is it possible to convert the hexen format sector effect 4171 or 2123 into boom? The hexen sector effect is type=damage end level, damage=none, and one of the two last properties are enabled (I forget what they're called). Is it possible to use sector type 11 along with the generalized sector types in boom?Don't think you can do any of this.TimeOfDeath said:I looked at boomref.txt but there's no mention of the 'damage end level' type in the 'generalized sector types' section. Tempun's wad works perfectly for me, but I can't recreate it to work 100% reliably (and I can't get it to work at all in the map I'm working on). Well, I messed with it for a long time before I got it to work. Also, I think maybe we're using too user-hostile and primitive map editors such as Doom Builder or Slade which randomly mess with the map without being asked to, and we need to use more user-friendly and advanced editors such as Yadex to do this reliably, and crappy node builders which can't even understand what we meant to do. 0 Quote Share this post Link to post
tempun Posted February 2, 2012 tempun said:Don't think you can do any of this.Indeed death protection requires the sector special to be exactly 11 - no generalized flags allowed. So, you definitely can't. 0 Quote Share this post Link to post
tempun Posted February 2, 2012 I *think* that unreliability is because the engine sometimes thinks that we're in the sector that linedefs reference (and touching the floor). It is not type 11, and so the trick fails. (We can't make it type 11 as it would damage the player and cause him to exit the level.) Furthermore, I think that engine decides what sector we're in using only nodes. And so I made the above wad by first making the sector references of supporting linedefs correct (that is, having them refer to type 11 sector), saving the result, making linedefs reference the dummy sector, saving *to a different file* and then transplanting old nodes onto it with a lump editor. (EDIT: actually this is not reliable, as not only nodes are used but sidedefs also.) This dance is required because level editor automatically builds nodes on save after modification. This appeared to work but of course isn't acceptable for editing. A modified node builder or a wrapper which modifies the level before passing it to node builder is desirable. 0 Quote Share this post Link to post
Jon Posted February 2, 2012 You, sir, are a genius. I never thought I'd see something new in vanilla Doom, 17 years on! The first map worked perfectly for me, but if I put noclipping on I was bumped in a way such that the level ended. 0 Quote Share this post Link to post
TimeOfDeath Posted February 2, 2012 Ok thanks for all the help, tempun. I think I will just abandon this idea instead of having to replace new nodes with old nodes, etc. :) 0 Quote Share this post Link to post
tempun Posted February 3, 2012 Jon said:The first map worked perfectly for me, but if I put noclipping on I was bumped in a way such that the level ended. That's the cheating protection! ** 0 Quote Share this post Link to post
tempun Posted February 3, 2012 TimeOfDeath said:Ok thanks for all the help, tempun. I think I will just abandon this idea instead of having to replace new nodes with old nodes, etc. :) It's possible to automate this somewhat. 0 Quote Share this post Link to post
traversd Posted February 3, 2012 Very cool find guys. Tempuns comments made me d/l the prb+ source and go poking around. In p_spec.c I found // Falling, not all the way down yet? // Sector specials don't apply in mid-air if (player->mo->z != sector->floorheight) return;and in p_inter.c we find // end of game hell hack if (target->subsector->sector->special == 11 && damage >= target->health) damage = target->health - 1;So essentially if you want to live forever you need to float (at least 1 unit) above the floor of a type 11 sector. I think the reason you were having hit/miss (as was I most of the night) was the self referencing sector causes the player to not be detected in the sector of type 11 occasionally. I changed it so that instead of a full self reference, I kind'a "half-referenced" a non-type 11 sector. Providing your linedefs are a max 32 units apart (you fall through otherwise) it seems consistent this way, and you can bridge sectors. An unexpected bonus - monsters can walk around in the sector with you :0) You can also use inedef type 242 to cover over the 1 unit gap in floor height. http://www.mediafire.com/?vv00fduifokd4ef Travers EDIT: BTW I don't think and "node trickery" is needed. I was building this test in SLADE2 Also the player cannot die by self-damage (RL splash) and when you get to 1%, armor is no longer lost either. Test map seems to work OK in prb+, gl-prb+ and gzd. 0 Quote Share this post Link to post
printz Posted February 3, 2012 Does it work in Eternity? Actually, I'll test it now, and possibly report to Team Eternity if it doesn't. EDIT: Holy shit it works. And you can stay on 3dmidtex lines there, suspended above the guarantee of life. Too bad the view doesn't become white like with that artifact, because the effect is similar. 0 Quote Share this post Link to post
tempun Posted February 3, 2012 traversd said:So essentially if you want to live forever you need to float (at least 1 unit) above the floor of a type 11 sector. I think the reason you were having hit/miss (as was I most of the night) was the self referencing sector causes the player to not be detected in the sector of type 11 occasionally.I came to the same conclusions.traversd said:I changed it so that instead of a full self reference, I kind'a "half-referenced" a non-type 11 sector. Providing your linedefs are a max 32 units apart (you fall through otherwise) U can make them diagonal and 32*sqrt(2) units aparttraversd said:it seems consistent this way, and you can bridge sectors. An unexpected bonus - monsters can walk around in the sector with you :0) Well naturally, the difference in height is only 1 unit.traversd said:EDIT: BTW I don't think and "node trickery" is needed. I was building this test in SLADE2 This depends on luck and node builder. The subsector the thing is in is determined indirectly by R_PointInSubsector (r_main.c), using nodes: while (!(nodenum & NF_SUBSECTOR)) nodenum = nodes[nodenum].children[R_PointOnSide(x, y, nodes+nodenum)]; return &subsectors[nodenum & ~NF_SUBSECTOR]; In turn, subsector determines sector. Subsectors are linked to sectors in P_GroupLines (p_setup.c): (look it up in full somewhere else, forum software screws up the code) seg_t *seg = &segs[subsectors[i].firstline]; Note it uses the first seg to get sector reference and so results depend on nodes. Your method is more robust because it only makes 1 reference incorrect and thus less chance of glitches. But they probably still can happen in bigger levels, depending on node builder.traversd said:Also the player cannot die by self-damage (RL splash) and when you get to 1%, armor is no longer lost either.P_DamageMobj (p_inter.c): damage = target->health - 1. This happens before armor checks. So if you have a lot of health and armor, first hit, no matter how powerful, can't reduce your health to 1. 0 Quote Share this post Link to post
tempun Posted February 3, 2012 printz said:Too bad the view doesn't become white like with that artifact, because the effect is similar. And the hits don't move you anywhere either. EDIT: I take that back. 0 Quote Share this post Link to post
traversd Posted February 3, 2012 Ah OK. Sorry - coding and doom engine internals are not my strong point but I think I get what you're saying. There's no easy way to see how a map is broken up into the subsectors is there? It'd be interesting to see the outcome of self-referencing only one side - Can you have subsectors of 0 area? It probably goes back to your "luck" comment but I wonder if there is a way (using a specific nodebuilder) to force/encourage where the first subsector in a sector might be formed? Travers 0 Quote Share this post Link to post
tempun Posted February 3, 2012 traversd said:Ah OK. Sorry - coding and doom engine internals are not my strong point but I think I get what you're saying.Ignore my confidence, I don't know much about them either. You can read Doom Wiki articles on segs, subsectors and nodes traversd said:There's no easy way to see how a map is broken up into the subsectors is there? Node builders' authors must have written nodes viewers to debug their programs, but I don't know of any.traversd said:It'd be interesting to see the outcome of self-referencing only one side - Can you have subsectors of 0 area?I think I remember that there must be no degenerate subsectors, but I'm not sure at all.traversd said:It probably goes back to your "luck" comment but I wonder if there is a way (using a specific nodebuilder) to force/encourage where the first subsector in a sector might be formed?First seg of the subsector, you mean. I don't know whether renderer requires seg to be in a particular order, but a bigger problem is that subsector can have a single seg. We can then try to swap sector references (and what if the same occurs on the other side?) In short, probably, but I don't know how. It would probably need a modified node builder. 0 Quote Share this post Link to post
printz Posted February 3, 2012 tempun said:And the hits don't move you anywhere either. Even that happens? That would make it less useful, because one of the challenges should be "stay on the spot if you want to live". 0 Quote Share this post Link to post
tempun Posted February 3, 2012 printz said:Even that happens? That would make it less useful, because one of the challenges should be "stay on the spot if you want to live". Put in heaps of medikits. 0 Quote Share this post Link to post
printz Posted February 3, 2012 tempun said:Put in heaps of medikits. Looks too contrived as "slaughter-mappy" for my liking. I prefer the special effect to look more natural. 0 Quote Share this post Link to post
traversd Posted February 3, 2012 printz said:Even that happens? That would make it less useful, because one of the challenges should be "stay on the spot if you want to live". Hrm, I was getting knocked around by the 3 cybers in the test map. Off-hand I think uses for this could be to make a small area "invincible" to allow a player to undertake a rocket jump to progress or maybe a secret map where you cannot die. I guess neither scenario is very intuitive in the doom environment (not something expected of the standard game mechanics). 0 Quote Share this post Link to post
TimeOfDeath Posted February 3, 2012 The reason I wanted to use it was to imitate another video game: there's a part where you get hurt and it takes you down to 1% health without killing you (regardless of what your health was at before, you always go down to 1%, just to scare you). 0 Quote Share this post Link to post
Phml Posted February 3, 2012 Off-hand I think uses for this could be to make a small area "invincible" to allow a player to undertake a rocket jump to progress or maybe a secret map where you cannot die. I guess neither scenario is very intuitive in the doom environment (not something expected of the standard game mechanics). You could always introduce it earlier in a gentle but forced way, i.e. crusher over a critical switch on a spot where you cannot die, with particular lightning/texture, and use those same visual clues later on for more interesting gameplay scenarios once the concept is assimilated. Can't be worse than switches puzzles. :) 0 Quote Share this post Link to post
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.