The Grand Mapedit Assistance Compendium

Discussion and queries about building worlds in Blood.
Post Reply
User avatar
Daedalus
The Dreaming God
Posts: 312
Joined: Sun Dec 30, 2018 12:27 am
Location: The Hall of the Epiphany
Contact:

Re: The Grand Mapedit Assistance Compendium

Post by Daedalus » Fri Feb 16, 2024 1:01 pm

Please present a screenshot in 2D mode.
Kazashi wrote:Daedalus, I don't care how much you know about Blood, your attitude has to change.
Need a hint? Spill some on the Altar of Stone!

User avatar
RoosterMange
Still Kicking
Posts: 73
Joined: Sat Jan 20, 2024 9:37 am

Re: The Grand Mapedit Assistance Compendium

Post by RoosterMange » Fri Feb 16, 2024 8:07 pm

Certainly
Attachments
image_2024-02-16_120706726.png
image_2024-02-16_120706726.png (30.93 KiB) Viewed 1602 times
"A punk rock song won't ever change the world, but I can tell you about a couple that changed me." -Pat The Bunny

User avatar
Daedalus
The Dreaming God
Posts: 312
Joined: Sun Dec 30, 2018 12:27 am
Location: The Hall of the Epiphany
Contact:

Re: The Grand Mapedit Assistance Compendium

Post by Daedalus » Fri Feb 16, 2024 8:17 pm

Hm, I wasn't aware that they'd modified the display to this degree. Try removing the Data2 and Data3 fields (set to 0) and see if that has any impact?
If that does not work, please try duplicate your settings on a different, random sprite and see if that exhibits the same behaviour when you destroy it.
Kazashi wrote:Daedalus, I don't care how much you know about Blood, your attitude has to change.
Need a hint? Spill some on the Altar of Stone!

User avatar
RoosterMange
Still Kicking
Posts: 73
Joined: Sat Jan 20, 2024 9:37 am

Re: The Grand Mapedit Assistance Compendium

Post by RoosterMange » Sat Feb 17, 2024 3:24 am

It seems to work for just about any sprite, even with multiple gibs at once. I'm not sure why chest voxels seem to act so differently.
"A punk rock song won't ever change the world, but I can tell you about a couple that changed me." -Pat The Bunny

User avatar
Daedalus
The Dreaming God
Posts: 312
Joined: Sun Dec 30, 2018 12:27 am
Location: The Hall of the Epiphany
Contact:

Re: The Grand Mapedit Assistance Compendium

Post by Daedalus » Sat Feb 17, 2024 8:47 am

Alright, plan C!
I suspect there is either a bug in your NBlood or XMapedit version, or perhaps there is a special process in XMapedit that applies only to these particular circumstances that deviates from Mapedit.
I've separated the room from the Sin Campaign and am attaching it to this post. Open it on your end and see how the behaviour works, and see if you can spot any differences.
Attachments
GIBCHEST.zip
(1.24 KiB) Downloaded 52 times
Kazashi wrote:Daedalus, I don't care how much you know about Blood, your attitude has to change.
Need a hint? Spill some on the Altar of Stone!

User avatar
RoosterMange
Still Kicking
Posts: 73
Joined: Sat Jan 20, 2024 9:37 am

Re: The Grand Mapedit Assistance Compendium

Post by RoosterMange » Sun Feb 18, 2024 7:15 am

The chests in the map you've provided have the same settings as mine aside from using different gib sprites. In preview mode, both my chest and the ones in this map work properly when interacted with, playing the sound and spawning the gibs as they disappear. When the map you've provided is booted up in NotBlood, the chests can be destroyed and are fully functional. I checked my map again and the settings are the same.

It's worth noting that the chests in this map are small, black chests which are set as gib objects so they can no longer be picked up. The chest in my level is a large chest, not the black one, set up in the same way. My guess is that the large chest, for whatever reason, is being treated differently by NotBlood and therefore doesn't spawn the gibs when it disappears and plays the sound. I haven't tested this on other ports, so I'm not sure if it's just NotBlood or if it's an issue with these large chests in general.
"A punk rock song won't ever change the world, but I can tell you about a couple that changed me." -Pat The Bunny

User avatar
Daedalus
The Dreaming God
Posts: 312
Joined: Sun Dec 30, 2018 12:27 am
Location: The Hall of the Epiphany
Contact:

Re: The Grand Mapedit Assistance Compendium

Post by Daedalus » Sun Feb 18, 2024 10:11 am

I know next to nothing about NotBlood, so I unfortunately can't offer any insight on this matter.
Kazashi wrote:Daedalus, I don't care how much you know about Blood, your attitude has to change.
Need a hint? Spill some on the Altar of Stone!

User avatar
RoosterMange
Still Kicking
Posts: 73
Joined: Sat Jan 20, 2024 9:37 am

Re: The Grand Mapedit Assistance Compendium

Post by RoosterMange » Sun Feb 18, 2024 11:45 am

It looks like an issue exclusive to NotBlood. I tested it on Fresh Supply and it worked just fine. What's odd is the chests in NotBlood are placed in a different position than the sprite, making it appear to float, whereas it's placed accurately in FS. I'll ignore it for the time being since it seems to be out of my control. In any case, I'll be moving on to the next car.

Is there a way to make flame sprites deal damage and make sound?

And since I'll be coming up on this explosive set piece soon, how can I make an exploding wall?
"A punk rock song won't ever change the world, but I can tell you about a couple that changed me." -Pat The Bunny

User avatar
Daedalus
The Dreaming God
Posts: 312
Joined: Sun Dec 30, 2018 12:27 am
Location: The Hall of the Epiphany
Contact:

Re: The Grand Mapedit Assistance Compendium

Post by Daedalus » Sun Feb 18, 2024 1:35 pm

Making a sound for a fire introduces the concept of ambient sound.
Create a sprite on or very close to the fire which will serve as a source for producing the sound. Mouseover it and press Alt + F6. Set the type to 710: Ambient SFX. Set the State to 1: On, indicating that the sound is playing. Then you will only need to play with the four Data options on the right, 1-4.

Data 1 indicates the range at which a sound will be heard at maximum volume. In your case, where the sound is being emitted from an object as opposed to being environmental, this value will be somewhat small. Data 2 refers to the range at which the audio for the sound gradually drops off (lowers). This will usually be quite a bit larger than Data 1's value. Data 3 refers to the sound file which will be used. The standard 'exposed fire' sound is number 32 here. The fourth value is the volume. Experiment with these until you find a balance which you're happy with.

While open fires which harm the player are unusual in Blood, if you want to go ahead with that you'll have to create a sector that the sprite occupies which will serve as the area in which the player takes damage if they stand in it. When you've created this sector, mouseover it and hit ALT + F5. Set the sector type to 618: Damage Sector. This will create a very dangerous sector to stand in indeed, and there are two parameters we'll need to adjust. The first is the 'data' value. This determines how intense the damage sustained is when standing in the sector. Try play around with the value a bit. Somewhere in the region of 30 is probably good. Next, the last thing you need to do is set the DamageType for the sector. This is pretty self-explanatory, but Blood of course has a series of different types of damage which the player can sustain. Under here you'll want to set it to 1, which indicates that fire damage will be applied.

Exploding walls in Build are simply z-motion sectors, like elevators, which perform their movement instantly. You will need to make a sector which receives a command to go from an OFF to and ON state. The wall itself will require the following values:

The type will be 600: Z-motion. It will need an RX ID set to whatever is appropriate. Then, all you really need to do is inform the sector as to what its off and on states are. You will have to do so in 3D mode. Enter 3D mode, set the sector to its non-destroyed state, mouseover it and press ALT + F3. This will set the OFF state for the sector. Then adjust the sector to be in the destroyed ON state, then mouseover it and press ALT + F4. That's not a prank, by the way. It's a real command. When this is done, you can actually leave the sector in whatever state you like in Mapedit, since it will default to its OFF state on map commencement and be destroyed when you command it to do so.
Kazashi wrote:Daedalus, I don't care how much you know about Blood, your attitude has to change.
Need a hint? Spill some on the Altar of Stone!

User avatar
RoosterMange
Still Kicking
Posts: 73
Joined: Sat Jan 20, 2024 9:37 am

Re: The Grand Mapedit Assistance Compendium

Post by RoosterMange » Sun Feb 18, 2024 9:41 pm

The fire seems simple enough to do, but might I see a visual example of the exploding wall sector? I'm not sure if the wall itself needs to be separated from the rest of the room, how to make the wall look realistically blown open, how to have an explosion trigger it, etc.

As for the fires, I've seen certain elements in Blood with a flickering light effect such as fires or torches. How can I achieve this effect for my sectors?
"A punk rock song won't ever change the world, but I can tell you about a couple that changed me." -Pat The Bunny

User avatar
Daedalus
The Dreaming God
Posts: 312
Joined: Sun Dec 30, 2018 12:27 am
Location: The Hall of the Epiphany
Contact:

Re: The Grand Mapedit Assistance Compendium

Post by Daedalus » Mon Feb 19, 2024 11:41 am

So the lighting effect for the flicker is really easy. Go to the FX page of the appropriate sector you select and you will see a series of options. These are:
Wave - the lighting effect. Blood has a few presets here, some of which are good for different situations and some of which are quite strange.
Amplitude - the degree of lighting adjustment. This directly corresponds with the values assigned by your keypad + and -. Remember that + means "darker".
Frequency - the speed of the effect (if chosen). These also vary depending on exactly what effect you're going for, by which I mean that some effects will only really work with fairly high numbers, while others will quickly go crazy approaching a number as low as 10.
Phase - This is primarily used to desynchronise lighting when it's appropriate to do so. Imagine there are three separate pillars with torches on. If all three flickered exactly in unison, that would appear a little unnatural. Setting a phase will add a delay to these effects and allow them to appear more natural.
Walls, floors and ceiling checkboxes determine which parts of the sector are affected.
You can add coloured lighting as an option, like in The Siege's bank area. Be careful with this, since coloured lighting can be quite ugly in Blood if used improperly.
Then there's "shadeAlways". This checkbox decouples the lighting effect from the sector behaviour and sets it to permanently be on. For example, imagine there were a lift with a fire inside of it. The lift would move to an on and off state. If we did not set the shadeAlways effect to on, the lighting itself would react to the command for the lift to go up and down (OFF and ON)! This would not be good, as we'd presumably want the flicker to occur constantly regardless of the sector's state.
These are quite fun settings to play around with, so fiddle and see what you land on.

Regarding an "exploding wall", traditionally in Build Engine games these are of course managed by wall cracks. If you want to go with that approach, what you would do is place a wall crack sprite and have it issue a command to the wall piece/s to open - basically send them an ON command.

In this case it's more efficient to use an image, so this is an example of a wall crack that issues a command to the z-motion wall pieces. I will also include a 3D mode image for a rough impression of what this looks like. In the case of our image, there are chambers on both sides of the 'red wall' sections, joining them.
16.PNG
16.PNG (21.11 KiB) Viewed 1573 times
17.PNG
17.PNG (35.73 KiB) Viewed 1573 times
Kazashi wrote:Daedalus, I don't care how much you know about Blood, your attitude has to change.
Need a hint? Spill some on the Altar of Stone!

User avatar
RoosterMange
Still Kicking
Posts: 73
Joined: Sat Jan 20, 2024 9:37 am

Re: The Grand Mapedit Assistance Compendium

Post by RoosterMange » Sat Mar 02, 2024 2:04 am

I have the wall I want to explode set to z-motion for all the appropriate sectors, and they have the same rx id. When I use alt-F3 it says "show OFF" and I made the wall look normal and untouched in the off state, using f3 again just to make sure it's set. Issues arise when I try to make the sector in the on state, as f4 makes the program say "show ON" but it resets the sector to the exact same way I had it in the off state. Maybe the binds are different for xmapedit. This only seems to be showing me what the wall is meant to look like in a certain state, not actually setting the look for that state.

Aside from the exploding wall, the flickering lighting and ambient fire sounds worked out great and the room has a much better atmosphere. Once I'm able to build this exploding wall, there shouldn't be anything really complicated to do besides creating the illusion of a moving train with the scrolling floor and sfx, creating a level ending sequence, and making the level suitable for all gamemodes.

Edit: I figured out the bind for setting the on/off state of z-motion sectors, but now arises a new issue. The textures look sloppy in one state or the other, because I can only have the textures adjusted to look aligned with the rest of the wall in one state. When the wall changes states, the texture is misaligned and ugly. I also wanted to add slopes in the sectors to make the wall look jagged when in the "on" state, but when I switch it back to the "off" state the slopes leave noticeable gaps in the wall. Is there a way to keep the jagged slopes and maintain the effect I'm trying to achieve? And is there a way to make the textures align with the rest of the wall in both states?
"A punk rock song won't ever change the world, but I can tell you about a couple that changed me." -Pat The Bunny

User avatar
Daedalus
The Dreaming God
Posts: 312
Joined: Sun Dec 30, 2018 12:27 am
Location: The Hall of the Epiphany
Contact:

Re: The Grand Mapedit Assistance Compendium

Post by Daedalus » Sat Mar 02, 2024 11:31 am

Glad to hear you came right with the z-motion. The easier of your problems is the texture issue. What the game is doing is making the assumption that you want the texture to move with the wall as if it were genuinely an elevator. Of course we never want this to happen with walls which explode, since that harms the illusion of the walls blowing open. In 3D mode, mouseover the appropriate walls and press 'O'. This will perform a trick that makes the wall textures 'pinned' at the same point regardless of your height adjustments. You will probably have to align your wall textures after having done so again, since they may initially look wrong when you do so.

Depending on your wall shape, I anticipate that your next challenge is going to be that the texture for the top of the wall opening doesn't line up nicely like your bottom one does or vice versa. In this case you will need to mouseover the wall and press '2'. This will separate the texture alignments from one another and allow you to modify those as you please independently. Their texture sizes are still linked in this state however, and you will need to rethink your approach if the texture sizing is a problem after this point.

The 'gap in wall despite the floor and ceiling going as far as they can' issue is a complicated one - regrettably too complicated for me to go into in text without writing a small novel. What it boils down to is that there are certain shapes and wall alignments which will create that problem. If you structure your wall a bit differently, things will 'fit into place' and you won't have any wall gaps. A somewhat inaccurate oversimplification of this is that the more complicated your walls are, the less likely they are to fit together nicely. Look at my example image above: those walls are really darn simple and so they fit together just fine. This is a case where I'd say you should spend some time in trial and error and fight with it until they behave the way you want them to.
Kazashi wrote:Daedalus, I don't care how much you know about Blood, your attitude has to change.
Need a hint? Spill some on the Altar of Stone!

User avatar
RoosterMange
Still Kicking
Posts: 73
Joined: Sat Jan 20, 2024 9:37 am

Re: The Grand Mapedit Assistance Compendium

Post by RoosterMange » Sat Mar 02, 2024 8:43 pm

It appears as though the slopes in your wall don't line up to fit together, with the top and bottom halves looking like they'd form a gap if they closed together. How were you able to achieve that effect while still being able to close it anyway? My wall is a bit more complex but I'll play around with the slopes until they fit together nicely. Do wall cracks automatically trigger when hit with an explosion? If so, all I really need to do is link the wall crack to the wall once I set the on/off state, right? I've also seen wall cracks that trigger with hitscan weapons, so I assume to do that I'd just need to make it hitscan sensitive. Not that I'm trying to do that, I just think it'd be useful to know.

Side note, I'd like to add in the explosion fx like you see in traditional Blood maps where the wall creates an explosion where the crack was as it changes states. How can I go about that?
"A punk rock song won't ever change the world, but I can tell you about a couple that changed me." -Pat The Bunny

User avatar
Daedalus
The Dreaming God
Posts: 312
Joined: Sun Dec 30, 2018 12:27 am
Location: The Hall of the Epiphany
Contact:

Re: The Grand Mapedit Assistance Compendium

Post by Daedalus » Sat Mar 02, 2024 10:13 pm

Wall cracks trigger automatically, yes. You can simply copy the settings in my image above to have it transmit to your walls. For hitting wall cracks with weapons, you could basically make any sprite being destroyed cause an explosion. Wall cracks are special sprites which respond to explosions only, so you'd have to change it to be a gib object if for whatever reason you wanted a crack to react that way.

In the case of my walls in the image, there will be no gap in the wall when they're brought together because of my choice of angles and because of the simplicity of the sector. Again, angles, sector shape complexity and wall alignments will affect whether or not a gap will be present and you should continue to fiddle until it works as you'd like.

Explosions in Blood which you create as the mapper are called hidden exploders. These are sprites of type 459. You will need to make the wall crack transmit to the exploder sprites. The only other value you'll need to apply to them will likely be 'WaitTime', which will determine how long after the crack has been destroyed they should explode. This is commonly used by mappers to create explosion sequences. Be sure to make your hidden exploders not blocking and invisible.
Kazashi wrote:Daedalus, I don't care how much you know about Blood, your attitude has to change.
Need a hint? Spill some on the Altar of Stone!

Post Reply