Only since Unreal started their monthly free assets program this year have I realized the virtues of the Marketplace. My to-do list yesterday included researching AI asset packs.
DJ: I found a plugin that looks really promising re: AI but it’s $90. But it’s networked, has a bunch of different kinds of AI included. Civilians, guards, shooting and melee (not to mention that I could borrow some of the player utility too, melee etc.). AI parkour. Very well rated.
Simon: Hmm! Well, if you think it will, like, integrate smoothly, seems like a good investment.
DJ: Yeah! The main thing I was having trouble finding was AI that was built to be networked. There’s a few packs with just AI itself, but most of them aren’t designed for multiplayer.
Simon: I remember that time we were playing clowns, doing some normal bank job, and one of the AI civilians was just la-dee-dah hanging out on the bench outside while this armed robbery is taking place?
Simon: Hopefully this AI will perform just as well.
DJ: YOU CAN ROB THIS BANK, BUT YOU CAN’T STEAL MY FUCKS
Simon: But yeah, we’ll get that plugin for you when I get home.
DJ: Well, I do wanna confirm one thing before I buy it. I want to make sure that there is logic for prioritizing which player an enemy should shoot at. Apparently, this guy’s pretty quick to respond so I’mma leave him a comment- Oh wait, I just found a comment answering that. Apparently there’s no complex aggro system, they attack whoever is closest, but they do look at whoever damaged them last. I think I can work with that.
Simon: What kind of prioritization were you looking for?
DJ: I wanted a system where, if one player was technically closer but the AI couldn’t see them, they would attack whichever player was closest of those that they could see. But I think if the base system was solid (which mine was not) I could just make adjustments to the prioritization. I just needed to know that there was some kind of basis for that logic in there already.
Simon: Ah, okay. So you can’t, like, confuse enemy AI by having two people alternately shoot them, right? Then they might have to constantly switch their target.
DJ: With a simple system as exists in this pack, yes. You’d both just have to continually change which of you was closer. What I had planned to do was give the AI a somewhat better decision making process so it could decide which player it should really be focusing on. Like, maybe it takes into account factors like distance versus DPS. Like, say it can see that two players are shooting at it, it does the math and prioritizes which one to focus on based on who’s getting in more damage. On the other hand, that could create problems like an AI trying to shoot a player sniping from a million miles away while they’re getting Bronco’d in the face.
Simon: How does PAYDAY do it?
DJ: I don’t know!
Simon: Hmm. Trade secret, I suppose. Then yeah, hopefully you can tweak this a little.
DJ: Oh, another cool thing about this pack is it has companion AI too, so crewmate bots when you’re playing solo or with a partial crew. Also, if there’s AI parkour, then that means there’s animations for it. And if there’s animations, then I can probably give that power to the player too. As a skill.*
Simon: Ooh, doing ninja flips.
DJ: I’m thinking it’s probably more like that shit your bot crewmates do where they jump up the fire escapes. And you’re like, why the fuck can’t I do that?
Simon: NO. NINJA FLIPS.
DJ: But yeah, I’m excited ’cause basically this will save me a lot of time. I won’t have to figure shit out and experiment as much with what should be basic-er shit,but isn’t so well documented. Especially the networking half. The networking is what fucks me half the time when I can’t get something working right.
Simon: Then it’s definitely a good investment.
DJ: God, I wish I had realized the value of the Marketplace stuff before.
Simon: WHY MAKE IT WHEN YOU CAN BUY IT?
DJ: Well. I definitely think I wouldn’t find it as ! if I didn’t understand Unreal like I do now. But it really is like, I could sit here looking for tutorials that aren’t quite right or I could toss someone some dosh to just literally give me their code so I don’t have to build it from scratch and can focus on implementing the specific features I need. It ain’t like I don’t still have to know how the shit works to use it.
Simon: No, I know. I’m just kidding – you’ve put plenty of your own effort into it.
DJ: Too, I think the Marketplace wasn’t always as good as it is now- Oh! No, I ain’t takin’ it like an indictment of laziness. I know what you were sayin’. I’m just elaborating on how, like, I know theoretically how these things should go together and can implement them myself. It’s just that there’s always some hinky detail that I can’t figure out and it saves a lot of time to just get the pack where the guy already put the basic shit I more or less know how to do together AND he fixed all the networking shit so I ain’t even gotta fuck with that too much. Let’s me focus on doing the stuff that’s actually gonna make my game great, instead of getting bogged down trying to troubleshoot some basic ass shit for six months like I did with the multiplayer weapon spawns.
And this thing deals with a TON of the stuff I need to implement. EXCITE!
* It’s basically just vaulting over low walls so ehhh.