Posted: Sun May 24, 2015 10:21 pm Post subject:
[Image Heavy]Enough of this ww stupidity
Subject description: About how the SHP vehicles' walk frames are played
*In China goose-stepping is totally unrelated to the nazi ideology (most Chinese don't even know that Nazis also perform them). And please don't criticize politics in this thread. It's a mod thread after all and the point is to complain about the stupid game mechanism
Several days ago we came up with an idea of using SHP vehicles to make a “goose step” performance for a military parade, since infantry just can't maintain a rigid formation while moving.
Making SHPs and coding them is quite simple, but quickly problem occurred.
The first test: I built several pairs of vehicular Red Guards from the war factory and use waypoint to make them move at the same time.
The result of the first test can be seen below as the 1.gif
As you can see, the steps are totally messed up despite the fact that they started to move exactly the same time.
The second test: Then we turned to another solution: add IdleRate= tag to this SHP vehicle to make them play walk frames constantly even when not moving.
This time we placed these SHP vehicles directly on the map with the FinalAlert instead of building them.
The result: 2.gif
Now they kicked the steps right. But infantry kicking goose steps when not moving is just retarded anyway...
The third test: We thought that maybe only SHP vehicles that are generated at the same moment can "kick the synchronized steps" i.e. play the same frames at the same time, and the "IdleRate=" solution weren't of any importance at all in the second test.
We removed the IdleRate= tag and did the third test.
The result: 3.gif
With this we came up with a inference: The SHP vehicle's walk frames aren't played from the first frame when start moving. Instead the frames are starting to be counted at a set rate whenever the vehicle is generated, and continuted to be counted even when standing still. And when the vehicle move, the frame corresponding to the counter, not the first frame in the corresponding sequence, are played first.
What a f**king stupid logic.
To prove this we made the 4th test: 4.gif
And for comparison, how infantry's walk frames are played is shown here: 5.gif (all these infantry is built individually from the barracks)
However, something unexplainable appeared...
Yes they still kicked the steps right. But if someone turned, its walk frames got unsynchronised.
The units in 6.gif were all placed on the map with FA thus generated at the same time. but their formation are re-arranged in the game (so of course they all turned differently). If the inference above is right, then they should just all remain synchronised!
Shown below: 6.gif
(PS: if IdleRate= is added, this problem won't occur obviously because of the frames being constantly played)
How can we explain this?!
Stronk WW logic.
Anyway the “goose step parade” idea is proved feasible in the end.
But I still can't understand why WW's programmers opted to make the SHP system in this fashion...
Stupid game.
: (
1.gif
Description:
Filesize:
1.12 MB
Viewed:
1697 Time(s)
2.gif
Description:
Filesize:
3.32 MB
Viewed:
1697 Time(s)
3.gif
Description:
Filesize:
1.29 MB
Viewed:
1697 Time(s)
4.gif
Description:
Filesize:
188.08 KB
Viewed:
1697 Time(s)
5.gif
Description:
Filesize:
770.44 KB
Viewed:
1697 Time(s)
6.gif
Description:
Filesize:
1.19 MB
Viewed:
1697 Time(s)
Last edited by Trans_C on Sun May 24, 2015 10:44 pm; edited 2 times in total QUICK_EDIT
Err, obviously the engine was never intended to syncronise animation positions between intependant instances of units.
Presumably they keep some internal counter that is constantly incremented and WW made it pull double duty used modulo to play the walk animation when needed. Why waste memory remembering what walk frame you were on when moving to a different animation state if you already have a counter to increment your animation position and you don't need to be syncronised? QUICK_EDIT
Why waste memory remembering what walk frame you were on when moving to a different animation state if you already have a counter to increment your animation position and you don't need to be syncronised?
But why keep that counter? The mechanism for SHP infantry is much more simple: always play from the 1st frame. Why they introduce a different, more complex mechanism for SHP vehicles, for no obvious reason? _________________ Aka DirtyChicken QUICK_EDIT
Which locomotor do you used for your SHP vehicles?
Different locomotors control different how the walkanim plays.
Use an infantry locomotor on your SHP vehicle and you have the exact same movement/animation system as on infantry. (vehicle has ROT=100 by default, means it jumps instantly to move direction and has only 8 facings)
Mech locomotor and normal drive locomotor also work different.
Trans_C wrote:
But why keep that counter? The mechanism for SHP infantry is much more simple: always play from the 1st frame. Why they introduce a different, more complex mechanism for SHP vehicles, for no obvious reason?
Infantry is usually very tiny, thus no problem when the anim starts every time from first frame.
On vehicles, it's actually good it remembers the movement state. Vehicles are bigger, thus a walk anim is easier visible. On some complex walk anim (e.g. squid or dolphin), it would be stupid if the anim always starts from first frame again, after the unit has stopped. You would always see the jump in the anim.
Other example are rotors with more frames than only 2. When you see a full smooth rotation, such jumping back to first frame after each stop would look stupid. _________________ SHP Artist of Twisted Insurrection: Nod buildings
Which locomotor do you used for your SHP vehicles?
Different locomotors control different how the walkanim plays.
Our first attempt is changing the locomotor, which fails to address this problem, so I didn't test more.
Maybe I should have more tries?...
Edit: Originally we used the locomotor for VXL vehicle ({4A582741-9839-11d1-B709-00A024DDAFD1} ).
Change it into {55D141B8-DB94-11d1-AC98-006008055BB5} (the sacred SHP Vehicle locomotor according to modenc), but it behaves exactly the same.
Change it into {4A582744-9839-11d1-B709-00A024DDAFD1} (infantry locomotor), and it made a beautiful glitch. The sequence seems incomplete and they still kicks the unsynchronized steps.
And most importantly, now a single tile can be occupied by multiple vehicles like this just like infantry.
This is least wanted since it will ruin any attempt to make a rigid formation.
inflocomotor.gif
Description:
Filesize:
409.67 KB
Viewed:
1646 Time(s)
_________________ Aka DirtyChicken Last edited by Trans_C on Mon May 25, 2015 12:45 am; edited 3 times in total QUICK_EDIT
Use an infantry locomotor on your SHP vehicle and you have the exact same movement/animation system as on infantry.
No it doesn't work.
Lin Kuei Ominae wrote:
On vehicles, it's actually good it remembers the movement state. Vehicles are bigger, thus a walk anim is easier visible. On some complex walk anim (e.g. squid or dolphin), it would be stupid if the anim always starts from first frame again, after the unit has stopped. You would always see the jump in the anim.
Other example are rotors with more frames than only 2. When you see a full smooth rotation, such jumping back to first frame after each stop would look stupid.
Yes, maybe ww programmers did so solely for dolphins and squids which still play their walk frames when stopped. And terror drones doesn't need to kick goose steps after all...
But it's still stupid!
And infantry's standing frames are hardcoded to be only 1 frame! What a stupid limitation!
Maybe...the game has problem handling repeating SHP frame sequences so ww programmers choose to compromise like this?
Still, stupid game. _________________ Aka DirtyChicken QUICK_EDIT
That is strange. I would have expected exact same movement behaviour like infantry.
What you could try as well is preventing any acceleration. Infantry instantly move full speed, while vehicles accelerate by default.
Maybe this breaks the formation and also changes how the walkanim plays.
DTA used the following code to prevent any (de)acceleration on vehicles, so they move like in TD/RA1
Though not sure if this has the same effect in RA2.
Is it necessary to have user interaction during these parades and do they walk around corners?
Otherwise if it's just for show, you could also render one big SHP which has the whole army inside with many infantry. So it's just an animation and not really a unit. Could be also done as a building, which you shutdown via trigger (so no anim plays) and then turn on when you want the parade to start. _________________ SHP Artist of Twisted Insurrection: Nod buildings
Yes, maybe ww programmers did so solely for dolphins and squids which still play their walk frames when stopped. And terror drones doesn't need to kick goose steps after all...
But it's still stupid!
And infantry's standing frames are hardcoded to be only 1 frame! What a stupid limitation!
Maybe...the game has problem handling repeating SHP frame sequences so ww programmers choose to compromise like this?
Still, stupid game.
You keep forgetting how slow computers were when the game was released, they already pushed the limits of animation and rendering performance without adding unnecessary activities. QUICK_EDIT
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum You cannot attach files in this forum You can download files in this forum