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 Jan 21, 2024 1:31 am

Thanks, Daedalus, you make the process sound a lot simpler than I thought it would be.
So, what I'm getting is that I need to create a large, rectangular environment for the outdoor portion of the map, which makes sense. Then, I can texture it, add bushes and other misc environmental details to make it look like a real place which the train is moving through. So far, seems simple.
I'm a little confused what you meant by adding a track sector. would that just be a long, thin rectangle with a texture on it? I assume that would turn into a red sector since it'd be inside the large rectangle previously mentioned. If that's the case, that makes sense as well.
What concerns me most is building the individual cars, as I'm not sure how I could make them white sectors or if I'd have to build the walls out of red sectors. That part seems like it'll be the most confusing to me and I think I'll need the most help with that portion.

I'll extract the Phantom Express map and take a look at it to see if it answers some of my questions and maybe even gives me some inspiration. For now, I'll go ahead and make the outdoor environment since it seems like something I'd be able to do with my current understanding of xmapedit. I'm trying to keep my map as compatible as possible and completely vanilla, so I hope that would translate to standard mapedit procedures.

Edit: The sky parallax texture cycle command (ctrl+alt+p) that all the videos and guides say to use is wrong. All it does is pull up the palette menu, so I'm not sure how to change the sky texture.

Edit 2: I manually found a red sky texture for the parallax sky in the texture menu, still bummed I can't cycle through skies like the tutorials claim but it's an okay solution for now. I managed to get the sides of the map to slope up like in Phantom Express, but the map geometry is really weird at the corners and the front/back (short edges of the long rectangle) so I haven't been able to get rid of the walls there. It ruins the illusion of being outdoors and every time I've tried to get rid of them, it messes up the map geometry in one way or another.

Thanks again
Attachments
image_2024-01-21_015752205.png
image_2024-01-21_015752205.png (213.85 KiB) Viewed 897 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: 307
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 Jan 21, 2024 12:36 pm

Your understanding of what I meant by "track sector" is correct. It would just be a rectangle in the middle of the area somewhere in which you make the texture change on the floor to something more appropriate to serve as train tracks.

I can't speak on that feature of supposedly cycling through parallax textures, but there are three skies in retail Blood: 2500, 3491 and 3678. Making any of these parallax will produce a cool sky. I believe it is possible in newer versions to have multiple different skies in a map, but I'd advise against this unless you're attempting something very strange and are confident in it (it's not supported in retail Blood, though).

Your recent picture and troubles, as well as your concern regarding the individual train cars being 'white' or 'red' is warranted, because that begins to touch on a more difficult aspect of mapping that would be exhaustive to go into in full detail, but I will try keep things brief for now and perhaps we can delve deeper if you continue to struggle.

First, since it ties into it, let's start with your specific issue in your image. Every sector has a height. Parallax sectors are unique in that their walls that connect to another sector with a parallax ceiling, if viewed from another sector with a parallax effect, will be 'invisible' as part of the illusion. This then can lead to a powerful trick whereby you can create a ceiling which is 'touching the floor', i.e. the height of the floor and ceiling will be the same, which will create a plane, or in this case, an 'endless horizon', which is what you're after.
The trick is that you need to create a dedicated extra little sector where you want that endless horizon to be. In your example, you would want to create a rectangle where you see that sky. I will produce a mockup for you.

Here is what you've currently got:
00.PNG
00.PNG (27.84 KiB) Viewed 887 times
What you will need to do is create a dedicated sector on the perimeter of your environment. This sector effectively has no gameplay functionality whatsoever, but will serve as our technique for creating that horizon you're after:
01.PNG
01.PNG (13.04 KiB) Viewed 887 times
Connect it as you see in the image and then, in 3D mode, lower its ceiling so that it's making contact with the floor. It doesn't have to be exactly the same height, but it will look neatest if you do so. An easy way to accomplish this is to stand in the sector, point at the ceiling and hit ALT + PAGE UP and set the height to zero. This will look bogus if you're in the sector in 3D mode, but step out of it and you should have your lovely horizon that you're after:
02.PNG
02.PNG (30.87 KiB) Viewed 887 times
A sky texture on a wall will never work or accomplish anything and I'd advise against ever placing sky textures as walls unless in extreme edge cases where you want a peculiar visual. Walls, of course, cannot have a parallax effect.

Now moving onto your concern regarding the train itself. I will try answer this as effectively as I can without writing a small book, but as a general rule, walls or structures should be 'red' sectors when you want the player to traverse through, above or under them. You can easily make a 'red' sector building, but if you want Caleb to be able to run across the 'roof', you will quickly find that you will then need to make a roof, which you of course cannot do with just a ceiling texture. The solution? Sprites. In every case where you want the player to be able to enter a building's interior and be able to run on the roof, you will have to use sprites unless you create very clever illusions using teleporters/sector links/sector stacks, which is really advanced content and I'd advise against looking into those for now.
The problem with sprites, of course, is that you have far less control over their shape, and so generally you will need any roof to be square or rectangular if you want to use a sprite solution. It can quickly become cumbersome to make multiple roofs out of sprites, and Blood loves looking for any excuse to cause rendering issues with sprites, so it is something you need to plan carefully.

In your example, I would start with making a cart or three for the train which have white walls, meaning their walls will match the chosen ceiling level of your sector, and then experiment with one which is red and which Caleb can traverse both 'over' or through in gameplay. That would be a good experiment and practice session for seeing how it all works.

Remember that all sectors have individual ceiling heights, and as we've discussed, parallax can be used to mask the effect of ceiling heights being different, as in our example above, but I would strongly advise caution and resist temptation in trying to adjust neighbouring ceiling heights with a parallax effect just to achieve the visual effect and illusion of height difference you're after until you've established an understanding of them; it is tempting and on the surface easy to try and craft something clever in an exterior environment by playing with differing heights of adjacent parallax ceiling sectors, but there is a hidden price to pay for it. A parallax ceiling that is lower from the player's viewpoint than those behind it will, as part of its illusion, obscure whatever lies behind it. This means, for example, that if you have a tall building that the player tries to see from a sector with a lower ceiling with a parallax effect, the building will magically 'disappear' where there is no clear line of sight between the sector you're in and the sector with the building in. Remember, parallax is an illusion and is not a tool to solve the problem of differing heights and visibility between sectors! That sky isn't real and just because it looks like a sky, you won't be able to see something in the next area just because the sky is present there as well. The illusion is your gift to the player and it's your responsibility as a mapper not to fall for it yourself while mapping, as that leads only to trouble!

As a final note, when you invariably begin working in areas with some measure of complexity and multiple sectors which contain parallax skies inside, I strongly urge, either until you're happy with all of it, or just to be safe, that you 'unparallax' the skies on occasion to get a sense of where ceilings really are. Mistakes can happen, and because of the illusion it becomes very difficult to see what sector ceilings look like in reality. You never know: that innocent crate might just have a wildly different ceiling height from the rest of your environment, which can cause some ugly visuals.

This has probably been quite a lot to go through, but you've touched on a more advanced area, and this information will reveal itself to you as you continue to progress, so if it doesn't make sense at this point, it may do so later. Hopefully it helps.
Let me know how things go and remember to make frequent backups.
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 Jan 21, 2024 2:18 pm

I struggled a bit at first with that parallax trick, but I finally got it working and I have a nice railroad going as well. Now I'm not so sure how to make white sectors within a larger white sector, but I'm planning to make them all red anyhow. I'm just hoping the tracks don't cause any conflict with the rail cars as I try to build them.

I'm still somewhat in the planning stage of things, but I have a lot of ideas for how I want this level to progress. I want this map to have a wild west feel to it, and it might even be part of a larger western episode down the line. For now, I want Caleb to start off seated in a passenger car with his trusty shotgun on a table in front of him since I imagine he'd always have it by his side and it'd be the first weapon he'd reach for in a pinch. The door to the front of the train is locked, and the only way he can get to the engine is by fighting his way through to the very back of the train where the key will be (possibly dropped by a priest/beast, maybe not. Either way I'll be including a red cultist). At some point along the way, a locked door or some other obstacle would force Caleb to jump on top of the train using crates or some other object, facing tommy gun cultists in a rooftop showdown. I also wanna include a flat car carrying barrels of tnt for a cool explosive set piece allowing access back into the train before he reaches the back. After getting the key, it all comes down to getting to the engine and blowing up the train.

I'll practice a bit with the design for the train cars and see if I can figure out how to build the basic passenger car. I'll definitely be using a sprite for the roof or maybe even make a prefab so I can reuse it. I took a look at the Phantom Express but I didn't really understand it in all honesty. I'll look at it some more later. Here's some screenshots so you can see how my design is looking so far.

All the best
Attachments
Screenshot 2024-01-21 055419.png
Screenshot 2024-01-21 055419.png (252.79 KiB) Viewed 884 times
image_2024-01-21_055741565.png
image_2024-01-21_055741565.png (7.48 KiB) Viewed 884 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: 307
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 Jan 21, 2024 3:53 pm

Your plan sounds good and this is looking good so far. A danger I see is that your track (and environment) are very 'thin', which means that you either need to adjust their width if you want it to be more 'realistic', obscure how thin the track is or accept it as is (essentially having cars that are much wider than the track). Scale is an extremely important skill in Blood that even some better mappers don't get right and it greatly detracts from the quality of the experience. You don't want things being claustrophobic or unnecessarily large.

To create a 'white' sector in the middle of a sector, you likely know this, but just hitting spacebar and completing a shape will make it first come out as 'white', but what I think you're actually missing based on your explanation is that something you can do is move the cursor over a 'red' sector and press CONTROL + DELETE, which will then 'convert' a 'red' sector into a 'white' one. What you would do, for example, is draw rough outlines after inserting points connecting to your railway and then use the command above to make them 'white'. It'll make sense after a bit of practice, I reckon. Remember that hitting INSERT on a wall will put a new point on it.

A word of caution (which just about everything carries in Mapedit): it can be tempting to make everything 'red', since it gives a sense of control, but it would be good to establish the habit early on of leaving sectors 'white' which are perfectly okay to be 'white'. Making a sector 'red' as a crutch would be a bad habit to develop, because it carries with it a cost in resources, complexity and increased risk. 'White' sectors are your friend. They're dependable and inexpensive, and a sector should only be made 'red' deliberately if you want the player to traverse it or be able to see over/through it.

Let me know how it goes and good hunting.
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: 307
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 Jan 21, 2024 4:12 pm

Addendum to the above. Here is a screenshot from Phantom Express which might get your gears spinning.
.
03.PNG
03.PNG (23.8 KiB) Viewed 875 times
Notice how the train primarily consists of white sectors making up the outer walls, while the interior, which you traverse, and windows, are red sectors. This is good and efficient design.
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 Jan 22, 2024 2:23 am

I based my track design off of Phantom Express but I forgot to add that cobblestone path the tracks are on, making it look thinner. Now I think it looks better. I see your point about relying on red sectors, but at the same time I wanna give the player the ability to jump on top of all the cars or at least most of them. Maybe the engine car could be a white sector since I don't see a reason for the player to need to get up there, or want to for that matter. I noticed that the train cars in e1m3 are more like houses or rooms, making direct contact with the ground and obscuring the track. So the track itself essentially ends where the train begins, which relieves my concerns regarding the track and cars conflicting. I'll start off making the engine car a white sector, then I'll move on to red sectors and see if I can get a car that you can go through and on top of. I assume the physical layout would look the same as in the image, just with red lines rather than white, and a sprite roof with the blocking flag to allow traversal. I'll update you soon once I've made some more progress.

edit: I build a white sector outside the large sector and then moved it inside, but it didn't appear in 3d mode. I think I'll have to cut off the tracks before building a sector. I'll experiment further to see what works.

edit 2: Here's some updated pictures, I seem to have figured out how to get a basic engine car built. It still needs work, but at least I got it working and I can clean it up from here. This whole process is very abstract for me but I'm getting there.

edit 3: I got the front car looking pretty snazzy and I just need to add sprites to it and do the interior. I'm not so sure how to add sprites to a wall, and the coal car might be a challenge, but I'll see if I can find any info on that.
Attachments
image_2024-01-21_212357581.png
image_2024-01-21_212357581.png (145.09 KiB) Viewed 812 times
Screenshot 2024-01-21 194444.png
Screenshot 2024-01-21 194444.png (122.83 KiB) Viewed 822 times
Screenshot 2024-01-21 194429.png
Screenshot 2024-01-21 194429.png (163.25 KiB) Viewed 822 times
image_2024-01-21_194518086.png
image_2024-01-21_194518086.png (5.88 KiB) Viewed 822 times
image_2024-01-21_181520758.png
image_2024-01-21_181520758.png (214.12 KiB) Viewed 832 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: 307
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 Jan 22, 2024 8:16 am

Looks like it's coming along, good stuff! To add a sprite to a wall, simply point to the wall and hit 's'. Again, I will stress that making ceilings out of sprites can be quite challenging and require planning, but you will experience those dangers soon enough as you continue mapping.

And yeah, you can't/shouldn't really build sectors outside of others and drag them in except in very advanced/unorthodox use cases. 95% of the time you should build from out to in, because that's Mapedit's way of knowing which sectors are nested inside of others. Messing with that order can lead to very evil glitches.
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 Jan 22, 2024 10:52 am

I've made some good progress on the engine car and I added the coal car. Now comes the fun part; building the main cars Caleb will be fighting through. This car is gonna have a roof to traverse as well as an interior, but a couple questions came up while planning this.

For one, I haven't built a door before so I'm not sure how to get that double sliding door for the engine, or a single sliding door for each car. I could probably find the answer for this in a guide, so I'm not terribly worried about that part.

What I am unsure of is how to add windows to these train cars when the walls will be red sectors. That part is gonna be tricky since I don't think it's possible to put that gap into a red sector the same way you would for a white sector. I may have to use sprites for that effect, but I'm gonna try to avoid it if I can.

If it's possible, copying and pasting a couple passenger cars would save a lot of time and effort.

I also noticed Phantom Express has the seal of Tchernobog in the engine room, but it's invisible to the player. I was wondering how the level exit activates when you blow up the train, since I'll be using a similar method as per the rules of vehicle levels.

Similarly, how do the switches work? One needs to be flipped to disable the failsafe and unlock the other two switches near the furnace to overload it.

Here's some screenshots of my current progress:
Attachments
Screenshot 2024-01-22 022956.png
Screenshot 2024-01-22 022956.png (13.08 KiB) Viewed 784 times
image_2024-01-22_024711789.png
image_2024-01-22_024711789.png (144.8 KiB) Viewed 784 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: 307
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 Jan 22, 2024 11:59 am

Looking good!

You've asked quite a few questions this time and some of them begin to touch on more advanced aspects of map creation. Creation of doors is an art unto its own. I'm unsure of how helpful the guides might be in that regard, but let me know if you run into difficulty (or are feeling lazy and just want it explained by me), as doors can be complicated and confusing.

Under normal circumstances, a window would simply be a case of a raised floor and a lowered ceiling, but here you are beginning to touch on some of the challenges tied to not having the luxury of surrounding white walls. In your case you will have to raise the floor and then construct an artificial wall above the window area out of sprites.

The seal of Tchernobog you see in Phantom Express is for multiplayer modes in which you fight other players. As a general rule, Bloodbath and Team play need exit level switches. The seal you see is invisible when playing single player or coop, because Phantom Express has a special level ending condition in single player and the player never interacts with the seal.

Your final question then touches on the supreme power of Mapedit - its trigger system. Mapedit is very powerful, but as with all things powerful, there are numerous ways in which to screw things up. Very broadly speaking, Phantom Express has a locked switch which receives an unlock command from an invisible combination switch which listens for the two 'failsafe' switches to be pulled.

Explaining the trigger system would require that I type out a manual. In your case, I think it would be productive to move forward until you run into a situation that requires it, after which we can walk through it. I would otherwise just be drowning you in theory at this point.

A word of warning: I see that your ceiling of your engine car is a bit low. You are going to run into difficulties with height with you begin to try building cars that Caleb can run on top of.
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 Jan 22, 2024 12:47 pm

Thank you for the warning, I unparallaxed the ceiling and realized it was uneven and there wasn't enough space, so I evened it out and raised it higher.

I'd very much appreciate an explanation on doors, mainly double and single sliding doors since that's likely all I'll need for this map.

For the walls above the windows, I'm thinking of making a prefab to make it simpler to do multiple windows. How do I save multiple sprites together as a prefab? A lot of the commands in guides seem to be wrong, I've noticed.

Hopefully I haven't asked too many questions, I tend to learn better when speaking to someone directly like this.

I wouldn't have gotten this far without your help, thank you.

Here's how the first car is looking so far. I'll probably do the windows before the roof so I can finish it off with that final piece. I'm unsure if the doors will work in these red sectors, but hopefully they'll be able to.
Attachments
image_2024-01-22_054201659.png
image_2024-01-22_054201659.png (268.76 KiB) Viewed 755 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: 307
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 Jan 22, 2024 4:55 pm

Yeah, parallaxed ceilings can be treacherous for sure. Removing the parallax effect always reveals the trickery taking place.
I don't know if 'prefab' is a formal term or function used by XMapedit or not, but to accomplish what you're after in Mapedit, you would hold RIGHT SHIFT and drag with your mouse until you've encompassed all the sprites you would like with the square which appears when you do so. Be careful to avoid selecting wall points/vertices while doing so, because they will otherwise be dragged along when you try move your copied objects. When you have drawn your square or rectangle around the sprites you would like to copy, release RIGHT SHIFT and you will see that the sprites are now flickering. This effectively means that they're "selected". Mouseover one of the flickering sprites and press INSERT to copy the sprites. Mapedit will perform a rare courtesy in this case and you will have copied all the sprites you selected while maintaining your selection of the sprites. You can then click and drag your sprites to where you would like them to be. Be careful when doing so to be sure that you don't make multiple copies of the sprites, since there is no actual indicator of such and you could easily have multiple copies of sprites on top of each other, which is wasteful.

I think in the case of doors it would be better to use illustrations, since some of the instructions would quickly become complicated if sticking to only text. For now, let's start with the single sliding door, since that is the easier use case, and you can sink your teeth into that until you're happy with it and we can then move onto the double doors. Note that there may be better or smarter ways to go about it, but this is how I do it. There are a few different ways to achieve the desired result, but as long as yours ends up looking like this, it's fine.

Doors are a complicated business, so buckle up for a complicated explanation that'll hopefully set you on the path of making good sliding doors.

To start with, you will probably have a structure similar to what I've made below. Let's assume that these are two rooms and that there's a corridor between them that will contain our door. The structure of this is obviously a little strange, but I have designed it this way for illustrative purposes:
.
04.PNG
04.PNG (7.59 KiB) Viewed 740 times
Next, insert two points in the corridor with the INSERT button. These should be where your door is going to intersect with the wall. I've named these point 1 and 2, because we are going to be performing some movement with these later that would require a book to explain if we were using only text and no illustrative guide.
.
05.PNG
05.PNG (7.95 KiB) Viewed 740 times
This is where things begin to get a little complicated, but don't worry, I'll go through it slowly. Pull points 1 and 2 away from the rest of the wall and make some space between them. Don't worry about lines looking a bit weird or even crossing over other lines at this point. Crossing lines and such is only a bad idea if you leave them in that state when the map is saved, but it's perfectly okay to move things all over the place if you intend to modify them and then move them back, like we'll be doing here. You don't have to make things resemble the shape I've made below, which is again for illustrative purposes - your ultimate goal is to create 6 individual points on the wall. This will serve as the structure for your door.
.
06.PNG
06.PNG (9.2 KiB) Viewed 740 times
Drag points 1 and 2 back to where you originally created them. This will have the scary result of having some of your lines overlapping each other. This is almost always a bad idea to do in Build, but this is a rare exception in which we intend to do so. Walls overlapping each other in this way is an advanced tool and is best avoided, since it won't be used 99% of the time in maps, but doors are one of those rare exception cases in which it's acceptable.
.
07.PNG
07.PNG (8.74 KiB) Viewed 740 times
Next, leave points 1 and 2, the original indicators of your door position, where they originally were. Forget about them. Points 5 and 6 in the illustration must now be moved so that they indicate where you would want your door to stop moving if the player were to open it. As a convention, open sliding doors in Blood almost never line up with the wall exactly, so you generally won't want to put those points on top of point 1 and 2. In this case, 5 and 6 make the door "jut out" slightly when it is open. Points 3 and 4 will never be seen by the player, and these are simply the extent to which the door reaches inside of the wall. The length of the wall between 3 and 5, and 4 and 6, i.e. the "front" and "back" of the door should generally be the length of area which the door covers. In this case, you will see that the door's extent covers four "blocks" on the grid, which is correct, since that is the width of the passage as well. If your door is too short, there will be a strange "stretching" effect when it moves. If your door is too long, it will be difficult to texture properly.

The good news is that at this point we've finished with setting up the structure of your door, but at this point you've just got a strange wall piece that sticks out and extends into the wall. Time to move onto the nuts and bolts to transform this into an actual door.
.
08.PNG
08.PNG (9.22 KiB) Viewed 740 times
At this point I've discontinued the numbering, since we won't need it any longer. The green in this illustration was not added by me, but rather by Mapedit itself. What I've done is mark those particular walls for motion. To mark anything for motion in Mapedit, you need to mouseover it and press 'K'. This will alternate between 'foward' (blue) and 'backward' (green) motion. 'Forward' and 'backward' can of course have variable contexts, and so it can at times be complicated to grasp what exactly those mean, but generally the path of least resistance is to just run a map and see how things play out. In this image, I have marked the walls of the door as green so that they know that they'll be moving. Don't worry that it looks like one full length of the door is green and the other is only partial - that is just a result of Mapedit's way of rendering lines. As long as it looks similar to what I have below, it's sufficient. Marking things for motion doesn't automatically mean that they'll move, but rather it makes them receptive to commands that they should move, which is what we'll be moving onto next.
.
09.PNG
09.PNG (7.77 KiB) Viewed 740 times
Now for the more exciting stuff. In this case you will want an action from the player to cause the door to open. Of course, the best way to do this is to generally just have them use the use key on the door. What this means in a practical sense is that if your player presses their use key on any of the walls which belong to the door, it must open (or close). This is where things can become complicated, and I won't add large amounts of detail to what is already a long post, but for now I will briefly instruct you as to what should be done and what it all means.

Point with your cursor to one of the green walls which now make up your door. Press ALT + F6. This shortcut will bring up the fancy dialogue box below. This is very powerful and intricate, but what we want to do is fairly simple. In short, do the following:
Set the TX ID to 100. This is the unique identifier so that we know what these walls are communicating with. We haven't yet made anything listen for this number, but will do so shortly. They'll hook up no matter which order you create them in. Think of it as 'transmit command 100', like Order 66 in Star Wars.
Next, set the command (CMD) to "3: Toggle". This is the type of command which we are transmitting to the door. Toggle means that it will alternate between "ON" and "OFF" commands. Functionally, whenever we hit the use key, we are telling the door to move to the state it's not currently in. (If it's open, close. If it's closed, open).
Next, for send when, mark both going ON and going OFF. This is basically the wall's internal state. It means that it'll communicate with the door repeatedly when you keep using it, because it itself is going on and off (though with no visual feedback).
Finally, for trigger on, you will want to check the "push" checkbox, which means it will only send the message when the player uses their use key on it.
Press ENTER to commit your changes.

Quite a mouthful, but very powerful and fun to play with. If you are feeling overwhelmed, as long as you copy exactly what's shown in the image, you'll be fine. Note that you will have to do the above for all three walls the player can push! They will all have the same parameters in place.
.
10.PNG
10.PNG (17.21 KiB) Viewed 740 times
Next, we need to actually have something listen for the command telling the door to open or close. In Mapedit, this is done via giving a command to a sector. Press ALT + F5 while your cursor is in the sector which contains your door and a very similar dialogue box will appear as the one you saw for the wall. Again we are presented with a lot of options, but we don't need that many of them. For our purposes, try the following:
Set the type of sector to 614: Slide Marked. This indicates what you want your sector that's listening to actually do. In this case, we are telling the marked objects to slide. What's marked? Why, our walls from before, of course!
Set the RX ID to 100. This is now matching up to your TX ID 100 from before. The walls of your door are now directly communicating with the sector, telling it to perform the slide action.
Now, in the OFF -> ON and ON -> OFF sections, you are able to dictate the timing of your door. 10 of these units makes up a single second. A time of zero will basically make a door teleport, while a time of 255 will take forever to open or close. You will almost never use 255. The busytimes here indicate that the door will take a second ("10") to both open and close, which is a fairly good time for a door of this type. "waitTime" is a powerful tool which in this case translates to how long it will take for the door to close after it's been opened. 90% of the time in Blood, doors close by themselves as a convention, so it's a good habit to form adding a wait time. A wait time of 60 means it'll take 6 seconds before the door closes by itself. This is probably okay for a door of this type, but sometimes you might want that time to be a bit longer.
Press ENTER to commit your changes.
.
11.PNG
11.PNG (16.64 KiB) Viewed 740 times
Now, there is one very last thing we need to do. We have as yet provided no instruction to Mapedit as to where exactly we want this sliding action to take place. When you added the parameters to the sector a moment ago, something new appeared: a little set of indicators which allow us to dictate this. They'll be on top of each other to begin with, but that's okay. Drag them to copy roughly what I've shown below and this will then command your door where to move from and to.
.
12.PNG
12.PNG (5.61 KiB) Viewed 740 times
Finally, at long last and for all this effort, with perhaps a little tweaking you will finally have a lovely little door working for you. There are lots of areas to polish, such as textures, sound and exact behaviour, but the functionality is all in place and your door is ready to dazzle your player.

As a final note on this for now, as suggested, what I created above was purely for illustrative purposes, so dimensions and sector complexity were a bit on the strange side. While it is useful sometimes, you won't always use an entire, huge sector just to make a small object move, though doing so is perfectly okay. Usually a door will have its own little dedicated area (such as a doorway). In more formal instances, your door will end up looking a bit more like this:
.
13.PNG
13.PNG (11.88 KiB) Viewed 740 times
You have not asked too many questions and I have infinite patience for all things Blood. Let me know how you proceed and when next you are ready for more.
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 Jan 23, 2024 2:38 am

I successfully made a working slide door with sound effects. The door itself is a bit tall due to the circumstances, so I think I'll build an artificial wall out of sprites to cover the top area. I assume a double slide door uses the same process but with 2 doors using the same signal?

At any rate, I'll be able to make the single sliding doors for the standard passenger cars. I'll start doing the windows once I finish those, and then I'll finish it with the roof.

For now, I'm gonna build that second door and add some wall sprites to cover up the excess at the top.

I'd like to note that the double sliding door will require a key to unlock, and I'm not yet familiar with how to implement that. That can be done down the line once I add in the priest/beast that will drop the key. For the time being, this car will be my main focus until it looks like the perfect starting point for the level, with Caleb seated near a window with his shotgun at his side and a cultist a few seats ahead facing away from him serving as a plot point for why Caleb would start fighting through the train. I like to imagine Caleb didn't know there were cultists on the train until after it took off, and the level starts with him noticing a cultist who hasn't yet noticed him. Perhaps even a voice line would play to really solidify that. I hope all that would be possible once I finish the scenery.

edit: I've run into a bit of a roadblock with the sprite work. There's no way to pan the texture of a sprite, I can only change the size of the sprite and distort the texture in the process, or move the sprite around. So now I'm not sure if there's a way to get the wall above the door to match the rest of the wall. Not to mention I'd still need to add a sprite inside the doorway to connect the wall sprites and make it look like a 3d wall.

edit 2: After a lot of fiddling around, I have a nice looking train car but again it looks like the sprite work is gonna be the biggest obstacle. The area above the doors need wall sprites, the area above the windows will need wall sprites, and of course the roof will need to be made from sprites that all look somewhat cohesive. I'm still looking into ways to pull it off, but I think the textures are the biggest issue right now.
Attachments
image_2024-01-22_213252937.png
image_2024-01-22_213252937.png (214.67 KiB) Viewed 683 times
image_2024-01-22_183757977.png
image_2024-01-22_183757977.png (55.82 KiB) Viewed 702 times
Screenshot 2024-01-22 181009.png
Screenshot 2024-01-22 181009.png (109.88 KiB) Viewed 702 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: 307
Joined: Sun Dec 30, 2018 12:27 am
Location: The Hall of the Epiphany
Contact:

Re: The Grand Mapedit Assistance Compendium

Post by Daedalus » Tue Jan 23, 2024 8:10 am

This all looks and sounds good to me. Your assumption is correct regarding the double doors. The trick there is that you would do pretty much the same as what I describe above, except you would create a door on the opposite side as well, which is marked in blue rather than green.

There is unfortunately not terribly much I can say regarding sprite use that will help you. The simple fact is that sprites are limited in their capabilities and it is difficult to make them fit nicely with existing level geometry to form the illusion you're attempting. Retail Blood almost never uses sprites to fake geometry for good reason. It is not impossible, but it is difficult and takes a lot of tweaking. It is likely, also, that your sprite work above the door will have the door clip through the sprites visually and not look quite right.
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: 307
Joined: Sun Dec 30, 2018 12:27 am
Location: The Hall of the Epiphany
Contact:

Re: The Grand Mapedit Assistance Compendium

Post by Daedalus » Tue Jan 23, 2024 8:14 am

Perhaps something I can say regarding sprite work is that if you limit the width of your openings in your walls (windows) to 512 or 1024 units, it can make for more comfortable texture matches to sprites. This is just one of the reasons that scale is important in Blood. Another solution is to use a different texture above the windows, but sometimes that can look strange and not be satisfactory.
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 Jan 23, 2024 8:47 am

How can I measure the units on a wall? I assume it's not the same as the squares on the grid since those seem like very large numbers for the grid. I think I can tolerate the texture being different above the windows as long as it's something that matches relatively close.

As for the door, the clipping wouldn't be an issue as long as it cuts off at the perfect spot on the texture so it looks as if the door ends where the door frame begins. If not, that'd be a significant obstacle. I don't really know of another possible way to have train cars I can run on top of, so I'll have to make it work somehow.
"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