I'm working on a mario party type game but I can't figure something out. I'm using pistons to make the pieces move but I couldn't get the to turn, the really nice people on this server told me to use go to chips, lerp chips and invisible collision as markers but I didn't really understand. I will admit that I'm not good at circuits but I'm also not bad, I'm just very mid at circuits so you may need to dum down your explanation so I can understand. Thank you in advance!
#I posted this here a while ago but I still need help.
154 messages ยท Page 1 of 1 (latest)
Welp, sometimes u just have to buckle down and understand, idk wut else to tell u, if all those ppl gave u a solution, you should try understand it, bc i can tell u rn, the ppl saying lerp are correct.
So by making another post like this, your not gonna get any different answers. But nonetheless, im try to explain it step by step. but if u dont understand it, thats that.
First question, are u looking to save on ink, or chip space?
It's not a priority at the moment because the game's in a very early state.
sooo, you dont want me to explain it in probaly the easiest way, a step by step conversational format?
No that would be nice.
Mk, well anyway, you want to save on ink or chips?
Yeah sure.
save on either chips or ink, its one or the other 
I'm sorry I thought you were asking if i wanted to do both smh, ๐คฆโโ๏ธ I want to save on ink.
ok, then a "Vector3 create" and a "Quaternion create" are going to be your points on the board the peice will go to.
First off, spawn those and a "vector component" and "get position" and "get rotation".
This is going to have you painstakingly record its position and rotation exactly into the corresponding Vector3 create for postion, and quaternion create for rotation. The higher on ink way is easier btw
do NOT enter the position and rotations yet btw, you also need "vector3 split" & "quaternion split"
Ok I got it.
ok, do you have show pivot on in makerpen general settings?
Yeah.
Rotation snap 90 or 45?
Hold on lemme set it to that real quick.
Ok got it
ok, do you know the global axis of your room? You MUST know otherwise everything will be very wrong. If you dont ill explain how to make a circuit that lets u know
how do i check that?
event receiever configured to 30hz, get local player position, vector split, to string all x,y,z with 3 to string chips, then string format, configure, add 2 more inputs, and plug in the x,y,z to string accordingly with format set to "{0} {1} {2}". Then plug the output of format into show subtitle activated by the 30hz, and study your position.
if the 1st value increases, your going in the right direction of the global axis, if it decreases your going to the left direction of the global axis.
if the 2nd value increases, your going in the up direction, if it decreases your going in the down direction.
if the 3rd value increases, your going in the forward direction, if it decreases your going in the backwards direction.
also, to make it even easier to understand, round the x,y,z before plugging them into their to strings
Done! Sorry i took so long.
Its fine, now that thats done, make sure your facing the forward direction, and you have uniform shapes, dont rotate while moving, and world space toggled on
Ok got it
alright, so now create a cube (making sure to face the forward direction) and stretch out the ends of it (like a rectangle) and select it, and choose "center pivot" and press done editing
ok got it
now recolor the rectangle blue and clone another at its same position by pressing the white plus sign tab, edit 1 of the rectangles, and rotate it to where combined, the two create a sideways "+" shape (NOT upright, it should only look like a plus when your looking above or down on it), then recolor red, and done editing
ok got it
ok, and clone the blue rectangle directly again and edit 1 of them and rotate it up and recolor it green, done editing.
Then select the blue rectangle first, and then the other 2, and merge
ok got it
ok, then save that, and the position displaying circuit as an invention. Now u have a device that tells you the global axis, just remember to rotate to where the blue is facing forwards, and green is facing upwards 
but no seriously this will come in handy for this as well
also, make sure the pivot point looks like the plus thing. Blue to blue, green to green, red to red.
ok got it
ok, so now rotate the forward direction of the board game you want to face the forward direction of the plus thing
the positions dont have to be alinged
ok done
now make sure the board pivot is centered, and the blue is in same direction as the blue on the plus and the green is in same direction as the green on the plus
k done
Also, by this point you dont need the position displaying circuit, we needed that to make the plus thing so we can alwaya make a reference to it
oh ok
now move the vector component to the first spot on the board, making sure its facing the direction the peice should go
k got it
now plug the vector component into the get position and get rotation
ok done
Are you on PC, Console, or Mobile?
im on quest 2
ah dang, if u were on one of those, screen mode, you could copy and paste the values in, your gonna have to type them- ๐
Ok, anyway, then plug those into the vector and quaternion split, and type each value from the splits precisely into the vector and quaternion splits
yeah, but its the way to save ink xD
WAIITTT
@primal lotus Subtract the position of the board from the vector component, thats what you have to split, and never mind the get rotation, i forgot i foundout better way xD
oh thats really useful lmao thanks!
ye xDDD
but yeah, nowwww type the value from the subtract split into the vector create. (Make sure you subtracted in correct order, im not on rn so idk xD if its the wrong order, unfortunately u have to type that in to figure it out, find out by testing it (ill tell u how) and if its correct order, u keep it, otherwise gotta reverse the order of the subtract and type that in ๐ญ
Also, sorry again but i also just so happened to remember it turns ๐ญ, so u WILL need the get rotation and split, and type into a quaternion create
Sorry i been so off, im not on rn and lack sleep xD
ok, here ^ xD
oh its fine
got it
ok, now add the vector create to the position of the board, and set position of something like a button to the output
ok got it
if it ends up at position of vector component, we good, otherwise gotta change the order in the subtract and type it into the create again xD
ok got it
alright, now u know the subtract order is correct... Hmmm, honestly dont know bout rotation, its would be the same idea as the vector, subtract the boards rotation by the vectors components rotation, put that into a quaternion create, but im not sure thats how that works/cant subtract quaternions
maybe try get rotation of the board, split it.
get rotation of the vector component, split it.
then subtract each value by the other, (x - x, y-y, etc) and PLUG (dont type) that into an quaternion create, and try setting rotation of something to that quaternion create
@primal lotus ^
ok i'll do that
alr done
did the object u rotated's pivot match with the vector component's pivot?
upon set rotation
yeah
hmm, ok, just to make absolute sure, rotate vector component to the left of its current rotation by 45 degrees and set rotation of the object again
ok did it
they match up?
yes
hmm ok, that seems to work then, so now return the vector component to its normal rotation and enter the subtracts into the quaternion create
k did it
alr, THATS POINT ONE xD now point 2, same thing, new vector create. If point 2 is same rotation as point 1, no need to enter its subtracted rotation into a quaternion create
damn thats alot
Yep, and its for every point xD however once again, only need new quaternion create when theres a new rotation
once again, more ink way is WAY easier
xD
ok well imma do that now
the ink way? or continuing this more chip way?
lets continue the more chip way
ok xD goodluck ๐
im probably gonna need it XD
yee xD just gonna take awhile.
just tell me when all points are set up xD
Np! ๐
well, while you doing that, it'd actually be lil more efficient to just tell u the next step so u arent waiting for me to type xD
List create, and add each vector create into one list create, configure to add more inputs.
After that, clone the list create, and plug in the quaternion creates where they're used.
Example: if points 1-3 are the same rotation, plug in the same quaternion create for the first 3 inputs of the list create.
Basically this
P = Point
R = Rotation
Alsooo, actually, a cheaper way is with Int value switch
So get 2 of those, they behave just like lists, just cheaper. Only thing is u cant save their data like list, but im pretty sure u wont be needing to do that
And do everything i said about the list, but for 1 int switch for positions, clone it, and plug in the corresponding rotations
im finally done๐ฉ
ik๐
@primal lotus but yeah, now do this, add compare values from 1 - (ammount of points (subtract by one because you should use the first vector create as the "default" port on the int switches))
or well, start from 2, not 1
bc 1 will be default
alright, and clone that for rotations
alr done
alr, and positions and rotations are plugged into there corresponding inputs?
alr did it
ok, now u have the cv2 dice right?
yes
ok, so on roll complete, add int variable by the result, and also hook the output of it to the match on the int switches
ok got it
alright, now after you add int variable, if int variable greater than the amount of points, then set int variable to the amount of points.
ok did it
Or wait, use greater or equal to, than u'll know when they reached the end of the points too
Alright, will users ever be able to like, hold the board? or will it always be in one place?
it will be in one place
ok, are you comfortable with using delay? They take no CPU untill activated. However event receiever configured to 30Hz is more reliable but has idle cpu
i think i should use the event reciever
ok, so after rolled (if reached the end or not (so use the "else" on the if check for when int variable is greater or equal to, and after int variable is set to ammount of points there are)) set bool variable true
Then event receiever configured to 30 Hz, if bool variable
ok i did it
Alright, nows bout time you make sure your moving peice has its pivot centered, and set position of the peice to position of the first vector create
ok got it
alr, now edit it, and raise it above the board if its not already
oh its already there
ok, thats good.
Now on the vector int value switch, add the "data" output of the board to the position of the board, and plug that into rotate vector, with rotation of the boards rotation
ok done
alright, now plug that into the "End" of a "lerp" chip. You can play with progress after its done but for now set it to "0.05" or sumn
And plug the position of the peice to the "Start" of the lerp
ok done
alright, now for the rotation switch, quaternion split, and add it to the split of the boards rotation and put that into a quaternion create.
And idk what the quaternion equivalent of "rotate vector" is for quaternions, but u may not even need it? xD only one way to know. Plug that into the "End" of a slerp, and the peice rotation as "Start" with progress "0.1" or sumn
ok got it
now plug the lerp into position, and slerp into rotation of a set transform
ok got it
And actually, im not sure bout this bool variable thing, but it might be cheaper, especially for idle cpu.
But after the set transform, if distance of peice to the output of the rotate vector equals 0, then set bool variable false
And then plug the "then" from the if that has the 30Hz into set transform and you should be done!
I would also direction connect the 30Hz to the set transform and unplug the if after it just to make sure its cheaper
Expect issues with rotation tho xD not very confident about the whole thing. Definitely need the "rotate vector" equivalent for quaternions so it supports the changes in direction in any orientation
@primal lotus ^
ok
also thanks alot its working really well!
but the changes in position should work in any orientation ๐
np! ๐
welp ima go to sleep its like 2 am now
same xD good night :3
Hopefully someone can come in with some info for the quaternions
good night
ill add come up with a way that goes from point to point too
also, if this is multipayer, there neede to be some networking
@primal lotus This is how to make go from a point, 1 point at a time