Helper Marines Redux

Projects that alter game functions but do not include new maps belong here.
Forum rules
The Projects forums are ONLY for YOUR 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.

Helper Marines Redux

Postby Hetdegon » Fri Jan 17, 2014 5:04 am

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.

Image
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.
User avatar
Hetdegon
Dimensional Police
 
Joined: 30 Oct 2004
Location: Chireiden
Operating System: Debian-like Linux (Debian, Ubuntu, Kali, Mint, etc) 64-bit
OS Test Version: No (Using Stable Public Version)
Graphics Processor: nVidia with Vulkan support

Re: Helper Marines Redux

Postby -Ghost- » Fri Jan 17, 2014 2:46 pm

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.
User avatar
-Ghost-
 
Joined: 08 Sep 2010

Re: Helper Marines Redux

Postby Triple S » Fri Jan 17, 2014 5:01 pm

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.
User avatar
Triple S
 
Joined: 02 Nov 2008

Re: Helper Marines Redux

Postby -Ghost- » Fri Jan 17, 2014 5:17 pm

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.
User avatar
-Ghost-
 
Joined: 08 Sep 2010

Re: Helper Marines Redux

Postby cortlong50 » Fri Jan 17, 2014 6:16 pm

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.
User avatar
cortlong50
editing my comments ad nauseam
 
Joined: 25 Jun 2013
Location: UT-WA

Re: Helper Marines Redux

Postby Triple S » Fri Jan 17, 2014 6:28 pm

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"
User avatar
Triple S
 
Joined: 02 Nov 2008

Re: Helper Marines Redux

Postby -Ghost- » Fri Jan 17, 2014 6:38 pm

Yeah, even on hard maps like Mr. Chis Brutalized Overkill ones they just rip through everything. :P
User avatar
-Ghost-
 
Joined: 08 Sep 2010

Re: Helper Marines Redux

Postby Hetdegon » Fri Jan 17, 2014 7:27 pm

-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.


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.

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"


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.

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.


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.

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?
User avatar
Hetdegon
Dimensional Police
 
Joined: 30 Oct 2004
Location: Chireiden
Operating System: Debian-like Linux (Debian, Ubuntu, Kali, Mint, etc) 64-bit
OS Test Version: No (Using Stable Public Version)
Graphics Processor: nVidia with Vulkan support

Re: Helper Marines Redux

Postby cortlong50 » Fri Jan 17, 2014 7:50 pm

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.
User avatar
cortlong50
editing my comments ad nauseam
 
Joined: 25 Jun 2013
Location: UT-WA

Re: Helper Marines Redux

Postby Hetdegon » Fri Jan 17, 2014 8:04 pm

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.

Oh thanks but don't worry, I was about to get them readjusted right now. I needed a bit of feedback before wrapping up.
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.
User avatar
Hetdegon
Dimensional Police
 
Joined: 30 Oct 2004
Location: Chireiden
Operating System: Debian-like Linux (Debian, Ubuntu, Kali, Mint, etc) 64-bit
OS Test Version: No (Using Stable Public Version)
Graphics Processor: nVidia with Vulkan support

Re: Helper Marines Redux

Postby The Zombie Killer » Fri Jan 17, 2014 8:37 pm

This is absolutely awesome! I love it!
Mind if I use a slightly edited version of this in my mod?
User avatar
The Zombie Killer
King of the Kangaroos
 
Joined: 14 Jul 2011
Location: Gold Coast, Queensland, Australia
Discord: Zombie#1795

Re: Helper Marines Redux

Postby Hetdegon » Fri Jan 17, 2014 9:32 pm

The Zombie Killer wrote:This is absolutely awesome! I love it!
Mind if I use a slightly edited version of this in my mod?

Please do. I am making an update with more fierce pursuit of the player, which should keep them from going commando too often.
User avatar
Hetdegon
Dimensional Police
 
Joined: 30 Oct 2004
Location: Chireiden
Operating System: Debian-like Linux (Debian, Ubuntu, Kali, Mint, etc) 64-bit
OS Test Version: No (Using Stable Public Version)
Graphics Processor: nVidia with Vulkan support

Re: Helper Marines Redux

Postby Hetdegon » Sat Jan 18, 2014 2:33 am

Code: Select allExpand view
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.


Welp, tried to address some of the main issues with them. This version should be fairly balanced, so I left the respawn time as 30/60.
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.
User avatar
Hetdegon
Dimensional Police
 
Joined: 30 Oct 2004
Location: Chireiden
Operating System: Debian-like Linux (Debian, Ubuntu, Kali, Mint, etc) 64-bit
OS Test Version: No (Using Stable Public Version)
Graphics Processor: nVidia with Vulkan support


Return to Gameplay Mods

Who is online

Users browsing this forum: Laggy, SeriousWeasle and 15 guests