hmmm, fair points, but that is assuming every weapon gets its own calculation and generator, you can however create a general random generator and link everything up to this single source of randomness to have the rng using 1 generator. problem is that all guns firing at the same time will have the same spread pattern at that specific moment.
to fix this:
you can also have 4 generators running total and have good (and pretty) effect, 1 generator randomly assigning any gun's rng to one of the 3 other generators to have randomness all over the place.
this is slightly more intensive to use but makes sure that you don't "copy" and show every gun having the same randomness every shot (with a multiple output system spread copy's become obvious)
Random numbers aren't likely to be the performance culprit here. The issue people are concerned about (I guess) is generating the initial bullet orientation.
Let's say you have a ship with 2 cannons. Every second when you fire, the game has to create 2 bullet entities and give them the kinematics (position, velocity, orientation, possible linear or angular acceleration) that make them "shoot." That's pretty easy - you can use the position of the cannon output for the bullet's initial position, you can use the ship's/gun's orientation for the bullet orientation, and the rest can come from a config value. Voila, a bullet starts at your cannon output and moves in the direction you're looking at a config-determined speed.
Adding randomness to the orientation isn't too difficult, either. In addition to above, you draw a random number and use it to lookup 1 of many precomputed random angle offsets. Then, you combine that offset with the bullet's initial orientation to generate some spread. Voila, your bullet has a slightly different angle than the ship's, so when it shoots it goes a little off kilter.
The only difference between a "straight" bullet and a "random" one is that angle offset. That's usually done under the hood by something called a quaternion multiplication. It's not too compute intensive, maybe a couple dozen compiled instructions. These multiplications are already being done at a minimum every time any entity is rotated or changes it's orientation, and probably a good number of other times besides for other purposes. They're used so often that game engines and 3D rendering APIs usually provide a quaternion math library that's pretty good.
So, the question is, is there a technical limitation to randomizing every cannon bullet's angle when it spawns? The short answer is not yes, but maybe. Take a reasonable worst case scenario: 20 ships, each firing 200 cannon/cannon weapons simultaneously (Some people will say it's not extreme enough, but I don't care, I'm just illustrating a point). That's 4000 bullets being created every 1/10 sec. If the game state updates internally at 30Hz, those entities may need to be created in less than 30ms - let's say 10ms. 4000 quaternion multiplications + misc. may add another 50 compiled instructions per entity - let's be conservative and call it 100 for 400,000 additional calculations. A modern CPU can process ~100 billion instructions per second, or 1 billion instructions per 10ms game frame. From an instruction standpoint, it's feasible.
The bigger question is - how efficient is Starmade's game state update routine? How close are they already to busting their update times in stressful situations? Even if it's pretty cheap to add the random bullet angles, it could be the straw the broke the camel's back and caused game lag. Since this game is in alpha, I'm going to guess Schine still has a lot of code optimization ahead of them, and their current game engine may not be ready for the additional stress from random bullets.
I'm not going to assume that, though. Bullet randomness is technically feasible, and the current state of the game shouldn't keep us from suggesting it, even if it takes a while to implement.