header general

[UPDATE] Allied Marines Pack (2022 Update)

  • DBJ87
  • DBJ87's Avatar Topic Author
  • Wicked
  • Wicked
More
2 years 2 weeks ago - 2 years 2 weeks ago #1 by DBJ87
Name: Allied Marines 
Difficulty: Easy-Hard (If you disable Friendly Flag or enemy raises. They are intended to help the Player) 
Connection: Doom, Ally Marines, Cooperative Gameplay in Single Player 
Summon: Ally"xx" (Punch, Pistol, Machinegun, Chaingun, Shotgun, Minigun, Chainsaw, Plasmagun, RocketLauncher, BFG9000, SSG, Railgun, Bombardier, Grenadier, BFG10K, Flamethrower, Sniper, SonicRailgun, AutoSG, Hellstorm, QuadSG, FreezeRifle, Pistol2, RiotShield, Unmaker, Jetpack, Tank) 
Melee: Melee Marine (Punch & uses a Charge attack) & Chainsaw Marine. 
Distance: Hitscan, Projectile, Explosive, Railgun, Seeker, Fire. 
Type: Human, Marines, Allies.
Submitted by: DBJ87 
Decorate Created by: DBJ87 
Palette: PNG Palette 
Brightmaps: Yes 
Sprites: ID Software, DBJ87, Mark Quinn, Anthony Cole, Xim, CaptainToenail, FuzzballFox, Alando1, Skulltag Team, Scalliano, Logan MTM. 
Sprite Edit: DBJ87 
Brightmaps Edit: DBJ87 
SFX: Custom, That_One_Doom_Mod, Doom3, CthulhuCultist, Tormentor667, Skulltag Team, Eriance, Raven Software, Rise of the Triad, Xim's Marine Pack, Doom64, 3D Realms 
Idea Base: Own Idea, yuraofthehairfan (Colour Blending & Captive Marines)

 [Description] 
27 Allied Marines with extensive behaviour changes including shooting, reaction timing, movement speed & parameters, tracking & targeting as well as a Large Arsenal of weapons to assist the Player. Also includes Captive Marines & Colour Blend templates to increase diversity as Allies or additional Enemies. 

UPDATE 16/06/22 
- Additional sounds added including a crushed state splatter like the PS1/N64 versions of Doom had. Gorey fun for all! 
- Template added that has all default stats which allies inherit. Flags, Speed, Pain Chance modified with each Marine. This reduces decorate   space & allows easier navigation.
Warning: Spoiler!

- Original 17 Marine Actor Names (summon/spawning) renamed for better reference. 
- Heat Seeking Missile & Grenade Launcher users renamed to Bombardier/Grenadier. 
- +7 new & +3 marines previously cut from original submission added (see below). 
- Decorate updated for several marines for more attack versatility. 
- Updated INFO with information on new marines. 
- GLDEF updated w/ the new Decorate Changes. 
- Sprite alignment centre point checked over, tweaked if needed. 
- Freeze Rifle Decal added   **Other Changes to original submission** - Gib Death threshold increased from -30 to -50 HP
Warning: Spoiler!

- Fist Marine has a fast combo attack to add stacking damage. 
- Railgun Marine Damage boosted from 50 to 100, to 80 to 100. 
- Ammo drops tweaked for marines using explosives to drop a box of rockets, except Rocket Launcher Marine obviously. 
- Flamer Marine shoots up to 3x Vanilla Mancubus' "Fat Shot" as an extra attack. Will jump to default Flame Blanket if enemy closes in during Missile state. 
- Custom SFX for Flamer Marine's Fat Shot. Origin unknown. Used in Meta Doom as well as many other WADs, author not made clear on Meta Doom, most recently downloaded user of set sound. (Help to get correct credits before updating online submission)

New Marines: 
History? See Spoiler.
Warning: Spoiler!


**New Marine Info (2022 New Recruits)**
//Sonic Railgun: AllySonicRailgun 
A sniper that fires vollies of railshots similar to Chaingunners. Will also charge up the railgun to discharge a more powerful railshot. 

//Auto Shotgun: AllyAutoSG 
Fires rapid Shotgun blasts up to 8x before a quick reload. Very useful for mowing down weaker enemies while stalling bigger enemies such as Arachnotrons or the Mancubus who flinch almost every time a hitscan attack pops them.

//HellStorm Cannon: AllyHellstorm 
Only attacks at mid-range. Fires 8 cluster bombs dealing huge damage to all that's in his range.
Will try to avoid targets early as they close in.

//QuadShotgun: AllyQuadSG 
Fires either 4 tight spread & very accurate shotgun blasts in quick succession. 
Or just unloads all 4 in a huge blast each attack dealing more damage than other Shotgun based marines. 

//Freeze Rifle: AllyFreezeRifle 
Similar to Plasma Marine except projectiles fired will deal Ice Damage & freeze targets when killed.
Stay near him to shatter his frozen kills so he will swap to a nearby fresh target quicker.

//Dual Pistols: AllyPistol2 
2 Pistols, 2 attacks (3x Burst shot or a long-range pop-shot) & twice the damage output.

//Riot Shield: AllyRiotShield 
A Pistol user with extra protection! The Riot shield dramatically reduces his speed but he has +25% extra health (Total 250) & is resistant
to a majority of enemy attacks ("Normal" damage, dealt by the majority of Vanilla enemies).
Attacks like the other Pistol Marines & will charge enemies at close range, bashing them w/ his shield until they knock him back or either is killed, melee damage stacks fast but it's not going to wipe out Hell Knights upwards quickly.

//Unmaker: AllyUnmaker 
Where this guy got this weapon from(?), you don't care! As long as he's on your side, you've got a devastating force
fighting for you! Fires an extremely accurate hitscan attack for massive damage or unleashes a volley or railshots
after a brief charge. Just pray he's not killed near an Archvile...

//JetPack: AllyJetpack 
Starts off as a typical dual wielding pistol user but after seeing his first hostile target a jetpack is equipped & this marine adds
aerial assistance! If killed whilst in flight, he cannot be revived but this marine is very hard to hit even with hitscan attacks.

//Tank: AllyTank 
Deployed in a very heavily armoured tank, this unit can take a lot of damage! 
Wielding heavy machineguns & rocket launchers, it offers an unbelievable amount of heavy firepower!
But the Tank will crush anything destroyable in its way and yes, that includes you!
It's large size also makes deploying it in small maps or sectors unadvisable. Best saved for softening up the higher tier Demons.

**New Marine Credits** 
Sonic Railgun (originally cut from 2017 submission*) 
Sprites: Id Software, Xim 
Sounds: Id Software, Eriance 
Idea Base: Auto SG Zombie by Scalliano 
Brightmaps/GLDefs: DBJ87 
Warning: Spoiler!
Auto SG 
Sprites: Id Software, Scalliano, Xim (Auto SG Zombie) 
Sounds: Id Software, Eriance 
Idea Base: Auto SG Zombie by Scalliano 
Brightmaps/GLDefs: DBJ87

Hellstorm Cannon 
Sprites: Id Software, Unknown* 
Sounds: Id Software (Doom), Epic Games, The Funktasm 
Idea Base: Hellstorm Cannon by Ghastly Dragon 
Brightmaps/GLDefs: DBJ87 
Warning: Spoiler!
 Quad SG 
Sprites: Id Software, Logan MTM (Quad SG Zombie) 
Sounds: Id Software (Doom & Doom 3
Idea Base: Quad SG Zombie by Ghastly Dragon & Quad Shotgun by DBJ87 
Brightmaps/GLDefs: DBJ87Freeze Rifle 
Sprites: Id Software, Xim (Freeze Rifle Zombie) 
Sounds: Id Software (Doom), TheDarkArchon (Freeze Rifle SFX) 
Idea Base: Freezer Zombie by Xim 
Brightmaps/GLDefs: DBJ87 

Dual Pistol (originally cut from 2017 submission*) 
Sprites: Id Software, Mark Quinn 
Sounds: Id Software (Doom & Doom 3
Idea Base: Dual Pistol Zombie, Pistol Marine 
Brightmaps/GLDefs: DBJ87 
Warning: Spoiler!


Riot Shield
Sprites: 3D Realms, Id Software, Mark Quinn (Shotgun & Pistol Marines), DBJ87 
Sprite Edit: DBJ87 
Sounds: Id Software 
Brightmaps/GLDefs: DBJ87 
Idea Base: Own Idea*, Doom 3 
Warning: Spoiler!


Unmaker (originally cut from 2017 submission*) 
Sprites: Id Software, Xim 
Sounds: Id Software, Raven Software 
Brightmaps/GLDefs: DBJ87 Idea base: Unmaker Zombie by Xim. 
Warning: Spoiler!
 Jetpack Sprites: Id Software, 3D Realms 
Sounds: Id Software, 3D Realms (Duke Nukem 3D) 
GLDefs: DBJ87

Jetpack
Sprites: Id Software, 3D Realms
Sounds: Id Software, 3D Realms (Duke Nukem 3D)
GLDefs: DBJ87
Idea Base: Jetpack Zombie by Captain Toenail & Ghastly Dragon

Tank 
Sprites: Id Software, 3D Realms 
Sprite Edit: DBJ87 
Sounds: Id Software, 3D Realms 
GLDefs: DBJ87 
Idea base: Zombie Tanks by Enjay.
 https://imgur.com/gallery/u8SVxpk
[img

Download
Last edit: 2 years 2 weeks ago by DBJ87. Reason: Layout correction & updated comments in spoiler for Riot Shield Marine

Please Log in or Create an account to join the conversation.

  • DBJ87
  • DBJ87's Avatar Topic Author
  • Wicked
  • Wicked
More
2 years 2 weeks ago - 2 years 2 weeks ago #2 by DBJ87
Replied by DBJ87 on topic [UPDATE] Allied Marines Pack (2022 Update)
Aware that a new preview image is needed. I just thought I'd get the nitty-gritty up so everyone can have a look at the bulk of changes & additions.

It's been a very long time since I'd submitted anything (last submission was the Insanity Sphere) so format etc is very fuzzy. Hopefully the new marines add some extra variety after the Tank & Jetpack Marines sparked some interest.
Last edit: 2 years 2 weeks ago by DBJ87. Reason: Updated comments with more detail

Please Log in or Create an account to join the conversation.

  • inkoalawetrust
  • inkoalawetrust's Avatar
  • Moderator
  • Moderator
More
2 years 1 week ago - 2 years 1 week ago #3 by inkoalawetrust
Replied by inkoalawetrust on topic [UPDATE] Allied Marines Pack (2022 Update)
Alright, there's quite a few issues here, so I'll just make a list of them.

Code issues:
  1. The submission rules on the site have changed since the last time you put up this resource on the site. Now only PK3 archvies are allowed (Since Realm667 is already a ZDoom repository anyway.). So the resource should be repackaged in a PK3, I would also suggest organizing the sprite sets for each marine into subfolders such as "Sprites/Riot Shield" and "Sprites/Jetpack" etc. And to maybe also change the sounds to use proper file names instead of 8 character ones, since archives support that.
  2. Is this resource intended to work with Zandronum ? It uses anonymous functions in a few places, so I'm guessing not, in which case, it should probably be converted to ZScript, since DECORATE has been deprecated for 5 years now, and the indentation also changed to use TAB spaces . If it's not meant for Zandronum, it would also allow for some of the suggestions I'll make later in the list.
  3. All the marines have a separate patrol state in which they wander around,  since all the different versions of that state just do "(sprite name) AABBCCDD 3 A_Wander", you can just add a generic patrol state on the main marine class, and use a #### sprite name . Also, since you are using anonymous functions already, you could just put both A_Wander and A_Look in one state. Also also, a custom patrol state is arguably not even needed, as actors already have an optional native Idle state .
  4. In addition to the above, the patrolling mechanic doesn't actually work, because by default friendly monsters just follow the player they are assigned to, even when calling A_Wander(). If you aren't concerned with Zandronum compatibility though, you could give the marines the DONTFOLLOWPLAYERS flag I added to GZDoom 4.8.0 , to make them actually wander around. However that may be annoying for using them as player allies in particular, so you may also have to make a way to toggle the marines between following and not following the player. Which I could help with.
  5. Making the marines enter their patrol state the moment they lose sight of the player is not that good of an idea IMO, especially since it makes them immediately begin wandering (Or rather, following the player like mentioned above.) when no player is seeing them, even if fighting enemies. And in the case of the tank also causes an awkward sound loop when it loses sight of you, by going to the parking and then moving states constantly. that makes it sound like it's malfunctioning.
  6. The NOTAUTOAIMED flag screws with the info console command, and makes it impossible for players to get info relating to specific marines. In addition, ZDoom's autoaim already avoids hitting the players' allies. So this flag is not needed.
  7. The riot shield marines' attack is kinda weird and overpowered, riot marines begin doing their melee attack the moment their target is in melee range. But when they do their melee, it does a rapid amount of damage, which is weird, and also arguably makes the riot marines way more powerful as melee NPCs, since their melee attack is so much faster and more devastating than their pistols. Plus, since their melee range is so low, they don't really have time to do their charging attack to the enemy, so in practice they just stick to their target until it magically dies.
  8. The tanks' melee damage is very overpowered, the tank can currently kill an unarmored player with full health in only a second, by just approaching you. Which is at least in my opinion in a ridiculously large and unfair amount of damage for it to do, especially for such a visually small vehicle.

Sound and visual issues:
  1. The BOSS flag is not needed to produce a radio effect. You can do the same thing using the $attenuation command in SNDINFO for the marines' sounds.
  2. Weapons like the sonic railgun seem to have their sounds cut off when firing too fast, this is probably because the sounds don't have $Limit 0 in SNDINFO.
  3. The jetpack marines' visual effects are very awkward, when he is initially placed, he uses the normal dual pistol marine sprites, so when he begins flying, the jetpack just kinda pops up on his back, in addition, the jetpack has no visual effect when running like smoke or flames coming out, which is kinda odd. And when the jetpack marine is killed, the blood effect that spawns as he falls is incredibly awkward and weird.
  4. The riot shield marines should have a proper bashing animation, currently when they do their melee attack, they just kinda put their shield in front of their target and begin doing ridiculous amounts of damage by sticking on it.
  5. Tank currently has no actual moving animation, which causes it to propel itself around without visual moving at all, which looks very weird. It should have at least one moving frame to loop through when moving around.

Also, this is more of a subjective thing and my opinion, but using the riot tank sprites from Duke Nukem for tanks is kinda overdone in Doom mods, and we've already got a few resources here that use reskins of them. So using another sprite set like Brutal Doom's tank sprites would be more original. It would also allow for visually justifying how the tank has both an explosive and hitscan attack, despite currently having no cannons to shoot shells or rockets from, and it could also visually justify making the tank bigger (And why it can even run over things.), and justify giving it something like 1200-2000 health. As currently it's not that distinct from the rest of the marines, and doesn't even have more than twice the base health that the main marine class has, despite being a tank. It's basically just a marine with two extra attacks right now.
So using BD's tank sprites could make it a lot more distinct and actually tank like. However, you would need to merge the turret and chassis sprites together (Since making the turret and chassis independent of each other would obviously be much harder to code.), and you would also need to make animations for the tank blowing up, and also firing its' minigun and cannon.



If you need help with any of these, then I can help you. Not if you decide to use the BD tank sprites and can't make new sprites of it though, since I'm not much of an artist.
Last edit: 2 years 1 week ago by inkoalawetrust.

Please Log in or Create an account to join the conversation.

  • DBJ87
  • DBJ87's Avatar Topic Author
  • Wicked
  • Wicked
More
2 years 1 week ago - 2 years 1 week ago #4 by DBJ87
Replied by DBJ87 on topic [UPDATE] Allied Marines Pack (2022 Update)
Thanks for the feedback.
Full roster is in PK3 format so easily sorted & hopefully will make things better organised. Very basic knowledge in 2017 & sadly I don't consider myself any more experienced with it now. Have no idea how to set up with ZScript format for custom actors, mentioned this in the Advanced Ally Marines thread & was told it wouldn't be a problem to submit the decorate version. I'd have updated the original 17 to ZScript years ago if I could've gotten to grips with it then, but found it extremely confusing. Meant for GZDoom, never used Zandronum. I had considered just removing "Patrol state" given how useless it is, will do that.

Sound issues I can easily fix.
Jetpack Marine was copy/paste Zombie version decorate but the death is going to be overhauled, exploding into gore chunks instead. Adding the Jetpack to set marine before deployment is something I had planned but never got around to doing.

Riot Shield Marine was intended to just bash enemies but setting up the animation for that was proving difficult, but I do agree that it needs changing as the current melee attack was a bit rushed to finish & it's just a ridiculous attack.

Was hoping to keep the tank as it is but understandable why it needs a revamp. So will change it & remove the hitscan attacks just leaving it firing a slightly more powerful rocket based attack at a much slower rate so it's not going to wipe out Bosses in seconds.
Last edit: 2 years 1 week ago by DBJ87.

Please Log in or Create an account to join the conversation.

  • inkoalawetrust
  • inkoalawetrust's Avatar
  • Moderator
  • Moderator
More
2 years 1 week ago - 2 years 1 week ago #5 by inkoalawetrust
Replied by inkoalawetrust on topic [UPDATE] Allied Marines Pack (2022 Update)
Directly converting actors to ZScript is fairly easy to actually do, the hard part is that it just gets tedious when you have to do it for many DECORATE actors, here's the base ally marine class converted to ZScript in about 3 minutes by me, with comments on the specifics of converting DECORATE to ZScript . Converting just the base class itself to ZScript is also acceptable, DECORATE actors can inherit from ZScript ones, just not the other way around, and doing so would also allow you to keep the marines' patrol states by just copy and pasting this code to the marines' base class, in a separate block outside Default{} or States{}:

Code:
    //This function is called by actors any time a player presses the use key on them.     Override Bool Used (Actor User)     {         Super.Used (User); //Run any of the other code inside the base Actor class first.                  //Only run the code if the player that used the marine is friendly to him. (Useful for deathmatch, where friendly monsters can work for different players.)         If (IsFriend (User))         {             //The marine isn't set to not follow players already.             If (!bDontFollowPlayers)             {                 bDontFollowPlayers = True; //So make him stop following the player.                 A_StartSound ("somesound"); //Can also play a sound cue or something if you want.                 Return True; //Marine was used.             }             //If the marine already isn't following the player anymore.             Else             {                 bDontFollowPlayers = False; //So make him start following the player again.                 A_StartSound ("somesound");                 Return True; //Marine was used.             }         }     Return False;     }


This will make all the marines (Except the tank) able to switch between following and not following the player when wandering,. any time you press the use key on them.

Of course, you can also just not convert the code to ZScript at all (Although like I said previously, DECORATE is very much obsolete.), in which case I just ask that you fix up the indentation of the code.

As for the riot shield marines, you could use the melee attack animation of Project Brutality's riot shield sergeants as a reference. Here's a ZIP file with those attack sprites.

Also, when you say that you will change the tank and remove the hitscan attack, do you mean that you will be changing it by doing just that, or that you will also be making more changes to it like changing the sprites to the ones from BD or something ?
Last edit: 2 years 1 week ago by inkoalawetrust. Reason: Forgot to add returns to Used().

Please Log in or Create an account to join the conversation.

  • DBJ87
  • DBJ87's Avatar Topic Author
  • Wicked
  • Wicked
More
2 years 1 week ago - 2 years 1 week ago #6 by DBJ87
Replied by DBJ87 on topic [UPDATE] Allied Marines Pack (2022 Update)
Thank you for breaking down the ZScript format, I'm more than happy to covert everything to ZScript, if I can get it done for this then I'll update my other submitted Monsters to ZScript in due time too.

Hopefully the tank will be remade using the Brutal Doom tank sprites, if permission is granted*.

I do see why another Duke Nukem based Tank isn't appealing, there's 3 enemies with it & the tank firing rockets & using heavy machineguns as 2 separate attacks doesn't look right (alongside the buggy movement), it can wipe out crowds too easily & for it's size it's "crush" was unreasonable & overpowered.

*(If permission granted by SGTMK_IV, which is very unlikely**) The Tank will be set up with your suggested stats for health. Health will be set to 1800, keeping enemies like the Cyberdemon a decent threat still when a tank which (looking at the sprites again & seeing the minigun, so that will stay) can potentially deal more damage than it is slowly making it's way through everything.

**Other alternative is to stick with the Duke Nukem 3D model, fix the movement sprites, remove crush damage & dramatically reduce the firing rate of both attacks or remove rocket attack altogether... or for the sake of simplicity, remove the tank from the submitted update & just stick with humanoid allies.
Last edit: 2 years 1 week ago by DBJ87. Reason: Updated comments with more detail

Please Log in or Create an account to join the conversation.

  • inkoalawetrust
  • inkoalawetrust's Avatar
  • Moderator
  • Moderator
More
2 years 1 week ago - 2 years 1 week ago #7 by inkoalawetrust
Replied by inkoalawetrust on topic [UPDATE] Allied Marines Pack (2022 Update)
Alright, I asked SGTMKIV about the sprites themselves, and you can use them as long as you provide credit.



Also I forgot to mention this, but in the two sprites I put together, I got the turret and chassis to match in size by making the latter 150% large.

And also, I had made a mistakes with the code for the Used() virtual, which I've fixed now in the previous message.
Last edit: 2 years 1 week ago by inkoalawetrust.

Please Log in or Create an account to join the conversation.

  • DBJ87
  • DBJ87's Avatar Topic Author
  • Wicked
  • Wicked
More
2 years 1 week ago - 2 years 6 days ago #8 by DBJ87
Replied by DBJ87 on topic [UPDATE] Allied Marines Pack (2022 Update)
Thank you (seriously thank you, self-confidence is a huge problem, nerves make or break a lot of ideas, reaching out to people for help or advice in the past hasn't always ended well).

Started the PK3 format, current sprites added will be getting the ZScript for all done first before moving on to the changes to Jetpack Marine, Riot Shield & Tank.

The next update for here will be after the ZScripts are added so they can be checked over & tested alongside the sound issue's hopefuly being fixed & I'll be giving the Jetpack Marine a standing Spawn/Missile/Pain/Death sprite set before taking flight (So Jetpack on his back is not appearing out of nowhere, standing missile is last resort in retaliation to pain) as well as a new death sequence, exploding jetpack leaving a gory mess so he still can't be raised but removes the buggy Jetpack Zombie sequence of events.

While next update is on here I'll be working on the Riot Shield melee attack sprites & once that attack's given the OK, the Tank finally gets a much needed overhaul. So upcoming updates until work gets started on the Tank will have the Duke 3D tank in ZScript but just firing it's machineguns instead of alternative attacks & crush damage being available.
Last edit: 2 years 6 days ago by DBJ87. Reason: Updated reply with more detail on upcoming plans for this project's timeline

Please Log in or Create an account to join the conversation.

  • inkoalawetrust
  • inkoalawetrust's Avatar
  • Moderator
  • Moderator
More
1 year 11 months ago #9 by inkoalawetrust
Replied by inkoalawetrust on topic [UPDATE] Allied Marines Pack (2022 Update)
Has there been any more progress on this submission ?

Please Log in or Create an account to join the conversation.

  • DBJ87
  • DBJ87's Avatar Topic Author
  • Wicked
  • Wicked
More
1 year 11 months ago #10 by DBJ87
Replied by DBJ87 on topic [UPDATE] Allied Marines Pack (2022 Update)

Has there been any more progress on this submission

Very slowly, have been dealing with a few personal issues since posting (not relevant to go into detail). ZScript set up but not tested yet for Base (that everyone inherits basic stats from) Fist & Pistol Marines it's proving a bit confusing to get set up & because I've not tested anything yet not sure if it's done right yet. Not sure if I've taken on more than I can handle alone opting to update this. Not helped that I've not worked with ZScript format for actors before, only getting used to some of the extra exploits it offers in maps (especially for multi switch puzzles or chain of events segments)

Intend on using the simple script shared above to replace Patrol states (commands to get Marines to wait or follow the player when needed so they're not constantly in the way, will make Flamethrower & BFG marines safer to use as dropped fire from attacks & BFG Spray hits all allies & players that are in the way) but no idea where to place it or how to set that up. 

Please Log in or Create an account to join the conversation.