Vehicle Effects Pool - NPC Effects Management

The more you create, the more you feed the need to create more and that is perfectly true for my latest collection of mods. Having created a custom replay system, then a custom replay camera system, then a multi-vehicle version of my replay system, I needed the NPC vehicles to be more in keeping with what the player was doing. My Ground Vehicle Effects mod gave a bit of life to driving, so the other vehicles looked a bit flat without it. But there were two immediate problems with solving this...

1) GVE uses looped particles, which are finite in number and need careful management.

2) Simply scanning for vehicles that *might* be doing something suitable to apply an effect to, is just ridiculously impractical, especially when you're already pushing the boundaries of performance with particle effects.

So I needed another solution, one that was flexible enough to handle all my effect types but offered a controlled envirionment for them to be managed in. So my Vehicle Effects Pool mod was born. Over the course of today (2nd April 2018) I built a standalone effects manager that basically sits there waiting for you to send it vehicles. Once it has them, it drops them into its pool, updates their effect cycles and when they drop out of range, it fires events back to the processing mod so that it can be removed from the processing pool in that mod.

So for instance, the Helicopter Effects mod collects a whole batch of vehicles and processes that collection looking for cars to make dirty, helicopters to create dust and buses to add lights. And it had to do all that as well as handling the effects. Now, it finds a vehicle that needs an effect, it sends that off to the VEP, telling it what type of effect it should have and the VEP gives it an ID, assigns it a place in the pool, processes all the effects and then watches for it to fall out of effect range. Once a bus gets out of range, it is removed from the effect pool and the helicopter effects mod is notified of the removal, so it can remove that vehicle handle from the collection queue.

But if you don't want all that automatic removal to take place, like for the ground effects, you have another option. You send the vehicle to the VEP and it processes the effects for that vehicle. Once the control mod has finished with that vehicle, it sends a removal request to the VEP, with a handle and the VEP pulls it from the pool and frees up that ID for another vehicle.

Along with building the VEP, I had to completely strip out the GVE effects processing and turn it into an NPC compatible effects system. So needless to say, it's been a busy day but equally a very productive day with something I am extremely proud of as an end result. So now GVE handles the player vehicle, for an enhanced experience but the VEP handles all NPC effects, to ease the burden.

This is a basic demonstration of how it all fits together. This is the first multi-vehicle test with the VEP and it's clear that the effects need some tweaking. The non-looped particles are still using the Editor Mode particles from GVE, so they need further adjustment... but it's a start.

You can see in this how I record one sequence and then can flip to any other sequence as the player. Any vehicle in the replay can trigger the camera shake (on compatible cameras), even multiple vehicles will each trigger their own shake effect. You just set the camera position and type, then the shake is generated based on passing speed and proximity.

VEP underwent a major transformation yesterday, with the ability to now accept multiple effects for a single vehicle.

So as can be seen in this video, the replay system sends the buses to the VEP as potential ground effect vehicles and the helicopter effects combo mod, sends them as Bus Lights vehicles. If they went beyond the effects range, they could have their lights removed but still keep their Ground Effect intact. This opens up possibilities for expanding the effects types within the VEP, that can be assigned to vehicles as and when required. That means that Helicopter Effects might now become a vehicle collection processor (a VCP), to handle any large-scale vehicle effect assignment tasks.

Probably the last VEP video I'll post now, just to show the place I really created the VEP to work in, off-road.

In case anyone is wondering what other mods of mine might have stopped working in the latest GTAV, here's the answer... none of them. A little bit of research, a little bit of memory dumping/watching and all mods have been updated to be compatible with the latest version of GTAV.