Helper Marines Redux
Forum rules
The Projects forums are only for projects. If you are asking questions about a project, either find that project's thread, or start a thread in the General section instead.
Got a cool project idea but nothing else? Put it in the project ideas thread instead!
Projects for any Doom-based engine (especially 3DGE) are perfectly acceptable here too.
Please read the full rules for more details.
The Projects forums are only for projects. If you are asking questions about a project, either find that project's thread, or start a thread in the General section instead.
Got a cool project idea but nothing else? Put it in the project ideas thread instead!
Projects for any Doom-based engine (especially 3DGE) are perfectly acceptable here too.
Please read the full rules for more details.
-
- Posts: 320
- Joined: Sat Oct 30, 2004 12:55 pm
- Graphics Processor: nVidia with Vulkan support
- Location: Chireiden
Helper Marines Redux
Yet another helper marine mod/mutator. This time using entirely vanilla resources, one ACS script and DECORATE magic.
It should be compatible with every mod no matter how much it changes the player or enemy classes, and using a named script hopefully preventing
collisions with other mods.
I recently saw someone ask for how to extract Brutal Doom's AI marines, so decided to check them out. The code was a bit messy and hard to isolate,
so I wrote these from scratch using the same concept of teleporting by becoming an invisible, no-clipping actor, but using only vanilla resources and
modifying no classes. It's also much cleaner to look at and modify if you want.
This is mostly oriented to be used in single-player, so I am using current g/zdoom features without much regard for Zandronum
(you can get actual people instead, so no need for this). The marines behave like a drunk player would, but it's fun to carry in maps that
aren't Zandronum-compatible or just not possible to coop into them. They make for nice Invasion-style map (the few that exist out of Zandronum) companions.
The marine's power will be dependent on the amount of things in the map. This is a rough approximation, but you should get only marines up to lv.3
in regular Doom2 maps. But you will get lv.4 and lv.5 marines in slaughtermaps or monstrosities like Happy Time Circus 2.
To get your automatically-determined marine, type "summon aimarine" in your console. If you wish to have it spawn automatically, you can set the cvar
"aihelper_autospawn" to true. This is not default so it doesn't invade titlemaps like in Reelism. You can set the variable before starting the game and it'll autospawn from map01 onwards.
The helper is fairly strong and durable, and if killed it will respawn after about 30 seconds (double if xdeath), and they can use vanilla doom2 weapons.
You can override the automatic choice and spawn one of those with the code in parentheses.
Level 1 (summon doommarinel1_ai) will have a pistol and shotgun, no armor, low HP and speed.
Level 2 (summon doommarinel2_ai) will have pistol, shotgun and chaingun, green armor, a bit more HP and Speed, you'll see this guy the most in simple maps or beginning maps.
Level 3 (summon doommarinel3_ai) will have pistol, shotgun, chaingun and super shotgun. Blue armor, player-like HP and speed. You'll see this guy in later maps.
Level 4 (summon doommarinel4_ai) is mostly identical to lv.3, but adds plasma to his arsenal.
Level 5 (summon doommarinel5_ai) has the same weapons as lv.4, but has stronger armor.
The mod will become something else eventually, but wanted to make a release while it's still simple and using no resources or more complicated mechanics, so it's easier to autoload and forget about it, if desired.
Credit to the Brutal Doom devs for the concept and the "A_Recoil(-1)" trick. Everything else was written from scratch.
So far successfully tested with~
* DoomRL Arsenal and monster pack. No misbehavior whatsoever.
* Reelism. During debug they infiltrated the title screen.
* Brutal Doom. What inspired me to make these. Unlike the native ones, these live a vanilla life without fatalities and exploding into gibs.
* HAPPY TIME CIRCUS 2. It's surprising they can keep up. They seem to orient themselves better than myself in there.
* Psychic
* Wrath of Cronos. (won't scale as much as the player in power and there are summons so it's pointless to use...but if it works there, should work anywhere)
Known bugs:
* At times it'll teleport a bit too often, depends on level layout.
* It might get stuck once in a while after teleporting. Frag him or try to make it teleport again to fix.
* It might teleport inside the player. Punching it outside seems to be enough of a fix, but hasn't happened in a while.
* Using the "resurrect" command will pit them against you (fix: "give playertoken" in console). I consider this a feature though, as I would also shoot the undead guy suddenly coming back to life...
Updates:
1.0 "Vanilla" BETA 2
* Rewrote some of their logic to enable multiple marines at once, they will all stand still near the player instead of bouncing like inside a pinball.
* Rewrote their movement and targeting logic so they prioritize following the player over spreading hot lead.
* Made sure to remove a possible infinite loop.
* Improved the teleport beacon so it's faster, more precise and acts overall differently. The marines should reach the player much faster now.
I didn't have something better for screenshots since they look like plain, old, boring doomguys, but the screenshot kinda shows it works in TCs without issue.
Please use the attached pk3 while I don't have a more official link. But since it's small enough...
It should be compatible with every mod no matter how much it changes the player or enemy classes, and using a named script hopefully preventing
collisions with other mods.
I recently saw someone ask for how to extract Brutal Doom's AI marines, so decided to check them out. The code was a bit messy and hard to isolate,
so I wrote these from scratch using the same concept of teleporting by becoming an invisible, no-clipping actor, but using only vanilla resources and
modifying no classes. It's also much cleaner to look at and modify if you want.
This is mostly oriented to be used in single-player, so I am using current g/zdoom features without much regard for Zandronum
(you can get actual people instead, so no need for this). The marines behave like a drunk player would, but it's fun to carry in maps that
aren't Zandronum-compatible or just not possible to coop into them. They make for nice Invasion-style map (the few that exist out of Zandronum) companions.
The marine's power will be dependent on the amount of things in the map. This is a rough approximation, but you should get only marines up to lv.3
in regular Doom2 maps. But you will get lv.4 and lv.5 marines in slaughtermaps or monstrosities like Happy Time Circus 2.
To get your automatically-determined marine, type "summon aimarine" in your console. If you wish to have it spawn automatically, you can set the cvar
"aihelper_autospawn" to true. This is not default so it doesn't invade titlemaps like in Reelism. You can set the variable before starting the game and it'll autospawn from map01 onwards.
The helper is fairly strong and durable, and if killed it will respawn after about 30 seconds (double if xdeath), and they can use vanilla doom2 weapons.
You can override the automatic choice and spawn one of those with the code in parentheses.
Level 1 (summon doommarinel1_ai) will have a pistol and shotgun, no armor, low HP and speed.
Level 2 (summon doommarinel2_ai) will have pistol, shotgun and chaingun, green armor, a bit more HP and Speed, you'll see this guy the most in simple maps or beginning maps.
Level 3 (summon doommarinel3_ai) will have pistol, shotgun, chaingun and super shotgun. Blue armor, player-like HP and speed. You'll see this guy in later maps.
Level 4 (summon doommarinel4_ai) is mostly identical to lv.3, but adds plasma to his arsenal.
Level 5 (summon doommarinel5_ai) has the same weapons as lv.4, but has stronger armor.
The mod will become something else eventually, but wanted to make a release while it's still simple and using no resources or more complicated mechanics, so it's easier to autoload and forget about it, if desired.
Credit to the Brutal Doom devs for the concept and the "A_Recoil(-1)" trick. Everything else was written from scratch.
So far successfully tested with~
* DoomRL Arsenal and monster pack. No misbehavior whatsoever.
* Reelism. During debug they infiltrated the title screen.
* Brutal Doom. What inspired me to make these. Unlike the native ones, these live a vanilla life without fatalities and exploding into gibs.
* HAPPY TIME CIRCUS 2. It's surprising they can keep up. They seem to orient themselves better than myself in there.
* Psychic
* Wrath of Cronos. (won't scale as much as the player in power and there are summons so it's pointless to use...but if it works there, should work anywhere)
Known bugs:
* At times it'll teleport a bit too often, depends on level layout.
* It might get stuck once in a while after teleporting. Frag him or try to make it teleport again to fix.
* It might teleport inside the player. Punching it outside seems to be enough of a fix, but hasn't happened in a while.
* Using the "resurrect" command will pit them against you (fix: "give playertoken" in console). I consider this a feature though, as I would also shoot the undead guy suddenly coming back to life...
Updates:
1.0 "Vanilla" BETA 2
* Rewrote some of their logic to enable multiple marines at once, they will all stand still near the player instead of bouncing like inside a pinball.
* Rewrote their movement and targeting logic so they prioritize following the player over spreading hot lead.
* Made sure to remove a possible infinite loop.
* Improved the teleport beacon so it's faster, more precise and acts overall differently. The marines should reach the player much faster now.
I didn't have something better for screenshots since they look like plain, old, boring doomguys, but the screenshot kinda shows it works in TCs without issue.
Please use the attached pk3 while I don't have a more official link. But since it's small enough...
You do not have the required permissions to view the files attached to this post.
Last edited by Hetdegon on Sat Jan 18, 2014 2:48 am, edited 2 times in total.
-
- Posts: 1775
- Joined: Wed Sep 08, 2010 4:58 pm
Re: Helper Marines Redux
Pretty cool, one of my favorite features of BD actually was the helper marines. It can make some of the crazy, harder levels more fun to have some bots along for the ride if you're not cooping.
-
- Posts: 330
- Joined: Sun Nov 02, 2008 11:52 am
Re: Helper Marines Redux
Awesome, I'll definitely be using this.
As for Wrath of Cronos compatibility... it's probably possible to make a marine's stats scale with the player's level (I think you can use DamageFactor for that), but it'd require a separate patch. Something that reads the Level item in the player's inventory when the marine spawns and gives it a powerup based on a formula like Damagefactor == (1+(Level/100)) or something.
As for Wrath of Cronos compatibility... it's probably possible to make a marine's stats scale with the player's level (I think you can use DamageFactor for that), but it'd require a separate patch. Something that reads the Level item in the player's inventory when the marine spawns and gives it a powerup based on a formula like Damagefactor == (1+(Level/100)) or something.
-
- Posts: 1775
- Joined: Wed Sep 08, 2010 4:58 pm
Re: Helper Marines Redux
The fairly fast respawn may make them a little too strong, but I haven't played through many levels with this yet. Since they keep coming back they kind of clear rooms out on their own fairly fast.
-
- Posts: 753
- Joined: Mon Jun 24, 2013 7:12 pm
- Location: UT-WA
Re: Helper Marines Redux
i was actually thinking of doing this for my mod (because the helper marines for brutal are all over the freakin place) and releasing ti as a standalone, if this is what im looking for can i include this in operation inhuman?
because ive been trying to over-write the brutal doom ones with one thats a little more toned down not so fast and ridiculous, but for some reason my marine wont go over the brutal doom one....its weird haha.
because ive been trying to over-write the brutal doom ones with one thats a little more toned down not so fast and ridiculous, but for some reason my marine wont go over the brutal doom one....its weird haha.
-
- Posts: 330
- Joined: Sun Nov 02, 2008 11:52 am
Re: Helper Marines Redux
After using them for a little while, I'm noticing that they're a little... insane.
No Rest for the Living, first map. AI marine dashes off and chainguns the shit out of everything, firing really freaking fast and just utterly destroying everything in his path. It's just like, "wow, calm down man"
No Rest for the Living, first map. AI marine dashes off and chainguns the shit out of everything, firing really freaking fast and just utterly destroying everything in his path. It's just like, "wow, calm down man"
-
- Posts: 1775
- Joined: Wed Sep 08, 2010 4:58 pm
Re: Helper Marines Redux
Yeah, even on hard maps like Mr. Chis Brutalized Overkill ones they just rip through everything.
-
- Posts: 320
- Joined: Sat Oct 30, 2004 12:55 pm
- Graphics Processor: nVidia with Vulkan support
- Location: Chireiden
Re: Helper Marines Redux
Originally they respawned at 44 seconds on DEATH and 88 seconds on XDEATH. I shortened it a little bit so you could actually see them respawn in smallish maps, but I guess I can restore the time to 44/88s or have it scale.-Ghost- wrote:The fairly fast respawn may make them a little too strong, but I haven't played through many levels with this yet. Since they keep coming back they kind of clear rooms out on their own fairly fast.
Noted, I made them as twitchy and aggressive as possible so they resembled a player more than a bot. I think I can shorten their enemy location cycles so they prioritize keeping up with the player even more. I'll test it out later today.Triple S wrote: After using them for a little while, I'm noticing that they're a little... insane.
No Rest for the Living, first map. AI marine dashes off and chainguns the shit out of everything, firing really freaking fast and just utterly destroying everything in his path. It's just like, "wow, calm down man"
Indeed you can, the code is even commented for ease of use, feel free to modify at your leisure. Just drop a mention if you feel like it.cortlong50 wrote: i was actually thinking of doing this for my mod (because the helper marines for brutal are all over the freakin place) and releasing ti as a standalone, if this is what im looking for can i include this in operation inhuman?
because ive been trying to over-write the brutal doom ones with one thats a little more toned down not so fast and ridiculous, but for some reason my marine wont go over the brutal doom one....its weird haha.
Okay this is pretty nice feedback, I was testing the helpers in the most aggressive maps possible (going into vanilla maps to test their teleporting and levels), so I'll try to balance them a little further and post the results later. Using Deus Vult as standard testing field probably didn't help, heh!
As for features, I'd like to know, would a version for Heretic be considered useful?
-
- Posts: 753
- Joined: Mon Jun 24, 2013 7:12 pm
- Location: UT-WA
Re: Helper Marines Redux
once i get one thats extremely toned down and slow (i want them to be a little more realistic and not so jumping up 56 high surfaces) ill send it to you and you can host it as a toned down version as well, if youd like.
-
- Posts: 320
- Joined: Sat Oct 30, 2004 12:55 pm
- Graphics Processor: nVidia with Vulkan support
- Location: Chireiden
Re: Helper Marines Redux
Oh thanks but don't worry, I was about to get them readjusted right now. I needed a bit of feedback before wrapping up.cortlong50 wrote:once i get one thats extremely toned down and slow (i want them to be a little more realistic and not so jumping up 56 high surfaces) ill send it to you and you can host it as a toned down version as well, if youd like.
On that matter, I gave them 56 jump range kind of arbitrarily, I've been trying to find out how much a player can jump, but I was unable to find that number around. If you know the jump height for a standard unmodded player let me know and I'll change it immediately. It's been bugging me you know.
EDIT: Actually scratch that, I'll just make an empty map with a raised sector and try until I find out, should have done that from the start.
EDIT2: Heh, will you look at that, players actually jump 57 units, I was almost spot-on. Well, I guess you can tailor it to your needs once toned down in other areas.
Still, I am going to keep one type of marine that is as twitchy as they are now. For invasion stuff you know. I'll probably have it as an isolated class to spawn from console at will, like "doommarine_AI_invasion" or something.
-
- Posts: 1528
- Joined: Thu Jul 14, 2011 12:06 am
- Location: Gold Coast, Queensland, Australia
Re: Helper Marines Redux
This is absolutely awesome! I love it!
Mind if I use a slightly edited version of this in my mod?
Mind if I use a slightly edited version of this in my mod?
-
- Posts: 320
- Joined: Sat Oct 30, 2004 12:55 pm
- Graphics Processor: nVidia with Vulkan support
- Location: Chireiden
Re: Helper Marines Redux
Please do. I am making an update with more fierce pursuit of the player, which should keep them from going commando too often.The Zombie Killer wrote:This is absolutely awesome! I love it!
Mind if I use a slightly edited version of this in my mod?
-
- Posts: 320
- Joined: Sat Oct 30, 2004 12:55 pm
- Graphics Processor: nVidia with Vulkan support
- Location: Chireiden
Re: Helper Marines Redux
Code: Select all
1.0 "Vanilla" RC1
* Rewrote some of their logic to enable multiple marines at once, they will all stand still near the player instead of bouncing like inside a pinball.
* Rewrote their movement and targeting logic so they prioritize following the player over spreading hot lead.
* Made sure to remove a possible infinite loop.
* Improved the teleport beacon so it's faster, more precise and acts overall differently. The marines should reach the player much faster now.
I reworked a bunch of little things and tests were fairly satisfying, so unless there's some glaring bug I'll wrap it up as done and move onto other adventures.
The code should be easy to modify, let me know if there's any piece of code needing a comment or two, feel free to tailor it to your needs, use in other mods, or just take pieces of code you like. (More than asking for credit, I'd appreciate if you can at least keep the indentation!)
To get this version just get the attached file on the top post, it's the new version now.