Re-writing this, forums ate my original post.
To give you some idea of my lack of expertise, most of that paragraph went over my head haha, but I know what you mean about the premature optimization stuff. When you mention the contiguous buffer, do you mean purely storing the values somehow, rather than the actual actor component references themselves? Almost sounds like generating an influence map of some kind or something.
I suppose the first step is out of the way, I know that iterating over the actors is a gazillion times faster than doing huge collision cones on each missile, so avoiding the physics system is pretty much a given now, and I kind of prefer it that way, it seems more solid. Avoiding Physics gives me a lot more control.
If you read above in regards to the cone, that’s exactly what I did. Unfortunately in reality it’s actually a LOT slower using Physics Queries to get the actors, and the problem is that it’s not very scalable either. Even using the collision primitives wasn’t that much quicker. I can’t batch that kind of behaviour together either so it’ll always have an upper limit on what it can do, and the performance varies by a number of factors. The other problem, is that for the missile to have enough time to react and change it’s behaviour, the query radius needs to be massive, at the moment the cone is 8K * 4K units in size to give the missile the desired behaviour and even then it’s still not quite good enough.
As for group missiles etc, I want to avoid that simply by design. The point of this is to be able to simulate so many different objects individually as fast as possible. The networking side will sure be a challenge, currently I just rely on replicated movement from the engine, but that in itself is not very optimized, and it struggles to cope with more than a few actors using it. To be honest, I have massively over-scoped myself by trying to do Planetside-2 style networking when I know no C++ outside of what I’ve learnt from the Engine, but hey it’s a fun learning exercise!
EDIT:
Oh I also have relatively loose ties with one of the original programmers of the game, the above test was done in the latest version. Running that test in 1999 on a mid-spec box wouldn’t have yielded the same results. He apparently wrote a lot of SSE Intrinsic functions (thanks MSDN for telling me what they are), not specifically for missiles but for the game in general, which he says allows him to do a lot more work in parallel, and ultimately allow for stuff like this.