Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
traversd

Boom - using generalised linedefs for scripting in multiplayer

Recommended Posts

Came across this recently and not sure if it is well known as this thread suggests it may not be --> http://www.doomworld.com/vb/doom-editing/61349-how-do-voodoo-dolls-work-in-multiplayer/

Most of the generalised linedef types in Boom support activation by monster (or rather non-player) things. I always knew this was the case for lifts/doors and stairs but a recent chat with 40oz had me check the Boom specs textfile and realise it was also the case for floors and ceilings which I think has much more value.

This means you can create a Boom script without having to use a duplicated player start for activating doors/lifts/floors/ceilings and stairs (crushers are broken still AFAIK --> http://www.doomworld.com/vb/post/825049).

Because they are not duplicate player starts they work in both coop and deathmatch, and using the "appears in multiplayer", "not in dm" and "not in coop" thing flags you can potentially run different script arrangements for the 3 different game modes. Unlike duplicate player starts you can also set skill settings to again limit when the script arrangements may run. This is an example of 4 different scripts, 3 of them running only on a specific skill and the other on all skills (sp, coop & dm starts) --> https://dl.dropboxusercontent.com/u/56320770/td_genericlinedefscripts1.wad

The above example uses doom1 column lights to activate the linedef types however pick-ups can also activate them. An example of the use here is having alternating items respawn in deathmatch (via teleport), or the same item spawning in different locations (again via teleport).

Limitations: Because it is using the generalised linedef types there are a number of linedef actions that this method cannot activate (ie: exits, lighting effects, floor/ceiling texture change types and crushers) and you would still need to use the duplicate player start for health/inventory affecting script arrangements.

How it works for floors/ceiling generalised linedef types: According to the Boom specs txt, because these types don't have a specific "monster can activate" flag you can get this option enabled by setting the Change value to 0/Nochange and the Model value to 1/Numeric. I modified my doom builder 2 config so the generalised type screen for floors and ceilings looks like this --> https://dl.dropboxusercontent.com/u/56320770/DB2_GeneralLinedef_MonsterCanTrigger.png

Share this post


Link to post
hawkwind said:

Yes. But only applies to Boom\prboom\prboom+. All other Boom compatible ports have since had this fixed AFAIK.


Sorry, yes that is true Hawkwind. The linked thread about the bug indicates the view is to maintain it since it was a part of boom202. So for -complevel 9, which is what I've been testing this with, it is broken :o)

Which is a shame - I wonder how many existing maps made use of the crusher type that this would cause a playback desync of existing demos once it started working as intended?

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×