The Grand Mapedit Assistance Compendium

Discussion and queries about building worlds in Blood.
Post Reply
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 Mar 03, 2024 2:27 am

I was able to make the exploding wall look amazing and I even added a better looking locomotive to the front of the train. While working on the next car, I noticed that floor textures don't stretch whereas wall textures do. I can stretch and pan wall textures, but I can only pan floor textures. Is there a way for me to stretch or shrink a floor texture to fit the surface I'm trying to put it on?

Since I'm almost finished with the train, how can I make the ground scroll and deal damage to the player? On that note, can I make sprites scroll with the ground so there's things like tumbleweeds and cow skulls passing by?
"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 Mar 03, 2024 10:25 am

Floors are much more limited in their customization than walls are. Your only real option to modify the texturing is to use the "E" button to "expand it", which will change the texture scale. You could also split the sector into lots of smaller sectors and adjust their individual alignments, but this is a terrible idea and would almost certainly look disjointed and bad.

For your sprites passing by effect, something you could attempt is to have a long sector outside which has a Slide Marked type. You would then have a sprite marked for motion in the sector. In this case you would make the sector have an RX ID of 7. This is special reserved value which means that the sector will be turned ON as soon as the map begins in Single Player mode. In this case we want that, because this is a "natural action" happening in the map without player intervention. The trick would then to have a wait time of zero after the motion is complete, so that the sprites 'bounce back' to their original position in front of the train. I am unsure as to whether this would look good, but it's worth a try. I'd recommend backing up before making additions to the large external sector.

Making the floor texture outside damaging and pan is luckily quite easy. To make the floor damaging, it will have to be of type 618: Damage Sector. You then may want to change the DamageType on the next page to change the behaviour/Caleb's sound or just for fun. Phantom Express uses Damage Type 3. With that you're done with the damaging floor. Then you'll want to set the texture to pan and "pull" the player so that it feels more natural. Check under "Motion FX" on the second page when modifying the sector's properties. You can modify these as you please, but thankfully we've got Phantom Express as a really nice example for this. First set the speed to 255. This determines the rate at which the pan will happen for the texture. Be careful - there is a large mismatch between how the pan appears in Mapedit versus how it appears when playing the game. I'm unsure if this issue has been addressed with XMapedit or not, but you will need to launch the game to see how it "really" looks versus how it may appear in editor. Next, for angle, we'll want 512, which in Mapedit means "go from North to South". For the checkboxes you'll want Pan Floor, since our floor texture is moving, definitely not Pan Ceiling, Pan Always, which means that it will always pan and Drag, since it should drag the player with it. The last thing you need to do is then change the "wind" settings. Wind is similar to pan, but has a few subtle differences. It will basically make the pull of the texture even stronger and make it so that shells and blood sprays fly along with it in a nice natural way. With wind you'll probably want Wind Velocity to be 255, angle to also be 512 and you'll want the wind to always be on.

After this, you should have a nice and deadly effect for if you dare step off the train.
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 » Tue Mar 05, 2024 10:48 pm

Which angle would I need to make it from South to North? Also, for this final car, I wanted to make a large double door that swings open. How can I achieve this effect?
"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 » Wed Mar 06, 2024 9:03 am

To have the floor pan from South to North, you would use an angle of 1536.

For rotating doors, you have actually already practiced all the skills you would need to build them. 99% of the time you will want to have your doors in Mapedit be in an "open" position, so start by making a doorway and making two rectangular sectors that will serve as the doors. These should be separate objects from the wall, and they'll be red sectors. Choose one of these to be a 'master door' and the other to be a 'slave door'. Both of these will have Type 617: Rotate.

You will start with exactly the same process we used for the sliding door discussed previously whereby you want to make sure that all the walls have properties to send a command. There will be eight walls in total to apply this to (two rectangles). These will transmit to the master door.

For the master door, it will need to transmit to the slave door. Give it an RX ID that matches what you set up for the walls, then give it a TX ID to target the slave door. The command it will send will be 5: Link, which we've discussed briefly. Then you will need to set the timings for the opening, closing and wait time. One of those little rotating axis markers will appear, and you will need to use the square brackets to rotate it. I would suggest simply experimenting with the angle until it makes the motion you're after.

After this, you will want to work on the slave door, which requires surprisingly little information. Give it an RX ID to match the master door's TX ID - not the one sent from the walls! So all your slave door will need is Type 617: Rotate and an RX ID which receives from the master door. The very last thing you need to do is set the axis rotation, which will be the inverse of the master door's, of course.

A word of caution: I would strongly recommend that you ensure that you're perfectly happy with the room which will contain the doors and that you build the doors thereafter. Do not modify the room after you've built the doors unless you've backed up. The doors should be right against the walls, which means that you will have sectors that are very close to overlapping each other, which Blood straight up doesn't like. There is a strong chance that Mapedit will get confused if you continue building onto a sector with your rotating doors in place, and you may invoke the Mapedit demon, which is an incredibly evil bug that can devour the majority of your map if left unchecked.
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
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 » Wed Mar 06, 2024 9:08 am

In addition to the above, you will want to place your rotation axes in fairly specific positions. Here's an example of such a door. It's a little hard to see, but it will give you a sense of where those should be placed.
18.PNG
18.PNG (10.59 KiB) Viewed 1570 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 » Fri Mar 08, 2024 9:28 am

Thanks for the warning. I'll make those doors when I finish the room. I'm still trying to figure out the layout cause it'll be a boss room where you fight a priest, and I wanna figure out a design that both makes sense and is fun to fight the priest in. Any suggestions would be greatly appreciated.

I've noticed that the rails have a scrolling texture on the top but not on the sides where they pop up. In E1M3, the rails scroll on top and the sides. How do I make the wall texture scroll so it doesn't break the illusion?

I've also been adding ambient sound sprites and was wondering if there's a way to copy and paste them so I don't have to input the values each time I add another sprite.
"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 Mar 08, 2024 9:38 am

Like floors, panning walls is easy. Mouseover the appropriate wall you want and hit ALT + F6. You will then need to locate "Pan X", which is of course panning on the vertical plane. This can be negative or positive for direction (I believe yours will be negative), and you'll probably need to make it the maximum speed. Be sure to check Pan Always as well for constant motion.

Environments are incredibly important in making Blood's monsters effective and enjoyable to fight. It will be tricky on a train, since I imagine the dimensions you have to work with are quite small. The fight's structure really depends on what you want to convey or how you want to treat it, but assuming you want to challenge the player a bit, a good idea would probably be perhaps to create something almost like a hall of pillars so the player has cover and the boss has a lot of different directions in which to go to keep things interesting. I can't offhand think of how that would exactly be plausible on a train, but perhaps you can think of something. As a general rule in a boss fight in Blood, as long as you give the player some space to move in, sufficient resources to handle the fight and don't make too many obstacles for the boss to get caught on, you should be okay. Blood's monsters are all horrendously stupid, so you want to keep things pretty open for bosses, but not so open that the bosses are trivial as a result, as was the mistake with Tchernobog in the retail game.
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 Mar 08, 2024 10:18 am

The pillars sound like a pretty good way to fill the space, and I think I'll add some kind of altar at the end of the room to make it look like they were doing some sort of ritual as Caleb barges in. Is there a way to copy and paste sectors so I can easily add identical pillars?

The rails look much better now that the sides are scrolling. The whole train is really coming together now.

I'll get back to adding sound sprites after I finish the room. It's very tedious inputting the same values on multiple sprites. Copying the sprite only seems to copy the sprite itself and not the data with it.
"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 Mar 08, 2024 11:04 am

It should not be so. For copying sprites, hold right shift and select the sprite, after which it will flicker, then press INSERT. A duplicate will be placed wherever your cursor is (assuming the sprite is highlighted). That should be relatively painless.

Copying architecture is more difficult. I believe XMapedit has much more powerful functionality in that regard than regular Mapedit. Generally you will hold right alt, select an area and release alt, after which it will animate green. Then, if you load the map again, the green elements will be draggable still, but this has some degree of nuance to it in that it treats it as an outer sector, i.e. as if it's not a child of the sector that it's in, which creates additional complications. Proceed carefully in that regard and see what works for you.

Also, try to avoid falling into the common trap that mappers seem to make these days whereby there is endless copypasting. No need to be as extreme as I am and "handcraft" pretty much everything, but it's easily detectable when a player uses copying as a crutch, which is almost never evident in the base game.
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 09, 2024 10:35 am

I'm building an altar in the hall and due to the unique shape, regular slopes aren't connecting seamlessly. I remember there being a way to make dynamic slopes but I don't recall the keybind and there isn't really information I can find on it. How can I make dynamic slopes for more specific shapes?
"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 09, 2024 11:19 am

I'm unaware of XMapedit making any innovations in that regard, but generally slopes are fussy with how they shape up, since it depends on the shape of their walls. The only controls one has in Mapedit are obviously square brackets to give it a positive or negative angle (with holding shift for fine adjustments) and ALT + F to change the angle. The angles available will be dictated by the shape of the sector.
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 » Mon Mar 11, 2024 3:55 am

I finished the boss room, added the double doors, added train chugging sfx, added wind sfx, made the windows trigger sound sprites to seem like the wind is being let in when the windows break, etc. The one issue with the doors is that the flickering light from within the room applies to the doors even while they're closed, so the doors flicker before you even open them. I'm not sure how to remedy this issue.

I'll be adding enemies and more pickups soon. Is there any advice you can offer regarding enemy placement, when to give certain items and weapons to the player, and having a reasonable amount of enemies for each difficulty?

I was also wondering if it was possible to make walls block sound so the ambient torch sounds from the boss room aren't audible from outside.
"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 Mar 11, 2024 8:13 am

So lighting "passing through" a door is a common and irritating problem with no easy fix. The only real solutions there are to make it that the external sector lights up when the door is opened and darkens when it is closed, but this can be impossible depending on your door structure. You may have to think of a workaround or make an alternative arrangement if there is no clear way to prevent it. Problems will generally arise if you start attempting to make little subsectors to try contain the light. It's worth experimenting on, but you will likely find limitations at some stage. In general, you need practice and to be fairly confident in what you're doing if you want light to pass through a functional door, and for this reason this is very rare in retail Blood.

Monster, weapon and powerup placement and use in Blood is an art unto its own, and assuming you want to replicate retail Blood's behaviour with these, there are indeed quite a few rules to follow. As with most rules, these can be bent or broken with experience, but consider these general principles:

For monsters:
  • Don't use monsters in environments that aren't appropriate unless you have good reason to do so. For instance, you probably don't want gillbeasts on your train. Gillbeasts like environments with a lot of moisture.
  • Use monsters only where they are effective and can move properly. It's annoying to have zombies constantly get stuck on the environment and make them more of a chore to clean up than actually fight.
  • Don't use monsters in massive environments where possible. This is more of a mapping guideline than monster specific, but Blood's monsters have a limited range of detection and aren't very effective in large open spaces.
  • Don't place cultists in areas in which the player has no cover. Cultists are precision perfect on Well Done and above and it's no fun fighting them while losing massive amounts of health and the player's skill having basically no impact in the exchange.
  • Don't place fanatics in large open spaces. Just don't do this. Nobody wants it.
  • Don't overuse cultists. These monsters are critical for any Blood map and for increasing difficulty for more adept Blood players, but their use needs to be fairly responsible as they quickly become oppressive in larger numbers. Only use a lot of them when you deliberately want a map to be tough, but do keep in mind that they readily make up at least about a third of the total monster count for a standard post-E1 Blood map.
  • Don't be too cheap: traps are part of Blood's DNA, but players will hate you if every second step they take leads to taking unavoidable damage from surprise cultists.
  • Don't be too predictable: repeat cultists around corners annoy players, try to keep mixing things up a bit where possible.
  • Be careful with choking hand placement: choking hands can be 1-shot kills on the player on certain setups on higher difficulties. Use responsibly.
  • Don't overuse bosses. Pretty obvious one, but it's not that enjoyable to constantly fight boss monsters. Use them sparingly.
  • Use monsters near water responsibly. Blood's monsters range from stupid, to frustrating, to straight up unfair when they're in water. Be careful when placing monsters near water access points.
  • Don't place monsters in inaccessible parts of the map unless you have very good reason to do so. Players like being completionists sometimes, and it's not fun when it's impossible to get a max kill score for a map. This is an even bigger problem these days where players can see their secret and monster counts on the UI on certain ports. Try let the player reasonably get 100% kills.
There are probably more that I've forgotten, but those general rules should get you started. It's a bit difficult to say regarding Blood's difficulty modes and it comes from experience in what feels right for difficulty, but as a very rough rule, Extra Crispy should have about 120% more monsters than Still Kicking (so a bit over double). As a general rule this should gently increment as one goes up in difficulty.

Weapon placement rules are a bit different depending on if a map is standalone or part of a campaign. As a standalone map, you can pretty much do anything you like. In a full on episode, you'll generally want weapons to be a little more gradual. Unless you specifically are looking to deviate from Blood, I'd suggest that you avoid giving too much ammunition. I am a little on the stingier side, which some players like, but a general rule is that on higher difficulties the player should be forced to switch between different weapons to survive due to having a lack of ammo.

Again, this is a bit hard to convey, but as long as the player has been given some spare dynamite and one or two weapons to choose between, they'll be happy. Blood never really starves a player for dynamite, so be sure to be a little bit generous with it.

Players like powerups, so don't be too shy to give them away. Do be mindful that their power increases the smaller the map is, and they can enable the player to easily skip half the map if they're given in key locations. Anyway, as long as you dish them out on occasion and not too frequently, that's fine. Obviously they are good candidates for secret areas.

Blocking ambient sound is impossible. What you can do is switch ambient sound on and off based on if the door is open, but that could have weird behaviours. I would generally say in this case that you rather not really bother too much with players being able to hear ambient sound. It's really not a big deal if players hear something strange where they're not supposed to. The alternative is having ambient sounds be small, which can lead to annoying sound 'popping' effects. As a general rule, bigger ambient sounds are a lot better than lots of smaller ones.
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 » Thu Mar 14, 2024 1:02 am

I've decided to leave the door as is since it's really not a big deal and most people probably won't care. If there's not an easy fix, I feel like it'll take a lot more time and energy than I'd like to put into just making a door stop flickering, and it isn't worth sacrificing the ominous feel of the room inside.

I've started adding enemies and weapons to the map, testing every so often to see how it plays out, and so far it feels pretty balanced on extra crispy. It's about what I'd expect and the ammo is just enough to get you by if you land your shots. I've only done a small portion of the map so far.

Your guidelines have been pretty helpful for figuring out enemy placement and difficulty balancing. I'll keep them in mind going forward.

I had a few questions I wanted to ask about various features for the level.
Most importantly, I wanted to make the doors to the boss room slam shut when you enter, only able to be opened again with the key the priest drops. I'm not sure if this is possible, but it would really add a lot to the fight.

I also want to make this level suitable for Bloodbath and Team gamemodes, so That would require things like adding player spawns, figuring out weapon placement, and making all areas of the map accessible. So far I've been making sure the weapons, enemies, and pickups don't appear in gamemodes outside of singleplayer and co-op. Speaking of co-op, I'll also need to add spawns for additional players. How can I go about doing these things? And if there's anything I missed, please let me know.

I've already added a couple secrets and I'll probably add a few more, but I haven't marked them as such. How can I mark secrets and super secrets?

I noticed in e1m3 there's a train chime/horn that sounds at the start of the level and then never again. I'm not sure where the sound sprite is or what the sound id is, but I can hear it at the beginning of the level and in preview mode. I was wondering if you could shed some light on this.

I think that's all for now. I may have forgotten something but I'll ask if it comes up. Besides what I've asked, the rest seems pretty cut and dry.

I plan to make this map the first of many in a larger episode, perhaps 10 maps or more. It'll take a lot of time, but I'd be very proud to say I created my own Blood expansion, so I'm invested in continuing this project. Eventually, that means I'd need to create an ini file for actually running the episode, possibly create cutscenes, and write a story for the episode. But those are problems for another day.
"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
RoosterMange
Still Kicking
Posts: 73
Joined: Sat Jan 20, 2024 9:37 am

Re: The Grand Mapedit Assistance Compendium

Post by RoosterMange » Thu Mar 14, 2024 1:48 am

Oh yeah, I just tested the map again and noticed that hitscanners can hit me through the roof of the cars even though the sprites have the blocking flag and there's no visible gaps. This leads to some unfair deaths if the cultists see me from below and I back up where I should be out of sight, but they're still able to shoot me from below.

Additionally, the cultists on top of the train cars only run in circles and have broken pathfinding, so they don't even attack unless I'm very close.

Edit: it seems thrown dynamite just falls through the roof as well. These rooftops are completely broken and I have no idea how to fix them.

Edit 2: Okay I've made it so cultists can't shoot through the roof by making the sprites hitscan sensitive, but they still try to shoot and I can see the little sparks fly from the bullet impact, but they can't actually hit me. They still somehow see me and start shooting, and thrown dynamite can still kill me if it hits the roof where I'm standing. So now it's a matter of preventing cultists from seeing through the roof to begin with.
"A punk rock song won't ever change the world, but I can tell you about a couple that changed me." -Pat The Bunny

Post Reply