zolop zolop

Turrets don't move in Beta 4..

Turrets don't move in Beta 4..

I know that there are placeholders in this game. So I am not sure if they are going to animate the capital ships/TE Flak Frigate, turrets to rotate or not. Also the TEC Capital Battleship (The one with the 4 Lasers in front) does not always shoot straight while using its lasers, facing the target, is this just another placeholder? It kind of defeats the purpose of the TEC Capital Battlesship visually having those 4 lasers mounted on the front of it.
31,570 views 140 replies
Reply #76 Top
However, the shooting doesn't need to be tied to the turret at all, it already exists the way it should. The change would be purely graphical in making turrets rotate.
End of quote


So you want to allow the current "shoot any direction" and just have the turrets bring themselves to bear as pure graphics?

OK, that would be an option... but in my mind, would be worse than the current setup!
Reply #77 Top
I'm not sure what you're talking about. The shots fired now are just fine. They shoot from where they're supposed to originate to where they're supposed to land. The issue people have is that the turrets themselves are static and don't move, so it looks like shots are leaving the barrel at weird angles. So the only thing that needs to change is that the turret rotates to the right angle, which shouldn't affect any "shooting" mechanics.

Though, as I've said a few times already in this thread, this is just going on a guess as to how the code is structured.
Reply #78 Top



So you want to allow the current "shoot any direction" and just have the turrets bring themselves to bear as pure graphics?

OK, that would be an option... but in my mind, would be worse than the current setup!
End of quote



D'OH!!!! My brain!!!
Reply #79 Top
I think what people are missing about Ron's point is this:

1) If you want to have turrets move, then the firing sequence must be delayed (for example) until the turret lines up with its target.
2) This makes a real effect on the way a ship might fire. It will then have to wait until its turrets are lined up, and only then shoot.
3) Obviously, this means that every ship must have this effect applied, or else there would be an exploit allowing the player to zoom in on the enemy ships to make them shoot more slowly, since their turrets have to line up and others won't.
4) If every ship has this effect applied, then the CPU, at the very least, has to calculate the time taken for each turret on every ship to move, regardless of whether the GPU has to render it or not; thus, the rotating turrets would have to be calculated on ALL ships, EVERYWHERE, ALL the time. Otherwise the game loses coherence.
5) You can't make it an option because if, in multiplayer, one person has the option enabled and the other has it disabled, then the enabled person will experience slowed firing, and the disabled won't; there will be a loss in coherence - if the function then is such that the disabled person would still have to experience slowed firing, then that person's computer would still have to calculate turn times as well.

Therefore, this CANNOT be made an option - there is too much opportunity for discrepancy and therefore loss of coherence.
Rob, I hope this actually IS an explanation of at least one of your points; though I have no experience with game designing and little with programming, it's a point that makes sense to me.

Just a note; though I love the look of turrets firing and enjoyed it on HW2, I don't really support that option on here, considering the scale of the game.
Reply #80 Top
...though it seems that my point is now a bit outdated...
Excuse me :P
Reply #81 Top

Rob, I hope this actually IS an explanation of at least one of your points; though I have no experience with game designing and little with programming, it's a point that makes sense to me.
End of quote


Rob? ROB?!

That said, while #3 doesn't really count, #5 is almost exactly my point. If my weapons fire at a different time from the other players, they that generates a desync.

Remember, we're using a peer-to-peer system, which is why desyncs are so nasty -- they represent a value changing (be it as simple as a resource count) from one computer to the other. This might not sound like trouble, but can (easily) snowball into a completely different game. Especially since even a single resource value off can cause a randomly chosen seed to be different for one computer than the other. For example, if I have 1 resource point more than the other guy "thinks" I do, I might be able to build that scout one tick earlier than I could on his version. "Small" problem... except that one ticks difference would cause a seed shift. And, on top of that, if the unit comes out of the yards one tick early with an autocast of some kind, it might "consume" a seed (when you use the C++ random function, each use increments the base seed -- I'm labeling that "consume") which might cause another unit to act completely differently.

Its kinda a hard concept to understand, I know, because I'm not explaining very well. Its really easy to explain it if theres an actual AI player in the game -- that shift in seed will cause huge differences in any AI behaviour -- but the important part of the concept is to understand that the differences in the games snowball. They get worse, not less, as time passes -- and that completely ignores the problem that I could end up giving orders to ship at location XYZ, and if my computer informs the others guys computer of that, there is no unit there to give orders to (maybe it got killed earlier on the other guys computer because it was a few units closer / farther / what have you).
Reply #82 Top
That was a most shocking typo, RON. I apologize :P

Yes, that's what I thought you meant - oh good! I suppose #3 was me ranting on my own, something of which I should be very careful.
So you're saying that any option to the effect of adding turret movement with firing dependent on that movement would inevitably lead to horrendous desyncs...
Thanks :)

On a final note, I seek vindication in the fact that the "B" key is right next to the "N" key... but I still apologize :P
Reply #83 Top
You guys have confused me so much I'd rather this topic just die.....slowly. Unless someone mods it in, it won't be in the game.
Reply #84 Top
Haha, victory!!

I knew you'd give up eventuall :LOL:

I also wanted turrets to move, but I myself was defeated on the issue a while back.
Ahh well, we have excelent moders here. I am sure test will be run, and people will complain, and mods will be made :D
Reply #85 Top
Ha you guys are going crazy over rotating turrets. But seriously I would like them to rotate so even if I have it fully zoomed out I can be safe to think in the back of my mind "man my babys are locking on right now I just know it!" hell you might as well just have them shoot out of there armour like some kind of active shield that bursts shots out at ships they want dead at a 360 degree field.

Oh and sorry for not running a commodore 64 and having turrets move would make a slide show.

Well at least give a option for the people with decent comps for rotating turrets.

Good day sir  :CONGRAT: 

Reply #86 Top
Sir Grave Keeper,

Well at least give a option for the people with decent comps for rotating turrets.
End of quote

It can't be made an option at all, regardless of whether the decent comp people want it or not. The only way to implement it would be all or nothing, and the all option isn't good for the lower end comps.
The point is by making it an option serious system desyncs would occur in multiplayer games, regardless of the participants. It cannot be made an option, not because it isn't practical, but because of loss of coherence. The only real solution is to have the option, but only have it such that turrets fire regardless of whether they're locked on, so that there isn't a delay in firing the weapons. Otherwise, no dice.


Reply #87 Top

Sir Grave Keeper,

Well at least give a option for the people with decent comps for rotating turrets.

It can't be made an option at all, regardless of whether the decent comp people want it or not. The only way to implement it would be all or nothing, and the all option isn't good for the lower end comps.



End of quote


Huh? If I'm not mistaken, Eviljedi, who worked on the Warlords mod, said the effect would negligible, or not that devastating to performance. This is where confusion sets in.

Reply #88 Top
if you add the turrets to the effect coming from the emitters for those guns somehow, that might take care of things and barely add to the overhead, so that's an idea to solve a problem that really isn't worth thinking about.
Reply #89 Top
Sir Heflys,

Please enlighten me; did Eviljedi form ships with turrets that had to wait to line up before firing, or was the effect purely cosmetic?
If the former, then I back down and hide behind Ron :P If the latter, then my point stands.
Reply #90 Top
Actually, there is also the difficulty of the difference in scale; how many ships could one have under Warlords (I had only a primitive version of the mod... please excuse me) at once?
Reply #91 Top

Sir Heflys,

Please enlighten me; did Eviljedi form ships with turrets that had to wait to line up before firing, or was the effect purely cosmetic?

End of quote


Sir Sibilantae,

If he was using the homeworld 2 engine, which has turrets that track targets, then it was the former.

To make it more clear:




to put it in perspective, on a relatively new computer It isn't a problem to drop more than 20 or 30 capital ships into a battle and see no slow down, each star destroyer has over 50 independently articulated turrets with in most cases 4 barrels , each one representing another variable set to track (rotation and timing) so roughly 4000 animation interpolation calculations and weapon calcs happening every 1/10 of a second (HW2's clock)

so if I could get just the main batteries on my ISDs to rotate (8 per ship) then sins should be able to handle the rotation without an real effort on hundreds of ships. I wouldn't want every turret to rotate in a game of this scale like I had in HW2, but on a few ships that are dominated by large turrets it is a graphically ugly option to have fixed turrets (try making a space battleship yamato mod without them)
End of quote


Oh, and Ron has been stating it couldn't be made into an option, he hasn't really touched on the concept of lag that much.

Reply #92 Top
I just noticed something irrelevant. Bomber missiles are helluva big.....Wow.
Reply #93 Top
Point taken, Sir.
Excuse my perpetuating the question, but my (admittedly somewhat weak - at the minimum specs level of SoaSE) desktop had much difficulty running SupCom at fully zoomed out levels with a total of about 500-600 units, and a little bit of trouble, though I didn't experiment too much, with a try-out of a low-level Warlords mod on HW2. Clearly it was the CPU that was having difficulty, since the GPU didn't have to render much more than little icons throwing little yellow dots at each other - if I've got the roles of CPU and GPU confused, please let me know - so I concluded that all that calculations would eventually wear my PC down, especially since just about every one of the land units would of course have to move their respective turrets before firing. Of course, it might have been something else that was causing the slow-down, but it strikes me that the huge quantity of units firing simultaneously (say, about 100-200 at once) was a little bit high.
That experience is partly behind my part of the argument, and the reason I tend to support Ron like this.
Have I got this all wrong? I respect what EvilJedi says, but... *shrug* I think with the moving turrets idea, the minimum specs would have to be raised at least a little bit in terms of lag. I don't know or understand this business about meshes; I'll leave that up to you guys :P

I have one other point to make, sir, and I think this is slightly more relevant to Ron's point. By having the turrets rotate (according to the condition that they fire only once lined up), the rates of fire of each ship would slow down. Agreed? In tracking between targets, there would be some change in rate of fire until the turrets are locked onto the new targets.
Now assume that in a multiplayer match with two people, one person has this "moving turrets" option enabled, and the other does not.
Therefore, for the enabled-optioned person, there would be a change in rate of fire for each ship in the system.
For the disabled-optioned person, this change would not exist since the turrets wouldn't move. This would lead to a desync.
The only solution to this of which I can think is if the moving turret effect is indeed purely cosmetic.

What do you think? Am I being too confusing?
Reply #94 Top
t

Point taken, Sir.
Excuse my perpetuating the question, but my (admittedly somewhat weak - at the minimum specs level of SoaSE) desktop had much difficulty running SupCom at fully zoomed out levels with a total of about 500-600 units, and a little bit of trouble, though I didn't experiment too much, with a try-out of a low-level Warlords mod on HW2. Clearly it was the CPU that was having difficulty, since the GPU didn't have to render much more than little icons throwing little yellow dots at each other - if I've got the roles of CPU and GPU confused, please let me know - so I concluded that all that calculations would eventually wear my PC down, especially since just about every one of the land units would of course have to move their respective turrets before firing. Of course, it might have been something else that was causing the slow-down, but it strikes me that the huge quantity of units firing simultaneously (say, about 100-200 at once) was a little bit high.
That experience is partly behind my part of the argument, and the reason I tend to support Ron like this.
Have I got this all wrong? I respect what EvilJedi says, but... *shrug* I think with the moving turrets idea, the minimum specs would have to be raised at least a little bit in terms of lag. I don't know or understand this business about meshes; I'll leave that up to you guys

End of quote


That's a question better suited for Evil, since he made the claim.

But let me ask you, would SC still be as afflicted if you were to turn down all graphical settings (since turrets still turn and weapons are tracked at even the lowest setting). If the game still lags horrendously, then perhaps turreted animations are not the main culprit, if not....... Also, not all units possessed turrets, but all fired weapons, as they do in Sins. The game also tracked projectiles and adhered to the concept of Newtonian physics. Despite taking place on a single map, SC also had numerous details added to the landscape (reflections, water effects, numerous motional animations (perhaps more than Sins), etc.)





I have one other point to make, sir, and I think this is slightly more relevant to Ron's point. By having the turrets rotate (according to the condition that they fire only once lined up), the rates of fire of each ship would slow down. Agreed? In tracking between targets, there would be some change in rate of fire until the turrets are locked onto the new targets.
Now assume that in a multiplayer match with two people, one person has this "moving turrets" option enabled, and the other does not.
Therefore, for the enabled-optioned person, there would be a change in rate of fire for each ship in the system.
For the disabled-optioned person, this change would not exist since the turrets wouldn't move. This would lead to a desync.
The only solution to this of which I can think is if the moving turret effect is indeed purely cosmetic.

What do you think? Am I being too confusing?
End of quote


Ron already established it couldn't be an option. So I'm not sure what you mean.
Reply #95 Top
Ok then; sorry, I misunderstood - I thought that you disagreed with Ron about the inability of option-ness :P My bad.

To answer your first question; my desktop always runs SC at the lowest possible levels in order to maximise smoothness - I run it windowed (it runs very well at high/highest levels on my lappy) and it still slows. The terrain is as undetailed as possible. I'm not sure, since I haven't played Sins, but I'd say the amount of motional detail at fully zoomed out level would be about the same (moving units, especially planes, bombs, and of course the projectiles), with rotating turrets on, what, half of the units? T1 and T2 tanks as well as anti air, artillery, ships, and torsos on bots. As I said, I don't know how this compares to Sins, but I've always considered SC to the high-level benchmark of processor capability (few games with so much raw processing power needed, in my opinion). Perhaps that is what sets it different from Sins, but as I say I was only talking from experience.
Maybe I'm just way off here :P
Reply #96 Top
I think Ron and Sibil are right, you cannot make properly rotating properly firing turrets "optional" as things stand right now. For those still confused, there are only 2 real scenarios:

If properly timed spinning turrets are added, whereby it takes time for the turret to spin and lock on, then even the players who choose not to use them (for performance options) would still need that delay calculated and applied to their weapons. So new firing code would need to be given to everyone regardless if they used the turrets or not. In this case we need new firing code (calculating simulated turret rotation delays) and redone ship meshes.

If spinning turrets are added purely as a graphical option then we would still have turrets that occasionally pointed at the wrong direction (since the actual shooting would begin just as it starts to spin), but after a shot or two it should have properly tracked onto the given target. This would be less work, requiring new meshes and not code, but wouldn't really make the die-hard turret fans happy since there would still be the odd shot from the wrong gun angle.

I know it is kind of kicking a dead horse at this point, but I wouldn't mind seeing purely graphical turret animations added on the cap ships. They are what we will probably zoom in on in the big battles anyway.
Reply #97 Top
I guess I think shots leaving the barrels at weird angles is frankly embarrassing, and is kind of a priority graphical glitch.
Anything that could be done to remedy that is good.

If the system is written so that the second units get within range they open fire, regardless of any positional information or whatever, then its a step backwards from other modern games, where guns generally aim in the direction of fire.


If we're talking about strictly adding animations to the game there won't be a desynch problem, ron. you just have to be a bit creative in your code.
There are many many ways to avoid these problems.

You can, for example, make turret spin times take a set ammount of time always. Meaning the animation would sometimes run faster and sometimes slower, but the full animation will always take 1 second.
Meaning there will always be a 1 second 'target acquisition' time when designating a new target or when ships first enter combat.

Get my drift ron? I'm aware this explanation wasn't exactly masterful, but hell, I could probably code it better than explain it.

Reply #98 Top
Actually, yes I do get it Lightzy. It makes sense even... which is probably why a similar idea has been nibbling at my noggin for the last few days (lol). I would have gotten there sooner or later! (My ideas tend to take a long time to mature to the "useable" point :D )

That said, I'll fall back on "it won't be done because they'd have to redo the models, and they don't want to" position. You can't beat that! :P
Reply #99 Top
Bah this thread grew last night :(

And everyone is confused.. so let's round off the thread with some basics :P

1) To make rotating turrets, the ship meshes and such will have to be redone.

2) Extra overhead code will have to be added because more variables will have to be kept track of for each single turret.

3) It CAN be made an option without desynching, because the shooting would be kept separate from the graphical appearance of turrets rotating. That means most of the same overhead code will need to be executed to calculate shots, but the code that governs the turret rotation will not have to be.

I think there's a misconception that shooting is somehow tied to the turret itself, which it really isn't. The engine just calculates how to render the particle effects of the shots, and says "Hey, that ship takes x damage now because it got shot". The meshes could have no turrets at all and it would still work. Of course right now, the point of origin for the particle effects are the end 'barrels' of the turrets, and with rotating turrets that wouldn't work. But setting it to the base of the barrel would work wonders because a) If the turret tracking option is turned on, the angle of the particle effects will be the same as the angle the turret will have to be pointing. Of course, instead of calculating that angle every time the turret needs to shoot, it would need to be computed in realtime so that the turret constantly points at the target, not just when it needs to shoot; b) If the turret tracking option is turned off, nothing changes to calculate particle effects/shots, the only thing that's disabled is the code that actually keeps the turret pointed at the target in realtime.

In conclusion:

Just adding the overhead of the turret tracking system will slow performance as more and more ships are piled into combat. This is unavoidable, even if you toggle tracking turrets off, the GPU won't need to render the rotation (and the CPU won't need to execute accompanying code), but CPU-wise the difference between having them on or off will not be too great.

So in terms of system strain, it would go something like this:

Current no tracking system <<< Tracking turrets w/ option disabled << Tracking turrets w/ option enabled.

Reply #100 Top
I agree with everyone. At last :P
Though I'm just a bit confused by Annatar's latest post.
I like Lightzy's idea with the set time for turret animations!
Maybe the mesh question could be addressed in an expansion, or even an uber-mod?