Patch 3.0 introduced a powerful new data type- kinetics! Kinetics are applied and removed by "Apply Kinetic" and "Remove Kinetic" effects (respectively), similar to behaviors.
The three main types of kinetics are Follow, Rotate, and Translate.
These kinetics can be combined or sequenced with the Set and Sequence kinetics.
The Translate kinetic moves a unit across the map's X, Y, and/or Z axis over a fixed duration. All kinetics have a cycle field. If left at -1, the kinetic will repeat indefinitely until it is removed from the unit. Units moved this way WILL NOT STOP when they hit the map bounds.
Translate kinetics can be used to make conveyor belts, extending bridges, elevators, etc.
Follow kinetics effectively "attach" one unit to another.
Rotate kinetics allow one unit to orbit another, along the X, Y, and/or Z axis over a fixed duration.
Follow and Rotate kinetics can be combined to create wonderful roving cannons of doom (the pylon is following the immortal; the cannons are following and rotating around the immortal).
The attached a demo map includes data from the gifs.
EDIT: Full credit to ArcanePariah/ArcaneDurandel for initial testing of kinetics.
1) Kinetics can stack without limit. It can lead to some.... interesting effects (I had 5 rotate kinetics applied to some units, with VERY high speed rotation. They were basically teleporting around, looked like a rave).
2) As pirate noted, kinetics can be set to be indefinite. This is useful because kinetics ALSO have validators, like behaviors, so you can use validators to turn them on/off as needed, instead of having to reapply them.
3) Follow kinetics effective copy all movement of the followed unit unto the following units. This includes rotation.
How did you set the conveyor belt effect area? I noticed it should be searching in a circle for the apply behavior but its not. Does it base it off of the kinetic? Also any way to adjust the kinetic force applied?
Also on a side orbit distance seems to increase from the center as time passes. And sequence seems interesting. Seems like a great way to apply one way walls in a map.
It uses a rectangular search area (added in 3.0). I left the debug trace on in the demo- the yellow rectangle within the conveyor belt.
By adjusting the distance and duration of a translate kinetic you can specify the force applied. Note that moving 1MU (map unit) over 1.0 second over 2 cycles if functionally similar to moving 2MU over 2.0 seconds over 1 cycle.
And yes, the cannons slowly drift away from the immortal as time passes. I'm not sure why this occurs.
I find that adding a follow kenetic to the cannons makes them pretty much maintain their distance (they do move out over time still, but much less quickly)
that is supah cool addition to functionality. Can you make a pulsing spiral movement around unit with that? I mean periodicaly extend/shrink the radius of orbit? I have such spell done in triggers but i think with this i can translate it to data. Thx man, didn't even pay attention to new data types :)
i spent 20 mins trying this out. I'm not 100% sure it's impossible but i didn't manage to create a spiral movement with this. Probably will try to apply force on a rotating units to push in and out. Also, seems like translate not allowing to use vector between units/points which is kind of dissapointing.
Yeah that's the big thing i dislike about translate, sucks having to declare direction ahead oh time, instead being able to do a polar translate.
On the other hand I figured out how to get a crazy random orbit going. Use a kinetic set, have a translate for each direction in the set, set the chance of the kinetic to less than 1. Not really a spiral, but pretty close at points. Also set the cycle of each translate to an integer >0. then put on the behavior as periodic effect, set period.
Edit: as an added bonus use the Enum Area validator to see if the caster is in range for random movement within an area around the caster.
This is easy, via rose pattern. What you do is setup an invisible unit A that does what Pirate has shown (Follow + rotate about a center point). Then you have unit B that orbits around unit A. A serves as the center line, and B oscillates back and forth as it orbits A. Geometry ftw :D
The overall pattern is determined by the offsets, as well as the speed of rotations. I'll find the wiki article on the subject, this is a common and awesome tool in geometry and how all rose patterns are generated. You can extend this concept without limit (B is another invisible unit, and have unit C orbit it) to generate intricate spiral patterns.
I'm assuming the grey shade is a translated area with the translation going north? I'm highly tempted to do a dance disco floor puzzles with kinetic translates
Patch 3.0 introduced a powerful new data type- kinetics! Kinetics are applied and removed by "Apply Kinetic" and "Remove Kinetic" effects (respectively), similar to behaviors.
The three main types of kinetics are Follow, Rotate, and Translate. These kinetics can be combined or sequenced with the Set and Sequence kinetics.
The Translate kinetic moves a unit across the map's X, Y, and/or Z axis over a fixed duration. All kinetics have a cycle field. If left at -1, the kinetic will repeat indefinitely until it is removed from the unit. Units moved this way WILL NOT STOP when they hit the map bounds.
Translate kinetics can be used to make conveyor belts, extending bridges, elevators, etc.
Follow kinetics effectively "attach" one unit to another.
Rotate kinetics allow one unit to orbit another, along the X, Y, and/or Z axis over a fixed duration.
Follow and Rotate kinetics can be combined to create wonderful roving cannons of doom (the pylon is following the immortal; the cannons are following and rotating around the immortal).
The attached a demo map includes data from the gifs.
EDIT: Full credit to ArcanePariah/ArcaneDurandel for initial testing of kinetics.
@PirateArcade | I make games | Ask me things on Discord
wow thx for info, looks like it has a great capability for ability creation
Haha that's cool and hilarious. This could make for some pretty cool boss fight stuff where you have to destroy pieces of a boss.
That is awesome! GG cannons of doom.
wow, i already wondered what they are good for, you saved me alot of time testing these.
A couple other notes
1) Kinetics can stack without limit. It can lead to some.... interesting effects (I had 5 rotate kinetics applied to some units, with VERY high speed rotation. They were basically teleporting around, looked like a rave).
2) As pirate noted, kinetics can be set to be indefinite. This is useful because kinetics ALSO have validators, like behaviors, so you can use validators to turn them on/off as needed, instead of having to reapply them.
3) Follow kinetics effective copy all movement of the followed unit unto the following units. This includes rotation.
PHYSICS GAMES!!!!
"What do i look like? An orc?" - Artanis after being poked.
Join our mapmaking Discord server and let's reach the 100th member mark! https://discord.gg/EGa6EPE
Vote in my poll: What do you do best!? http://www.strawpoll.me/12207821/r
@Caevrane: Go
Yes =D
My next tutorial will be on making 2D side scroller physics with kinetics.
@PirateArcade | I make games | Ask me things on Discord
How did you set the conveyor belt effect area? I noticed it should be searching in a circle for the apply behavior but its not. Does it base it off of the kinetic? Also any way to adjust the kinetic force applied?
Also on a side orbit distance seems to increase from the center as time passes. And sequence seems interesting. Seems like a great way to apply one way walls in a map.
Still alive and kicking, just busy.
My guide to the trigger editor (still a work in progress)
@willuwontu: Go
Kinetic speed is determined by the kinetic rate divided by the duration.
So if I have a kinetic that has a duration of 5 seconds, and it moves the unit 5 distance to the right, the unit will move at 1 distance per second.
Now you might ask, how do you make it last longer? That is what the cycle field accomplishes, repeats the kinetic that many times.
@willuwontu: Go
It uses a rectangular search area (added in 3.0). I left the debug trace on in the demo- the yellow rectangle within the conveyor belt.
By adjusting the distance and duration of a translate kinetic you can specify the force applied. Note that moving 1MU (map unit) over 1.0 second over 2 cycles if functionally similar to moving 2MU over 2.0 seconds over 1 cycle.
And yes, the cannons slowly drift away from the immortal as time passes. I'm not sure why this occurs.
@PirateArcade | I make games | Ask me things on Discord
@greythepirate: Go
I find that adding a follow kenetic to the cannons makes them pretty much maintain their distance (they do move out over time still, but much less quickly)
Still alive and kicking, just busy.
My guide to the trigger editor (still a work in progress)
@greythepirate: Go
that is supah cool addition to functionality. Can you make a pulsing spiral movement around unit with that? I mean periodicaly extend/shrink the radius of orbit? I have such spell done in triggers but i think with this i can translate it to data. Thx man, didn't even pay attention to new data types :)
@abvdzh: Go
Yup, that's what kinetic sequences are for! Would have to tinker to get it looking right though
@PirateArcade | I make games | Ask me things on Discord
@greythepirate: Go
i spent 20 mins trying this out. I'm not 100% sure it's impossible but i didn't manage to create a spiral movement with this. Probably will try to apply force on a rotating units to push in and out. Also, seems like translate not allowing to use vector between units/points which is kind of dissapointing.
So the hype is not real.
@abvdzh: Go
Yeah that's the big thing i dislike about translate, sucks having to declare direction ahead oh time, instead being able to do a polar translate.
On the other hand I figured out how to get a crazy random orbit going. Use a kinetic set, have a translate for each direction in the set, set the chance of the kinetic to less than 1. Not really a spiral, but pretty close at points. Also set the cycle of each translate to an integer >0. then put on the behavior as periodic effect, set period.
Edit: as an added bonus use the Enum Area validator to see if the caster is in range for random movement within an area around the caster.
Still alive and kicking, just busy.
My guide to the trigger editor (still a work in progress)
@abvdzh: Go
This is easy, via rose pattern. What you do is setup an invisible unit A that does what Pirate has shown (Follow + rotate about a center point). Then you have unit B that orbits around unit A. A serves as the center line, and B oscillates back and forth as it orbits A. Geometry ftw :D
The overall pattern is determined by the offsets, as well as the speed of rotations. I'll find the wiki article on the subject, this is a common and awesome tool in geometry and how all rose patterns are generated. You can extend this concept without limit (B is another invisible unit, and have unit C orbit it) to generate intricate spiral patterns.
@willuwontu: Go
On the other hand, this property of translates makes it perfect for things like player input and gravity in 2D games.
A preview of what's to come:
@PirateArcade | I make games | Ask me things on Discord
@greythepirate: Go
Holy. Shit.
@greythepirate: Go
I'm assuming the grey shade is a translated area with the translation going north? I'm highly tempted to do a dance disco floor puzzles with kinetic translates
Still alive and kicking, just busy.
My guide to the trigger editor (still a work in progress)