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

doom builder 2: how do i do monster death scripts compatible with dosbox doom?

Recommended Posts

i'm asking for vanilla dosbox doom ONLY because i want my maps accessible to ALL people. including people that don't want to get source ports. i know that doom 2 has scripting, because there is a script editor for vanilla doom 2. i want a door to open when an archvile dies. can someone tell me how to do that in vanilla doom 2?

Share this post


Link to post
27 minutes ago, memes4lyfe said:

i know that doom 2 has scripting

 

It doesn't.

 

27 minutes ago, memes4lyfe said:

i want a door to open when an archvile dies. can someone tell me how to do that in vanilla doom 2?

 

The best you can probably do is to supply a DeHackEd patch that modifies the Arch-Vile death animation to include the Commander Keen death code pointer and tag your door with 666, like in Doom 2 map 32.

Share this post


Link to post

what about the map "dead simple"? you can only proceed if you kill the mancubi. if doom 2 has no scripting, how does it do that?

Share this post


Link to post

so i have dehacked in my script editor built into doom builder 2, so how do i give the archvile the  "void A_KeenDie(mobj_t* mo)" tag thing?

Share this post


Link to post

Have a DeHackEd file with something like this:

 

Patch File for DeHackEd v3.0
# Created with WhackEd4 1.1.0 BETA
# Note: Use the pound sign ('#') to start comment lines.

Doom version = 21
Patch format = 6


[CODEPTR]
FRAME 279 = KeenDie

 

Note that this will work exactly like Commander Keen, i.e. it will be in effect for every Arch-Vile, which also mean that the door will only open if all Arch-Viles in the map die.

 

Example map attached. It requires a port that can read the DEHACKED lump from the WAD. For doom.exe it has to be patched in.

avdeath.zip

Share this post


Link to post

Simply put, using DeHackEd to give a monster A_KeenDie will open whatever doors are tagged 666 on the map when every instance of that monster is killed.

 

It will also apply for every map in the game, due to how DeHackEd works. In other words, anytime all Arch-viles are killed, it will trigger. (I don't know if it will crash in maps where you have Arch-viles but no tag 666 for them to trip.)

 

Forcing it to be vanilla-compatible means you're going to have to deal with stuff like that. Contrary to what you believe, vanilla Doom has no form of scripting, and even moderately more advanced engines like Boom don't have true scripting so much as stuff like Voodoo Doll triggering, so for the original engine, you're limited to what DeHackEd can modify, which is basically to take pointers that execute already-existing code and give them to other monsters, but creating new code past what is built into the game is simply not possible.

 

It'd take an advanced source port like ZDoom that allows you to run ACS in Doom maps to have "real" scripting.

 

EDIT: It will also only work on maps it was intended to work on, so besides the little footnote mentioned below by Fraggle (about this technically needing Boom-tier support, which of course regular Doom won't have), it would only work on maps where there were originally Keens in the first place.

 

Which, of course, means MAP32 - and no others. 

Edited by Dark Pulse : Whoops, forgot stuff like that only triggers on specific slots as well.

Share this post


Link to post

I agree with Dark Pulse's assessment.  Just about any modern computer, even low-end models, can run most of the source ports.  If someone has a low-end model, all they have to do is turn the graphics down, lower the screen size and stuff like that, and it will be playable for them.

 

Restricting one's self to vanilla Doom mapping nowadays is entirely unnecessary.  One can do it if they say, want to be true to vanilla, but as folks here have already said, it puts a lot of restrictions on what you can get your maps to do.

 

Scripting is wonderful.  It lets you pull off so many tricks, and in a lot of cases, do it very easily.  Just tonight, Daryn was able to make an airlock work exactly like a two-door airlock is supposed to work.  Something like that adds a lot of realism to a setting like Doom - where you might be dealing with space-like environments and toxic atmospheres and stuff.  And they are absolutely impossible to do in the vanilla Doom engine.

 

Try one of the ports.  I highly recommend GZDoom.  And grab GZDoomBulder.  We're working in ACS and UDMF.  The stuff we're able to do... it's absolutely amazing.  And the maps we're making will be playable for anybody who has a reasonably modern computer.

 

Do what you want, of course, memes4lyfe.  But I gotta tell ya, you're seriously hampering yourself by trying to stick to vanilla.  You'll really open your map-making horizons if you give one of the ports with more advanced scripting a try.

Edited by Barefootstallion

Share this post


Link to post
On 3/8/2019 at 4:59 PM, boris said:

Have a DeHackEd file with something like this:

That won't work with vanilla because [CODEPTR] is a BEX extension.

Share this post


Link to post

Why don't you target Odamex instead? It has almost full Vanilla demo compatibility and plays pretty much the exact same, yet it has ACS scripting.

Share this post


Link to post

I would just go for Boom compatibility. That way you get to use BEX, and your .wad will run in Doom Retro, PRBoom, Eternity, the entire ZDoom family of ports, 3DGE, K8VaVoom, Risen3d, and possibly Crispy Doom (depending on what Boom features you use).

Edited by NiGHTMARE

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
×