Doom 64: Retribution

Projects that have specifically been abandoned or considered "dead" get moved here, so people will quit bumping them. If your project has wound up here and it should not be, contact a moderator to have it moved back to the land of the living.
Nevander
Posts: 2254
Joined: Mon Jan 06, 2014 11:32 pm

Re: [v1.1] Doom 64: Retribution

Post by Nevander »

JohnnyTheWolf wrote:Personally, I would prefer to have more ammo placed in places where it used to be really tight than to have the ammofactor increased across the board.
That would require editing every map to place new items on skill 6, and I prefer to keep the skill using Nightmare's skill placements. The new skill is done entirely with MAPINFO, there's no map integration.
JohnnyTheWolf
Posts: 1141
Joined: Mon Oct 05, 2015 8:37 am

Re: [v1.1] Doom 64: Retribution

Post by JohnnyTheWolf »

Maybe instead of being a half-assed difficulty level, Doomslayer! could be made into a separate addon? After all, it was not part of the original game and this way, it could be much easier to balance.
Nevander
Posts: 2254
Joined: Mon Jan 06, 2014 11:32 pm

Re: [v1.1] Doom 64: Retribution

Post by Nevander »

Someone on ModDB is really excited for the new episode, so I wanted to write out some kind of plot for the episode to bridge the games as best as I know how. Some of this may be canonically incorrect as I wrote this up literally right now. I will refine it and it will become the plot to the episode. If there is anything majorly wrong, please correct me and help me build the plot since I only played the new Doom one time and only listened to the testaments one time.
Directly after killing the Mother Demon, you travel through a deep ancient cave system and reach an ancient portal to another realm of Hell. It is in this realm where you come across many ancient and unholy structures and complexes of Hell, one of which is a castle home to the Night Sentinels and "the wretch." Inside this castle, you find and equip the Praetor Suit and continue your onslaught of preventing the Demons from ever rising again.

You exit the realm and return to the outermost layer of Hell. Upon reaching the outer layer, you come across the Relay satellite which sent the message that started the game. The satellite was brought into Hell itself and is still broadcasting a faint signal. To divert the UAC's inevitable attempt to enter Hell themselves to investigate, you go inside to disable it for good and guard the gates to Hell. However things aren't so simple.

Upon arriving at the gates to Hell, you discover the Demons are gearing up for another invasion. Thousands of Demons stand before you ready to invade Mars and Earth again, desperately seeking "retribution" for what the Doom Slayer has wrought upon their worlds. Only this time, the Demons realize they cannot defeat you with only their strength, and so they trick you. You wipe out hundreds of them before wandering into a sacred corridor. It's too quiet, no Demon in sight. Entering the room was the Doom Slayer's only mistake. A demonic spirit overcomes you, your power and strength are gone. Your weapons disintegrate, and you see only darkness. The Demons laid a trap, and your thirst for ending their lives was your downfall. Your armor is stripped, you are buried alive and sunken deep into a Demonic temple. Your armor buried beside you, you and it sealed into solid rock. The temple is demolished and collapsed over the Doom Slayer, and the Demons begin to rebuild their armies for their next invasion.

Cue DOOM 2016, in which the UAC re-enters Hell, discovers the temple, and bring you back to Mars. Not long after, the Demons discover the Doom Slayer is gone. UAC left behind their footprint, and Hell follows. The invasion begins and the Demons have no remaining choice. It's time, they have to kill you or you will awaken and end them all. The Demons still underestimate your ability. You awaken, and begin seeking Retribution on every living Demon in existence. Your blood boils with hate, and all Demons must die. Rip and tear!
JohnnyTheWolf
Posts: 1141
Joined: Mon Oct 05, 2015 8:37 am

Re: [v1.1] Doom 64: Retribution

Post by JohnnyTheWolf »

Nevander wrote:Inside this castle, you find and equip the Praetor Suit and continue your onslaught of preventing the Demons from ever rising again.
Does that mean the Retribution episode will be radically different from a gameplay perspective? :?
User avatar
ZikShadow
Posts: 518
Joined: Wed Jul 13, 2016 1:43 am
Location: Could be the chair, the floor, or the bed.

Re: [v1.1] Doom 64: Retribution

Post by ZikShadow »

Oooh, that might be interesting.
What I think would be an interesting mechanic is that when you pick up the Praetor suit, all the hands for all of the weapons change accordingly.
Could be difficult to implement though, the Praetor hand sheet isn't exactly plentiful (if it even exist).

Either that, or you start using D64-ed D4D weapons that have the green hands, that could work too.
User avatar
SiFi270
Posts: 436
Joined: Tue Feb 10, 2015 2:51 am
Location: Does anyone put a serious answer here?

Re: [v1.1] Doom 64: Retribution

Post by SiFi270 »

Will there be a battle against the Titan?
User avatar
Mav3r1ck
Posts: 262
Joined: Thu Jul 16, 2015 11:09 pm

Re: [v1.1] Doom 64: Retribution

Post by Mav3r1ck »

I noticed a problem with The Terraformer. It's about the machine outside that slams the ground to reveal the underground hallway. It doesn't slam all the way and the ground will lower before the machine slams it.

This is my code for my version.

Code: Select all

// Switch that activates terraforming machine
script 16 (void)
{
	//door closes behind player
	Door_Close(60, 128);
	
	Delay(8);
	
	//machine rises
	Floor_RaiseByValue (59, 16, 128);
	Ceiling_RaiseByValue (59, 16, 128);
	Floor_RaiseByValue (61, 16, 128);
	Ceiling_RaiseByValue (61, 16, 128);
    
	Delay(80);
	
	//machine slams and quakes
	Radius_Quake2(0, 3, 32, 0, 16, "weapons/rocklx");
	Floor_LowerInstant (59, 0, 32);
	Ceiling_LowerInstant (59, 0, 32);
	Floor_LowerInstant (61, 0, 32);
	Ceiling_LowerInstant (61, 0, 32);
	Floor_LowerInstant (57, 0, 4);
	Floor_LowerInstant (58, 0, 4);
	Floor_LowerInstant (69, 0, 4);
	
	Delay(2);
	
	//machine rises
	Floor_RaiseByValue (59, 16, 288);
	Ceiling_RaiseByValue (59, 16, 288);
	Floor_RaiseByValue (61, 16, 288);
	Ceiling_RaiseByValue (61, 16, 288);
	
	Delay(160);
	
	//machine slams and quakes
	Radius_Quake2(0, 3, 32, 0, 16, "weapons/rocklx");
	Floor_LowerInstant (59, 0, 40);
	Ceiling_LowerInstant (59, 0, 40);
	Floor_LowerInstant (61, 0, 40);
	Ceiling_LowerInstant (61, 0, 40);
	Floor_LowerInstant (57, 0, 4);
	Floor_LowerInstant (58, 0, 4);
	Floor_LowerInstant (69, 0, 4);
	
	Delay(2);
	
	//machine rises
	Floor_RaiseByValue (59, 16, 320);
	Ceiling_RaiseByValue (59, 16, 320);
	Floor_RaiseByValue (61, 16, 320);
	Ceiling_RaiseByValue (61, 16, 320);
	
	Delay(176);
	
	//machine slams and quakes
	Radius_Quake2(0, 3, 32, 0, 16, "weapons/rocklx");
	Floor_LowerInstant (59, 0, 44);
	Ceiling_LowerInstant (59, 0, 44);
	Floor_LowerInstant (61, 0, 44);
	Ceiling_LowerInstant (61, 0, 44);
	Floor_LowerInstant (57, 0, 4);
	Floor_LowerInstant (58, 0, 4);
	Floor_LowerInstant (69, 0, 4);
	
	Delay(2);
	
	//machine rises
	Floor_RaiseByValue (59, 16, 352);
	Ceiling_RaiseByValue (59, 16, 352);
	Floor_RaiseByValue (61, 16, 352);
	Ceiling_RaiseByValue (61, 16, 352);
	
	Delay(192);
	
	//machine slams and quakes
	Radius_Quake2(0, 3, 32, 0, 16, "weapons/rocklx");
	Floor_LowerInstant (59, 0, 48);
	Ceiling_LowerInstant (59, 0, 48);
	Floor_LowerInstant (61, 0, 48);
	Ceiling_LowerInstant (61, 0, 48);
	Floor_LowerInstant (57, 0, 4);
	Floor_LowerInstant (58, 0, 4);
	Floor_LowerInstant (69, 0, 4);
	
	Delay(2);
	
	//machine rises for a final time and stays
	Floor_RaiseByValue (59, 12, 384);
	Ceiling_RaiseByValue (59, 12, 384);
	Floor_RaiseByValue (61, 12, 384);
	Ceiling_RaiseByValue (61, 12, 384);
	
	//door behind player opens
	Door_Open(60, 16);
}
You have to factor in timing/delay, speed and the height between the floor and ceiling and work it just right to get the desired effect. You can change some values and use this code to complete it. :)
User avatar
leodoom85
Posts: 684
Joined: Sun Sep 14, 2014 6:40 pm
Discord: leodoom85#6202
Location: Earth-shaking Chile

Re: [v1.1] Doom 64: Retribution

Post by leodoom85 »

JohnnyTheWolf wrote:
Nevander wrote:Inside this castle, you find and equip the Praetor Suit and continue your onslaught of preventing the Demons from ever rising again.
Does that mean the Retribution episode will be radically different from a gameplay perspective? :?
I don't think so. That plot right there can say many things or be interpreted differently. But I hope that the new episode retain the same gameplay too...*fingers crossed :D*
JohnnyTheWolf
Posts: 1141
Joined: Mon Oct 05, 2015 8:37 am

Re: [v1.1] Doom 64: Retribution

Post by JohnnyTheWolf »

I am already highly sceptical of the idea of linking Doom 64 to Doom 2016, as their lore simply does not match and they have very different aesthetics.

To me, it feels like trying to make Super Mario Bros 3 fit into the same universe as the Super Mario Bros movie.
User avatar
isaacpop23
Posts: 143
Joined: Mon Apr 01, 2013 5:26 pm

Re: [v1.1] Doom 64: Retribution

Post by isaacpop23 »

JohnnyTheWolf wrote:I am already highly sceptical of the idea of linking Doom 64 to Doom 2016, as their lore simply does not match and they have very different aesthetics.
For the aesthetics, they were built on different engines for one. Though if that's not what you're talking about, we have no idea how long he was imprisoned in the tomb, so the way that the U.A.C. built things could have changed, and the demons could have tried to improve themselves to succeed.
As for lore, having played both games, I fail to see any contradictions to their lore. The only thing I can think of is the lack of an Unmaker in 2016.

I find that they mesh perfectly given the addition of the new episode. Which really didn't change the story of 64 *that* much.
Nevander
Posts: 2254
Joined: Mon Jan 06, 2014 11:32 pm

Re: [v1.1] Doom 64: Retribution

Post by Nevander »

JohnnyTheWolf wrote:Does that mean the Retribution episode will be radically different from a gameplay perspective? :?
Gameplay will always stay like Doom 64's gameplay.
ZikShadow wrote:Oooh, that might be interesting.
What I think would be an interesting mechanic is that when you pick up the Praetor suit, all the hands for all of the weapons change accordingly.
Could be difficult to implement though, the Praetor hand sheet isn't exactly plentiful (if it even exist).
This is something I'd love to do, but I don't know I'd do it. I don't know if I'd go to lengths to change the hands but I would like to change the player sprites in chasecam view. But first someone needs to make a sprite sheet of the suit.
SiFi270 wrote:Will there be a battle against the Titan?
I think the Titan that the lore refers to was the Mother Demon. "At some time after the Doom Slayer's defeat of the last Titan" immediately makes me think Mother Demon.
Mav3r1ck wrote:I noticed a problem with The Terraformer. It's about the machine outside that slams the ground to reveal the underground hallway. It doesn't slam all the way and the ground will lower before the machine slams it.

You have to factor in timing/delay, speed and the height between the floor and ceiling and work it just right to get the desired effect. You can change some values and use this code to complete it. :)
I'm not sure I follow what you mean. The crusher should be lowering to 1 unit above the floor, then the floor moves, the crusher raises and repeats. The sequence looks fine to me in-game, so I'm not sure what your differences are.

EDIT: Wait... your script looks like it was adapted from the old version I had sent you before. Here's my current one:

Code: Select all

// The crusher thing outside
script 2 (void)
{
	// Kill all who shall attempt to break the script (used for co-op compat)
	if(GameType() == GAME_NET_COOPERATIVE) Sector_SetDamage(6, 999, 0);
	
	// Close door behind player
	Door_Close(5, 64);
	Delay(35);
	
	// First movement, raise by 128, lower by 223, push ground 32 units down
	Floor_RaiseByValue(3, 16, 128);
	Ceiling_RaiseByValue(3, 16, 128);
	Floor_RaiseByValue(4, 16, 128);
	Ceiling_RaiseByValue(4, 16, 128);
	Delay(35 * 3);
	
	ThingSound(16, "world/whoosh", 64);
	Floor_LowerByValue(3, 255, 223);
	Ceiling_LowerByValue(3, 255, 223);
	Floor_LowerByValue(4, 255, 223);
	Ceiling_LowerByValue(4, 255, 223);
	Delay(6);
	
	ThingSound(7, "world/stronghit", 127);
	Radius_Quake(5, 20, 0, 64, 0);
	Floor_LowerByValue(1, 255, 32);
	Floor_LowerByValue(2, 255, 32);
	Floor_LowerByValue(6, 255, 32);
	Delay(10);
	
	// Second movement, raise by 287 to top, lower by 319, push ground 32 units down again
	Floor_RaiseByValue(3, 16, 287);
	Ceiling_RaiseByValue(3, 16, 287);
	Floor_RaiseByValue(4, 16, 287);
	Ceiling_RaiseByValue(4, 16, 287);
	Delay(35 * 5);
	
	ThingSound(16, "world/whoosh", 64);
	Floor_LowerByValue(3, 255, 319);
	Ceiling_LowerByValue(3, 255, 319);
	Floor_LowerByValue(4, 255, 319);
	Ceiling_LowerByValue(4, 255, 319);
	Delay(9);
	
	ThingSound(7, "world/stronghit", 127);
	Radius_Quake(5, 20, 0, 64, 0);
	Floor_LowerByValue(1, 255, 32);
	Floor_LowerByValue(2, 255, 32);
	Floor_LowerByValue(6, 255, 32);
	Delay(10);
	
	// Third movement, raise by 319 to top, lower by 351, push ground 32 units down again
	Floor_RaiseByValue(3, 16, 319);
	Ceiling_RaiseByValue(3, 16, 319);
	Floor_RaiseByValue(4, 16, 319);
	Ceiling_RaiseByValue(4, 16, 319);
	Delay(35 * 6);
	
	ThingSound(16, "world/whoosh", 64);
	Floor_LowerByValue(3, 255, 351);
	Ceiling_LowerByValue(3, 255, 351);
	Floor_LowerByValue(4, 255, 351);
	Ceiling_LowerByValue(4, 255, 351);
	Delay(12);
	
	ThingSound(7, "world/stronghit", 127);
	Radius_Quake(5, 20, 0, 64, 0);
	Floor_LowerByValue(1, 255, 32);
	Floor_LowerByValue(2, 255, 32);
	Floor_LowerByValue(6, 255, 32);
	Delay(10);
	
	// Fourth movement, raise by 351 to top, lower by 383, push ground 32 units down once more
	Floor_RaiseByValue(3, 16, 351);
	Ceiling_RaiseByValue(3, 16, 351);
	Floor_RaiseByValue(4, 16, 351);
	Ceiling_RaiseByValue(4, 16, 351);
	Delay(35 * 6);
	
	ThingSound(16, "world/whoosh", 64);
	Floor_LowerByValue(3, 255, 383);
	Ceiling_LowerByValue(3, 255, 383);
	Floor_LowerByValue(4, 255, 383);
	Ceiling_LowerByValue(4, 255, 383);
	Delay(15);
	
	ThingSound(7, "world/stronghit", 127);
	Radius_Quake(5, 20, 0, 64, 0);
	Floor_LowerByValue(1, 255, 32);
	Floor_LowerByValue(2, 255, 32);
	Floor_LowerByValue(6, 255, 32);
	Delay(10);
	
	// Final movement, raise back to top and stop
	Floor_RaiseByValue(3, 16, 383);
	Ceiling_RaiseByValue(3, 16, 383);
	Floor_RaiseByValue(4, 16, 383);
	Ceiling_RaiseByValue(4, 16, 383);
	Delay(10);
	
	// Change damage back if in co-op
	if(GameType() == GAME_NET_COOPERATIVE) Sector_SetDamage(6, 0, 0);
	
	// Open door so you can continue the map
	Door_Open(5, 64);
	Delay(1);
}
isaacpop23 wrote:The only thing I can think of is the lack of an Unmaker in 2016.
I'd like to imagine the Unmaker is a very rare weapon even in Hell. The UAC managed to find one and bring it to Outpost Omega for testing, and the others are located in Altar of Pain, Unholy Temple, etc. I bet Doomguy is pissed he lost it and the artifacts when he was sealed in the sarcophagus. I know I would be. Like when a bully takes your super cool toy.
User avatar
Mav3r1ck
Posts: 262
Joined: Thu Jul 16, 2015 11:09 pm

Re: [v1.1] Doom 64: Retribution

Post by Mav3r1ck »

Nevander wrote:
Mav3r1ck wrote:I noticed a problem with The Terraformer. It's about the machine outside that slams the ground to reveal the underground hallway. It doesn't slam all the way and the ground will lower before the machine slams it.

You have to factor in timing/delay, speed and the height between the floor and ceiling and work it just right to get the desired effect. You can change some values and use this code to complete it. :)
I'm not sure I follow what you mean. The crusher should be lowering to 1 unit above the floor, then the floor moves, the crusher raises and repeats. The sequence looks fine to me in-game, so I'm not sure what your differences are.

EDIT: Wait... your script looks like it was adapted from the old version I had sent you before. Here's my current one:

Code: Select all

// The crusher thing outside
script 2 (void)
{
	// Kill all who shall attempt to break the script (used for co-op compat)
	if(GameType() == GAME_NET_COOPERATIVE) Sector_SetDamage(6, 999, 0);
	
	// Close door behind player
	Door_Close(5, 64);
	Delay(35);
	
	// First movement, raise by 128, lower by 223, push ground 32 units down
	Floor_RaiseByValue(3, 16, 128);
	Ceiling_RaiseByValue(3, 16, 128);
	Floor_RaiseByValue(4, 16, 128);
	Ceiling_RaiseByValue(4, 16, 128);
	Delay(35 * 3);
	
	ThingSound(16, "world/whoosh", 64);
	Floor_LowerByValue(3, 255, 223);
	Ceiling_LowerByValue(3, 255, 223);
	Floor_LowerByValue(4, 255, 223);
	Ceiling_LowerByValue(4, 255, 223);
	Delay(6);
	
	ThingSound(7, "world/stronghit", 127);
	Radius_Quake(5, 20, 0, 64, 0);
	Floor_LowerByValue(1, 255, 32);
	Floor_LowerByValue(2, 255, 32);
	Floor_LowerByValue(6, 255, 32);
	Delay(10);
	
	// Second movement, raise by 287 to top, lower by 319, push ground 32 units down again
	Floor_RaiseByValue(3, 16, 287);
	Ceiling_RaiseByValue(3, 16, 287);
	Floor_RaiseByValue(4, 16, 287);
	Ceiling_RaiseByValue(4, 16, 287);
	Delay(35 * 5);
	
	ThingSound(16, "world/whoosh", 64);
	Floor_LowerByValue(3, 255, 319);
	Ceiling_LowerByValue(3, 255, 319);
	Floor_LowerByValue(4, 255, 319);
	Ceiling_LowerByValue(4, 255, 319);
	Delay(9);
	
	ThingSound(7, "world/stronghit", 127);
	Radius_Quake(5, 20, 0, 64, 0);
	Floor_LowerByValue(1, 255, 32);
	Floor_LowerByValue(2, 255, 32);
	Floor_LowerByValue(6, 255, 32);
	Delay(10);
	
	// Third movement, raise by 319 to top, lower by 351, push ground 32 units down again
	Floor_RaiseByValue(3, 16, 319);
	Ceiling_RaiseByValue(3, 16, 319);
	Floor_RaiseByValue(4, 16, 319);
	Ceiling_RaiseByValue(4, 16, 319);
	Delay(35 * 6);
	
	ThingSound(16, "world/whoosh", 64);
	Floor_LowerByValue(3, 255, 351);
	Ceiling_LowerByValue(3, 255, 351);
	Floor_LowerByValue(4, 255, 351);
	Ceiling_LowerByValue(4, 255, 351);
	Delay(12);
	
	ThingSound(7, "world/stronghit", 127);
	Radius_Quake(5, 20, 0, 64, 0);
	Floor_LowerByValue(1, 255, 32);
	Floor_LowerByValue(2, 255, 32);
	Floor_LowerByValue(6, 255, 32);
	Delay(10);
	
	// Fourth movement, raise by 351 to top, lower by 383, push ground 32 units down once more
	Floor_RaiseByValue(3, 16, 351);
	Ceiling_RaiseByValue(3, 16, 351);
	Floor_RaiseByValue(4, 16, 351);
	Ceiling_RaiseByValue(4, 16, 351);
	Delay(35 * 6);
	
	ThingSound(16, "world/whoosh", 64);
	Floor_LowerByValue(3, 255, 383);
	Ceiling_LowerByValue(3, 255, 383);
	Floor_LowerByValue(4, 255, 383);
	Ceiling_LowerByValue(4, 255, 383);
	Delay(15);
	
	ThingSound(7, "world/stronghit", 127);
	Radius_Quake(5, 20, 0, 64, 0);
	Floor_LowerByValue(1, 255, 32);
	Floor_LowerByValue(2, 255, 32);
	Floor_LowerByValue(6, 255, 32);
	Delay(10);
	
	// Final movement, raise back to top and stop
	Floor_RaiseByValue(3, 16, 383);
	Ceiling_RaiseByValue(3, 16, 383);
	Floor_RaiseByValue(4, 16, 383);
	Ceiling_RaiseByValue(4, 16, 383);
	Delay(10);
	
	// Change damage back if in co-op
	if(GameType() == GAME_NET_COOPERATIVE) Sector_SetDamage(6, 0, 0);
	
	// Open door so you can continue the map
	Door_Open(5, 64);
	Delay(1);
}
It was a pain in the arse to get the timing right and code this in. My coding tells the machine to move to the ceiling which is at a height of 384 and the floor at a height of -64. Now it moves at a rate of 16 tics as it's speed and the floor is timed to move downward 32 tics when the machine slams down.

Say for example, If had the machine moving at a speed of 32 tics. This would mean that when the machine slams the ground it will go below the floor before it's timed to move downward. This in turn causes the effect to mess up.

In Doom 64 ex, I had to watch real closely at the machine to replicate the effect. And I notice that the machine moves down super fast along with the floor instead of instantly like my version does.

This what I meant when you have to factor in the timing/delay, height and speed. I'm still kinda a novice myself when it comes to GZDoom Builder. So it didn't take long to notice that all of those are measured in tics. And thanks to some good math skills it helped a bunch. :D

And yes, this code is like your own. Though I made this one entirely from scratch.
User avatar
leodoom85
Posts: 684
Joined: Sun Sep 14, 2014 6:40 pm
Discord: leodoom85#6202
Location: Earth-shaking Chile

Re: [v1.1] Doom 64: Retribution

Post by leodoom85 »

I'd like to imagine the Unmaker is a very rare weapon even in Hell. The UAC managed to find one and bring it to Outpost Omega for testing, and the others are located in Altar of Pain, Unholy Temple, etc. I bet Doomguy is pissed he lost it and the artifacts when he was sealed in the sarcophagus. I know I would be. Like when a bully takes your super cool toy.
Doomguy IS already pissed off and losing an "ancient and powerful weapon of Hell" like the Unmaker...anyone who took the Unmaker will have a really bad time when Doomguy shows up :twisted:
User avatar
zrrion the insect
Posts: 2397
Joined: Thu Jun 25, 2009 1:58 pm
Location: Time Station 1: Moon of Glendale

Re: [v1.1] Doom 64: Retribution

Post by zrrion the insect »

The extra episode while cool, would work better as a level set for this instead of a build in aspect of this tc.
Nevander
Posts: 2254
Joined: Mon Jan 06, 2014 11:32 pm

Re: [v1.1] Doom 64: Retribution

Post by Nevander »

What do you mean?

Return to “Abandoned/Dead Projects”