Jump to content

E6M4 and beyond in Vanilla Heretic


plums

Recommended Posts

@P41R47 So first of all, I would highly discourage anyone from actually making maps for E6M4 and above. It's not compatible with Chocolate Heretic and probably other ports, it's exploiting a glitch that might have other unintended consequences, and there are some other obvious downsides. Besides that, you have 48 mapslots to work with that aren't glitchy -- surely that's enough right? My motivation for this thread is exploring how the engine was made, and some of the funny and interesting consequences of the coding.

 

With that said, yes, you could theoretically have an Episode 6 for Vanilla Heretic that has a whole lot of maps. Without hacking the exe, here's what I think the path for the maximum number of maps looks like. You have to create some extra FONTB entries like in xttl's wad on the previous page, but that's quite easy to do.

 

5: E6M1 - M5. E6M6 is accessible but is very crash-prone if you use the automap, so let's exclude it, especially since E6M7 always crashes.

E6M6 is fine as long as you exit to E6M9 afterwards, so...

 

6: E6M1 - M6

1: M9, by taking the secret exit from E6M6

1: MT, by taking the normal exit from E6M9

6: MU to MZ

4: M[ M\ M] M^

24: MA - MS

(7): MT through MZ again. They're the exact same maps as the first time, so let's not count them again.

4: M{ M| M} M~

1: M(del)

128: Extended ASCII characters, E6M(128) to E6M(255).

32: Control characters, E6M(0) to E6M(31). E6M(0) is actually just "E6M".

17: M(space) M! M" M# M$ M% M& M' M( M) M* M+ M, M- M. M/ M0

 

And then we're back to E6M1. So that's a total of 223 224 unique maps in an episode. Would you call that a gigawad?

 

I think there probably aren't even 223 224 user-made maps for Vanilla Heretic in existence :p

 

Downsides apart from likely weird bugs, and all the stuff I listed above:

* Not in the episode list.

* No map names.

* No music at all after E6M6, even the in intermission screen.

* No ending: you can never reach E6M8! And even if you could I'm sure it would just crash.

* Can't warp to maps above E6M3 with cheat codes or the -warp parameter.

* Maybe other things!

 

Edited by plums

Share this post


Link to post
2 hours ago, plums said:

I think there probably aren't even 223 user-made maps for Vanilla Heretic in existence :p

https://www.doomworld.com/idgames/levels/heretic/

I counted 229 PWADs in the /{CHAR}-{CHAR}/ subfolders (skipping over /deathmatch/ and /Ports/). Now it's possible that some of them are not actually for vanilla and there's also at least one that's just a graphic replacement, without level; but at the same time there are some that contain multiple levels. I think on the whole the 223 count is probably reached, especially if you add the deathmatch levels.

Share this post


Link to post
3 hours ago, plums said:

@P41R47 So first of all, I would highly discourage anyone from actually making maps for E6M4 and above. It's not compatible with Chocolate Heretic and probably other ports, it's exploiting a glitch that might have other unintended consequences, and there are some other obvious downsides. Besides that, you have 48 mapslots to work with that aren't glitchy -- surely that's enough right? My motivation for this thread is exploring how the engine was made, and some of the funny and interesting consequences of the coding.

 

With that said, yes, you could theoretically have an Episode 6 for Vanilla Heretic that has a whole lot of maps. Without hacking the exe, here's what I think the path for the maximum number of maps looks like. You have to create some extra FONTB entries like in xttl's wad on the previous page, but that's quite easy to do.

 

5: E6M1 - M5. E6M6 is accessible but is very crash-prone if you use the automap, so let's exclude it, especially since E6M7 always crashes.

1: M9, by taking the secret exit from E6M5

1: MT, by taking the normal exit from E6M9

6: MU to MZ

4: M[ M\ M] M^

24: MA - MS

(7): MT through MZ again. They're the exact same maps as the first time, so let's not count them again.

4: M{ M| M} M~

1: M(del)

128: Extended ASCII characters, E6M(128) to E6M(255).

32: Control characters, E6M(0) to E6M(31). E6M(0) is actually just "E6M".

17: M(space) M! M" M# M$ M% M& M' M( M) M* M+ M, M- M. M/ M0

 

And then we're back to E6M1. So that's a total of 223 unique maps in an episode. Would you call that a gigawad?

 

I think there probably aren't even 223 user-made maps for Vanilla Heretic in existence :p

 

Downsides apart from likely weird bugs, and all the stuff I listed above:

* Not in the episode list.

* No map names.

* No music at all after E6M5, even the in intermission screen.

* No ending: you can never reach E6M8! And even if you could I'm sure it would just crash.

* Can't warp to maps above E6M3 with cheat codes or the -warp parameter.

* Maybe other things!

 

Wow, pal! this is amazing!

i wonder if Heretic's devs at Raven wanted to use those maps.

Maybe they thought that it could be possible that Heretic had more updates after SotSR with new maps.

Because if it is in the code, it hints something, right?

Share this post


Link to post
2 minutes ago, P41R47 said:

i wonder if Heretic's devs at Raven wanted to use those maps.

No.

 

2 minutes ago, P41R47 said:

Because if it is in the code, it hints something, right?

It hints of insufficient bugfixing, but everyone has deadlines to meet so stuff like this is always missed.

Share this post


Link to post
5 minutes ago, Gez said:

No.

 

It hints of insufficient bugfixing, but everyone has deadlines to meet so stuff like this is always missed.

hahahah! well maybe thats a reason, but with this kind of evidence, we can't be sure.

The three extra maps e6m1 - e6m3 that are dm only, always smelled weird to me.

Why end the proper story of the game at e3, and then add two new episodes?

Maybe there was a plan for a proper e6 that rounded up and ended the story of Corvus, but with the deadline soo near, they didn't had the time to complete it.

Share this post


Link to post
1 hour ago, Gez said:

https://www.doomworld.com/idgames/levels/heretic/

I counted 229 PWADs in the /{CHAR}-{CHAR}/ subfolders (skipping over /deathmatch/ and /Ports/). Now it's possible that some of them are not actually for vanilla and there's also at least one that's just a graphic replacement, without level; but at the same time there are some that contain multiple levels. I think on the whole the 223 count is probably reached, especially if you add the deathmatch levels.

OK fine, there are enough maps to fill a giant buggy Vanilla-only Episode 6. Hooray. ;)

 

(But actually it's kind of nice to know that Heretic didn't get quite as neglected as I had thought.)

37 minutes ago, P41R47 said:

hahahah! well maybe thats a reason, but with this kind of evidence, we can't be sure.

All evidence really does point to the E6 maps being a sort of half-baked, half-tested addition. It's not so much that these maps are "in the code," so much as that they're possible because the code isn't really done properly. Otherwise they would have at least assigned proper music tracks to E6M4 and up.

 

It's like... say you had a one-way street, but the law that enforced it was that the front of your car always had to point in one particular direction on the street. Technically, someone could legally reverse all the way down the street, but not because that's what they're supposed to do, but because the law isn't very good. It's kind of the same thing here, where what you can do is clearly different from what you're meant to be able to do.

 

Anyhow in an interview, Michael Raymond-Judy, main level designer for Heretic, said that he would have pushed "to have a lot more maps, and make the retail version include about 8 episodes" if he could redo it, so they might have had ideas about making more levels. But I'm quite sure it wouldn't be like this.

Edited by plums

Share this post


Link to post

I don't know if this is anything significant but I've noticed 3 things whilst looking through other people's posts and with me messing around some more:

1 - I don't get the "XXX XXXX" thing with the map names, all map names for me are completely blank

2 - when running the latest version of this ep 6 bug, Dosbox version 0.74-3 crashes when I finish E6M4 with the draw patch error yet 0.72 loads all the way to map E6M6 then crashes (trying to find map " " which is odd since delete exists? or it looking for NULL?)

3 - Is there nay maps beyond E6M"del" since after finishing that one I seem to just enter a map with a blue rectangle and then I keep re-entering that map (if there is a cap, how many more loops will I need to make?).

 

EDIT:

Oh and if anyone's curious: No, chocolate Heretic instantly crashes when you finish E6M3 with either exit.

Edited by DynamiteKaitorn

Share this post


Link to post
48 minutes ago, DynamiteKaitorn said:

1 - I don't get the "XXX XXXX" thing with the map names, all map names for me are completely blank

You only get Xs on a few maps, and only when you load the FONTB.wad that xttl posted on the first page. Loading this wad will also fix your crashing in DOSBox 0.73. The map name it's trying to show uses characters that aren't in heretic.wad, so xttl made that wad with more character entries. The new entries are all just the 'x' graphic though, so that it was easier to make.

 

Quote

2 - when running the latest version of this ep 6 bug, Dosbox version 0.74-3 crashes when I finish E6M4 with the draw patch error yet 0.72 loads all the way to map E6M6 then crashes (trying to find map " " which is odd since delete exists? or it looking for NULL?)

When you load those maps, the map name is just pointing to somewhere essentially random (but always the same place) in the program, since they were never defined properly in the source code. It's possible that differences in DOSBox versions affect where in memory that Heretic is looking to find the map name, and that the name found with 0.72 isn't using undefined characters. I'm not sure what the new error is, but it could be a lot of things; E6M7 has an invalid music track assigned, so if you get a W_GetNumForName error that's what that is.

 

That different versions of DOSBox produce different results is interesting; it means actual DOS will maybe do something different, and different versions DOS might even behave differently.

 

Quote

3 - Is there nay maps beyond E6M"del" since after finishing that one I seem to just enter a map with a blue rectangle and then I keep re-entering that map (if there is a cap, how many more loops will I need to make?).

 

It's actually different map entries, they just all look the same because they're copied-and-pasted with no changes. I got tired of drawing the map names in the maps so I just used the blue rectangle for the rest of them :)

 

If you go through 128 maps, you loop around to E6M(null), at which point Heretic may have done something interesting in memory because the level counter digit overflowed, but also maybe not. E6M(null) still doesn't look any different than the other blue-rectangle maps. If you go through another 49 maps, you'll end up back at E6M1, except things are slightly different because of wrapping around, so E6M4 won't crash without FONTB.wad, for example. There is going to be a limit to how many times you can loop around through the entire set, but I'm not sure what it is and it could be very large before something totally breaks; going through 224+ maps was enough for me!

Edited by plums

Share this post


Link to post
  • 1 year later...
On 6/26/2020 at 2:44 AM, plums said:

Anyone have a real DOS computer going that wants to try?

Hi! I have a real oldschool rig running MS-DOS and a copy of Heretic 1.3. I'd be curious to test this out and see what (if anything) is different compared to the results in DOSBox. 

Share this post


Link to post

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...