tsunamayo / Starship-EVO

Welcome to Starship EVO bug tracking repo !
112 stars 17 forks source link

Just a little preview #5790

Open tsunamayo opened 1 month ago

tsunamayo commented 1 month ago

image

ProPeach commented 1 month ago

What!!!!?!! I thought mechs were miles away! 🤯🤯🤯

Crimson-Artist commented 1 month ago

e28

Alkaliii commented 1 month ago

YOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO

Horkas commented 1 month ago

Very nice! This is going to be a huge aspect of gameplay back into the fold!

BigBadKangaroo commented 1 month ago

I really wonder how long you've been working on this, and how long it will take you to get the Mechs out :D I remeber you saying in the past that this would be a physics thing with colission issues etc ... seems like you made some progress on that.

Anyways, can't wait to see how it will work! Get's me excited!

TIKIRobo commented 1 month ago

Well this is quite neat! Walk I can't wait for this gif to be recreated so we can show how far the game has come!

tsunamayo commented 1 month ago

@ProPeach I figured I have been focusing on survival for so long that I might give you something for a change! @BigBadKangaroo Well it is not as integrated to physics as I planned there are still quite a few cheat needed. @TIKIRobo Well the good news is that you have to do the animation yourself, I also can "pin" the foot on the ground, so it looks much more realistic.

I will give you a preview of that soon, as I will need some feedback before going further. The big question mark is the custom animation, ie is too complex?, do you want to make more animation type (there is just walk for now).

TIKIRobo commented 1 month ago

I will give you a preview of that soon, as I will need some feedback before going further. The big question mark is the custom animation, ie is too complex?, do you want to make more animation type (there is just walk for now).

@tsunamayo I think for the animations having the option to custom make them is amazing and an absolute game changer however if there were a few present animations on top of the custom system that would be helpful. With presets it would allow people to easily toss an animation on something and then fine tune it from there, or it could act as an example for people to learn from.

however since I don't understand how the system works currently IDK if thats even possible.

for animation types im not sure what you mean could you explain a little more maybe?

Horkas commented 1 month ago

@tsunamayo Some of my thoughts on the topic:

However, it will have to be focus tested. If the system is easy to use and create animations with, then it can also be ported to the human characters to allow players to make custom animations for the player model as well. As the rigs shouldn't be too terribly different from one another if I am picturing it right.

So the system is VERY interesting to see what happens with.

tsunamayo commented 1 month ago

Well yes I will likely give preset animation, the big problem is that depending on how you put your rotator / join it will likely be completely borked. You can preview the animation on the computer though, so it is actually really fast. I was planning on adding IK, but again it is not a silver bullet, it doesnt replace a true anim most of the time. I will add it so the mech can walk on uneven surfaces.

tsunamayo commented 1 month ago

wip: https://github.com/tsunamayo/Starship-EVO/assets/6604318/2bcc1f02-0867-4d0b-8600-0b28a259eaa8

TIKIRobo commented 1 month ago

@tsunamayo that is very neat looking! the current menu looks like it may be a bit cluttered but otherwise seems understandable

the one thing I might suggest is adding some sort of timeline to help visualize and edit the animations.

image it could look something like this, time at the top, different joints for the rows and then "actions" could be placed on the timeline. They would tell the CE to move and then you could adjust the speed of things by making the box longer/shorter.

image this is sorta what blender uses

ZachZent commented 1 month ago

Renewing my request for standing and saddle seats for the mechs

tsunamayo commented 1 month ago

@ZachZent Ah yes, we are gonna need a saddle: https://github.com/tsunamayo/Starship-EVO/assets/6604318/229f7dc1-4ac5-4ff1-8f56-a95c30df8e55

tsunamayo commented 1 month ago

@TIKIRobo This is not really how it works, beside I cant spend a week on working on a full blow editor mate, I have something that is working for what we need I think. I need to add a key for the idle position though.

Horkas commented 1 month ago

"I was planning on adding IK, but again it is not a silver bullet, it doesnt replace a true anim most of the time." - Correct, you still need to have baseline walking animations for the IK system to pull from. Hopefully, once you get the IK system in place as you mentioned, it will make the creation of walking animations easier. As you can be MASSIVLY less precise with animations created and still looks passable.

My feedback on the github videos shown:

Crimson-Artist commented 4 weeks ago

wip: https://github.com/tsunamayo/Starship-EVO/assets/6604318/2bcc1f02-0867-4d0b-8600-0b28a259eaa8

from the complexity of the editor I think we should have a way of saving and loading walk animations. This way players can create and share cool walk animations as well as allowing players to quickly load up a specific animation without having to constantly copy paste values

ProPeach commented 4 weeks ago

The big question mark is the custom animation, ie is too complex?, do you want to make more animation type (there is just walk for now).

Looking at that editor GUI wow yeah I didn't expect that level of player input, most players will definitely just want to use a preset as you say Tsuna rather than tweak each joint angle/time

@BigBadKangaroo Well it is not as integrated to physics as I planned there are still quite a few cheat needed.

How much would those physics elements affect the end result? If it would mean you having to tear up and re-do work I wouldn't mind waiting until you can build mechs on top of the newer physics. I'm guessing it's things like forces being applied up the child entity chain rather than just down.

Looking at the joint bricks themselves, do they have one axis of rotation, like a hinge? That might be a little limiting when it comes to things like the ankle which would rotate sideways to match terrain with IK, or the hips which might spread the legs a little or the shoulders, which would all benefit from having at least one extra rotation axis like the Lego EXO-Force bricks. I guess you went with one axis so that you could do the custom tweaking more easiliy?

Personally, I would suggest something closer to the original system in terms of user experience. Use Ball Joint bricks and then have a less customisable, more procedural animation system like a character would be rigged. That way the mechs movement can be made smoother and more natural thanks to the Ball Joints additional axis of rotation and could have some pre-rigged animations like walking/strafing etc.

https://github.com/tsunamayo/Starship-EVO/assets/27857711/fa756d0c-f6c9-4b5e-8ee9-fa41e0056849

That could be the baseline, and then perhaps you could use a menu like you showed off, or some widgets in space around the joint to tweak individual joints on top of that? I completley understand that we're seeing very ealy WIPs atm and you have said that you're looking into presets which is great, but I wonder if the shape/single axis of the Joint Brick is already influincing the whole mech system to fit them.

Fundamentally I think relying more on pre-made animations would result in a smoother user experience, and also a nicer moving mech in the end. Maybe leave the super high end of customisability to the programmable logic block idea you were musing about in this thread? https://steamcommunity.com/app/711980/discussions/0/3417684796196739925/

ProPeach commented 4 weeks ago

Following on - Educating the player via a diagram when they hover over the Mech Computer in the Codex of this base layout of Joints for example, then building the prefab walking cycles around it 711980_20240605132103_1

With regards to the Joint - The ones shown off in your videos have a lot of extra space, I guess to give rotation past 90 degrees - are there many instances where you'd need that extra room? Otherwise it'd be really nice to have it shrunk down to a more standard cube bounding box which will be a lot nicer to design around and look stronger, like the second model along here.

image The three on the right are of a Joint with a vertical rotation axis, which would enable much more natural stances for a mech and smoother motion, although it still doesn't solve the ankle roll which really would need a ball joint/3 rotation axis

Crimson-Artist commented 4 weeks ago

Fundamentally I think relying more on pre-made animations would result in a smoother user experience, and also a nicer moving mech in the end. Maybe leave the super high end of customisability to the programmable logic block idea you were musing about in this thread? https://steamcommunity.com/app/711980/discussions/0/3417684796196739925/

For the sake of simplicity it would be better to have the mech computer just have drop down menus for animations and some other basic settings.

The animation editing should be handled with a separate block/computer call it the "Mech Lab". players can place it down on the mech and edit all the mechs animations and save it to a folder in the starship evo directory (for sharing later). By default we should have at least 3 premade animations: bipedal, reversed joint, and quad (If we can have more than two legs).

BigBadKangaroo commented 4 weeks ago

@ProPeach I figured I have been focusing on survival for so long that I might give you something for a change! @BigBadKangaroo Well it is not as integrated to physics as I planned there are still quite a few cheat needed. @TIKIRobo Well the good news is that you have to do the animation yourself, I also can "pin" the foot on the ground, so it looks much more realistic.

I will give you a preview of that soon, as I will need some feedback before going further. The big question mark is the custom animation, ie is too complex?, do you want to make more animation type (there is just walk for now).

It sure is a welcome change from the Survival stuff. Sadly I don't really understand a lot of programming stuff, so I can't jugde at all what is even possible to get the physics level up to. But you'll make it work some how ... just like planets :D

But some things I'm really curios about: -how many legs will we be able to put on our Mechs? 2? 4? 8? ... 20? -And do the new hinges need to be in a vertical position (like in your short demo videos) or can they be in a horizontal position as well? To give some examples of what I'm thinking of some Star Wars stuff; AT-OT (8 legged walker) / Homing Spider Droid (4 legs and the hinges would move sideways) / AT-TE (6 legs with vertical and horizontal mixed) / or are you going for just the bipedal sci-fi/gundam style with arms etc (i.e. Mech Warrior/ Armored Core)? -How does the Mech Computer registrate what hinges are what? (which hinges is for the foot, hip, knee) / do we tell each hinge via "f" menu or do we link them? Does it automaticlly get which one is what?

tsunamayo commented 4 weeks ago

So a few note on the current approach:

I plan to add a default preset for east/west mech. It will autofill the animation keys. Then player can tweak or correct it if necessary. Honestly it is really easy, I will give you a preview build today/tomorrow so you can try it. I just googled animation cycle, input 5 keys per rotator, with the preview it takes a few min to setup that's it. I will add a way to pause the preview animation.

You need to configure each rotator: what bone, and left/right.

If you don't tweak anything then it is equivalent to the older approach. I picked that approach because I want to give you more join mechanisms (I also want to add a ball join, and 1/2 more rotator), at the end I cant have an anim that will fit all cases. I will also add a custom bone type, so you can create more exotic limb chain (bone type it just a label for the animation). With that that system you can make anything, AT-AT, spider, whatever.

Then I also want to try to add some modifier button: ie squat idle position, amplify stride ect so you can still edit the animation without touching the numbers. I will also try to add some smarter features for mech that use ball join: feat that auto align to terrain, and hip that will try to make the body straight.

Right now there are a lot of corrective force so the mech dont fall over, and so the mech move forward. Those still require a lot of tweaking.

Yes I would like to add more animation clips for strafing / jump and more, but it should be optional as most people wont care about them. I will also add IK for the head, and I really want to add custom mech weapon so that would mean IK for arm too.

tsunamayo commented 4 weeks ago

@BigBadKangaroo with that approach you can make anything you like, of course there wont be default preset for it. But I want to add a preset saving system like for the space battle editor.

@ProPeach Send me your design those are solid one! Actually my first implementation was having a vertical rotator too like yours, but for the sake of simplicity I got rid of it, and I will add a similar flat rotator to achieve the same result. It will be more clean and that rotator will be useful elsewhere. I will add a ball join too, but fyi in the old implementation ball joins where animated in one axis only. I could use a per join gizmo to tweak it but honestly with the preview it just seems a lot easier to tweak a number and see immediately the result. I cant really rely too much on pre-made animation, as each player will like built its joins differently, setting up different idle pose ect. But we will see, I want to see how different your mech are.

tsunamayo commented 4 weeks ago

Mech Test.zip

Okay so I made a Mech Preview branch, you can test it if you want. My walk animation is a bit janky, there is a drop is speed when the feet hit the ground for a few frame.

Anyway waiting for feedback. The playback slider cant rewind for the moment, sorry.

ProPeach commented 4 weeks ago

@tsunamayo here you go! I'm not sure how useful the format is as I've never made a model for a game engine before, but I hope it's useful as reference at least. Both halves of the joint are the same. Mech Joint Example.zip

Thanks a lot for all the extra info! It sounds like we agree on a lot of points, I'm really curious about how this will all feel like to tinker with in practice, it sounds extremely powerful from what you say about including any mech type plus squat etc. Of course very much looking forward to testing this out tonight and getting back to you, thanks for involving us!

asanagisae commented 4 weeks ago

Great work, @tsunamayo !

With a bit of tinkering, the animations can get pretty good.

https://github.com/tsunamayo/Starship-EVO/assets/10069469/9afc7e36-4f93-4ce9-a841-61efbee59586

MechaBird.zip

Ideas:

Suggestions:

Issues:

piotmetans commented 4 weeks ago

https://github.com/tsunamayo/Starship-EVO/assets/660015/b1b38a1f-ae11-43b4-9b98-33619e748b13

This was fun, but I did have one pretty big issue when designing the animation for this one. It's a bit hard to explain, but here goes.

The bulk of the animation for this guy is done towards the beginning of the walk cycle, so I have several frames near the beginning and few near the end. If I were to offset the frame time by 50% for the opposite leg, the start of the frame lands somewhere in between two frames. I need to manually calculate the angle of the joint at the start of the cycle and introduce an additional frame for the opposite leg because there is no 0.5 frame in the original animation. Here's the right leg:

image

The proper offset for this one would be at 0.5, so I need to calculate the angle for the first frame of the left leg manually (based on the 0.5 time of the right leg) and introduce an additional frame:

image

Another demonstration: image

I don't think this should be necessary. A simple option to copy one full animation and offset it by a percentage (50% in this case), would fix this issue.

BigBadKangaroo commented 4 weeks ago

After playing around a bit with the new mech computer I really have to say: this is really hard for me to understand how it is working.

-The left / right side of the leg need an offset timing (just alone figuring this out was a pain). A mirrioring function for each side would be nice to have. So you can adjust one side with a full movement and then copy it to the other side. -Adjusting all the moving parts just by numbers gives me headaches. I really struggle with understanding when which angle needs to be in which position. For me it's really hard to read of the UI how this stuff works and what's effected by a change (This might just be me because I'm not a math guy at all and it is somewhat frustrating) -I don't understand how these two things are connected, but when I have a 3sec walking animation it really confuses me that the timing for the single joints is done at max. cap of 0,99 ... wouldn't it be much more obvious when the cycle time for the animation is related to the general walking cycle time? And the timing for the joints connects to the seconds in the walking cycle? Screenshot 2024-06-06 203118

-I find it really difficult to keep the Mech leveled out because you cannot see the ground level in the preview. It's really hard to recreate a natural foot movement this way -It seems like you can only place one of each joint type for a mech computer. I linked two knee joints for one leg and the computer showed me only one knee to articulate. (fair enough, 2 knees for a walking mech is a bit niche, but would still be cool if possible)

However I got something done and it somewhat works:

https://github.com/tsunamayo/Starship-EVO/assets/81495956/bd8d23c5-9145-47a3-a218-30073a075724

https://github.com/tsunamayo/Starship-EVO/assets/81495956/5ae143c2-ae1a-4205-b730-313f0503c11e

asanagisae commented 4 weeks ago

After playing some more, I'm really loving the sliding and drifting with the mechs, which were not present in hovercraft. This is an absolute game changer. While SE still has the upper hand in terms of allowing simple users to create medium-detail craft quickly (through DLC alternate block skins), SEVO is poised to have the upper hand in terms of allowing simple users to create animated craft quickly. We just need to tailor the UI and experience for normal people instead of programmers. I'm never going to touch hovers again after this. 😄

A bug: The pilot's default orientation (for physics) should not be tied to the orientation of the joystick (which is sideways in this mech), it should be tied to the seat instead.

https://github.com/tsunamayo/Starship-EVO/assets/10069469/65ba315a-af8c-4adf-8b0a-ad3cafb211f3

COMICLER commented 4 weeks ago

I think having the option of using the tag tool to name joints will help with making more complicated mechs

tsunamayo commented 4 weeks ago

Thanks for the feedback all!

@BigBadKangaroo So the timing must be normalized: if you change your mind and change the walk time, then it would invalidate all keys timing, you would have to update all. Also I plan to get default and sharable anim. The number on the slider also needs to be normalized, ie so you can understand where you are in your anim keys. Just forget about the real time it does not matter really.

Also you need to look up an anim cycle picture on the web, it is actually really technical. Then progress from hip-> knee -> foot, as any change to the hip must will impact how things are lower down.

I will try to add ways to copy anim from the other side, but it might not work depending on how you built the mech.

If you want too different ankles you will need to use the custom field (not working for now).

tsunamayo commented 4 weeks ago

@asanagisae Nice build! Did you put the anti slip at 0? This is why I wanted to give something that can be used for generic anim. Yes the player is completely borked, I havent investigated yet.

tsunamayo commented 4 weeks ago

@piotmetans Hi, it looks really neat indeed! Dont hesitate to share your mechs guys so I can have a look at it. Yes anim are offset by 0.5, it is how anim cycle works. This is why the you define keys timing at the level of the limb, and not globally. I will try to add a button that does a copy from on side to the other. For some reason your dont need to be inversed, when in my case it was necessary (it depends on how you built your rotator).

tsunamayo commented 4 weeks ago

@asanagisae Also for doing your first nausicaa like ship you will need an upgrade version of the sequencer, it will feature the same anim logic but you will be able to connect it to other mechanism, or light or anything.

tsunamayo commented 4 weeks ago

@ProPeach Thanks for the files!

tsunamayo commented 4 weeks ago

So guys here are a few animations: https://www.google.com/search?sca_esv=1aea21ce6623e3de&sca_upv=1&sxsrf=ADLYWILhnn_INlBg1jZDUhygBZkByLF1eg:1716795454765&q=walking+cycle+animation&uds=ADvngMh0XpvccYpCvUJmj0CCIbWgnkx2BfyBI0q1On0gl8s7hKwWk8CAi96Ti7mGMVAbInWi4oIwKnhteVt0brqfNuh-AQ0b7AslhK8dGDeAf8rP8Bh4Jnt0yUozpGe0RFelaHmQstZgWo4H2PNitQAxiq3CPWFgr3JfaxONpRpf-8C-GhPBzT_MBBrdQdo_GPaqgDa7Q1k-ohIJuqMkyw-Tc4a9tAR2rLAjNu8Jhv2PAwTlqqb5jmeW3f-uNbUd7RikadFshaWaTTYEfsMc66jx_EZzothNbXjjcEm5G4Ch2UPqL_jUv1QUcyNmhORhzhSgScyI1maGwkhI6AJHwh9HONbZ-QV4Tg&udm=2&prmd=ivnsmbtz&sa=X&ved=2ahUKEwjat-65qa2GAxUfsFYBHS2wDfQQtKgLegQIExAB&biw=1920&bih=953&dpr=1#vhid=LGMRosgQYVGVgM&vssid=mosaic

For a reverse ankle stance (what we call West style back in the days): https://www.cgtrader.com/3d-models/character/sci-fi-character/two-legs-robot-walk

piotmetans commented 4 weeks ago

For some reason your dont need to be inversed, when in my case it was necessary (it depends on how you built your rotator).

Ohh I guess it's supposed to be offset automatically? I really messed something up then eh? :satisfied:

Here's the little guy in the video if you'd like to mess with it: mechbrr.zip

tsunamayo commented 4 weeks ago

@piotmetans Nope it just depending on how you built your rotator, the right 50 might needs to be either 50, or -50. In your case it was the same, but for my built it needs to be -50.

asanagisae commented 4 weeks ago

@tsunamayo After tweaking the animation to not hit the ground so hard, the ride has been incredibly smooth ever since! Although, it could be considered cheating to build a mech with more than 4 legs.....

I've tried anti slip values from 0 to 100, none of it seems to have much impact for this particular mech. I've heard low values (around 5?) are helpful for other players with preventing your mech from launching itself into space at 31 Mm/s. I'm not sure that's the case, because the first and only time I was launched my anti slip was set to 0. 😄

https://github.com/tsunamayo/Starship-EVO/assets/10069469/2361039d-643d-4e62-873c-3258ab9c2056

Mechapede.zip

Oh, twice now the game has failed to close after pressing ESC and clicking to exit the game. Is that a crash I see?

Player.log

tsunamayo commented 4 weeks ago

@asanagisae Yes there are some collisions issue, it is very launchy when you exit the control, I will work on that.

Tackietacktack commented 3 weeks ago

Fantastic, I have really fun.

Some things are buggy.

After starting controlling the mech, it fly in space with lightcruise, but in water I don't have this problem so I think something with planet gravity?

After five steps it flip forward, I have play with "Cancel slip amount" and "speed" but that don't help enough. Too much "Cancel slip amount" and it stuck on the ground, not enough it flip forward. Does I make something wrong? I don't know how it is by other people.

Somemore tags(arm, leg,..) could be nice, if I have understand it right, then are the foots only important and the rest is for movement design? 4pieces more are really nice.

And by building of the new hinge the autofang don't work right(Bricks are most red marked).

Suggestion: if we could have a buttons to mirroring and "anti mirroring(?)" for left and ride legs or arms are be helpfully.

COMICLER commented 3 weeks ago

20240607114853_1 20240607114911_1 loving the mech build

asanagisae commented 3 weeks ago

Is there anything we can do to make mechs less floaty? This one has a lot of bounce.

https://github.com/tsunamayo/Starship-EVO/assets/10069469/872c7dcc-bc53-4f0d-a302-ace52cf83321

https://github.com/tsunamayo/Starship-EVO/assets/10069469/8bd0eb7e-e6ab-4f8a-88ec-0071c941e209

This video doesn't capture the more extreme cases, but for some reason those videos tend to exceed the 10mb limit of github despite being only 20 seconds.

tsunamayo commented 3 weeks ago

@asanagisae well send the bp to me I will investigate! yes there are some collisions issues.

asanagisae commented 3 weeks ago

@tsunamayo ❤️ Mechaquad.zip

Theoretically, I could tweak the animation to minimize the speed at which the feet hit the ground (as I did with the centipede). But, the artistic direction with this mech is to have it move a little faster, faster than it is now, faster than a biped, but maybe not as fast as the centipede - that mech was super stable with all the legs near the ground.

The animation for the quad has to look fast, which means the legs have to move fast (and potentially hit the ground fast). I toned it down a little already, and it seems to have helped.

Tassyr commented 3 weeks ago

Soooo... might I make a kinda probably unpopular suggestion? Mapping out these keyframes is neat, but as I'm not from Boston Dynamics I can't plot out how to make a mech walk without slamming itself into the terrain like its' trying to faceplant. Rather than trying to perfectly simulate it, why not just... fudge it?

Like, "the lowest part on the leg assembly that's in contact with the ground is the point at which it'll render in contact with the ground, it has something akin to the hovercraft mechanism for keeping upright, and we don't have to worry so much about angles of impact for the feet?" Cause while I love this... it's kinda unworkable if I have to figure out how, with only three hinges and a few keyframes, make it walk without tearing my hair out. And uh, it'd stop the "my mech topples over like a domino once I exit it" problem too, I think. Being as I'm not "Boston Dynamics" over here, I'm one fat nerd with his after-work time.

Also I keep getting sent into orbit just getting in, so.

ProPeach commented 3 weeks ago

Yeah I'm also having the Cancel Slip Amount Issue with it speeding you away. Anything above ~10% on this mech results in the bug.

5795

Another issue is that due to the weird size of the Joint brick (1.625m at 1x scale) you can't actually place anything on a 1/4th scale joint because it's height falls between the lowest grid offset. This would be solved with a 1m Joint model like I posted : ) It basically has the same axis position and size as the regular Hinge brick

5796

In general, I've found the current Mech Computer GUI tough to work with. I've never worked with animations before although I have some knowledge of keyframing so it was quite a steep learning curve, and I'm not super happy with the results I got even after a lot of tweaking and headache, they still look very unnatural. I'm glad you're looking into a way to automate the generation of the second leg animations by offsetting the timing/angle automatically, that will save a lot of time.

If you're set on this method of animating the mech joint by joint manually, it would really benefit from a lot of quality of life and clarity enhancements to help the player through the process and reduce the need for excessive trial and error

Colour Guide To help keep track of which joints are which in the menu. Could also be of help with debugging, say if you have a Joint brick mislabeled. As an alternative of all the colours showing up at once, you could just have a single colour visible at a time when you roll over the GUI icon of each joint. image

Angle Indicator When you select a Joint on the left side of the screen, it'd be great to show an indicator on the actual Joint in situ so that we know which way is positive/negative, and can more accurately guess at our next angle input without havign to use trial and error. This is also super helpful in determining which way the joint is facing, it could be = or - on opposite legs etc. image

Larger Mech Computer GUI With long animations and many Joints, I want to be able to see them all at once so I can copy/compare. Making the GUI window larger could help me see every Joint in the list, and every keyframe of each Joint rather than having to use the scroll bars. See how much empty space is on the screen here that could be showing information. Another thing that could help here is putting groups of Joints into collapsable menus in this list. So you could hide all Joints in the Left Leg, Right Arm etc. Maybe include the ability to drag them around to reorder them into these collapsable categories? image

Limb Animations Drop Down set to Walking by Default When tweaking animations I'm frequently closing and opening this GUI, then having to selecting "Walking" every time before getting to the menu I need. "Walking" should be the default selection on thist dropdown as it is the most used option. image

Naming of Joints It could be better to name the Joints after their actual joint on the human body, rather than the body part that they move. So - Hip = Hip Knee = Knee Foot => Ankle Arm => Shoulder Forarm => Elbow

These names should be consisten in the Joint and Mech Computer GUI I can also see that there will be great use cases for custom naming of these Joints like you mention earlier Tsuna, as many players are using "Shoulders" as extra joints in the leg for eaample like this (the actuating piston is actually 2 "Shoulder" joints) - https://i.imgur.com/ZMFLP0Q.mp4

This need will only increase if you plan on adding extra rotators for the same Joints. Maybe an automatic assigning of Knee 1 and Knee 2 if there are multiple on the Left?

Overall, I'm looking forward to the evolution of this system, as it's clearly very powerful. But I'm concerned about the skill/learning requirement being much too high, even with QoL changes like this. Needing players to learn animation keyframing on Google isn't engaging gameplay even if there is a preset animation, I still feel that as much should be done automatically as posible to simplify the experience. We'll stick with you through it!

asanagisae commented 3 weeks ago

I agree with all points from ProPeach, with differences:

When you interact with the mech computer UI, it should remember the last "limb animation" type you were working on. In the future, I can see us able to edit other animation types like "jump", "walk backwards", and "walk faster" (with the shift button? 😉).

If you assign two joints to "Knee left", sometimes you really do want both to follow the exact same key frame data, rather than automatically splitting it into two tracks of key frames (Knee 1 and Knee 2). And players aren't perfect - they may have accidentally forgotten to change one of the knees to "Knee right" before linking them to the mech computer. I don't think tracks should be generated automatically like that.


While I'm loving the system so far, it seems lots of players were looking forward to mechs and just expecting it to work. They've hit one too many obstacles and their enthusiasm disappears. So, a larger margin of error would be really helpful. If we could do more to prevent bipeds from tipping over, stop mechs from bouncing into the sky randomly, maybe use IK to smoothen the animation, that'd be great!

ProPeach commented 3 weeks ago

Good point @asanagisae, hadn't thought of that! And yes it's true, I've seen quite a few players who were hyped for mechs turn away after a few minutes playing with the new system and not seeing much progress towards even a simple animation

Tassyr commented 3 weeks ago

In general, I've found the Mech Computer GUI tough to work with. I've never worked with animations before although I have some knowledge of keyframing so it was quite a steep learning curve, and I'm not super happy with the results I got even after a lot of tweaking and headache, they still look very unnatural. I'm glad you're looking into a way to automate the generation of the second leg animations by offsetting the timing/angle automatically, that will save a lot of time.

If you're set on this method of animating the mech joint by joint manually, it would really benefit from a lot of quality of life and clarity enhancements to help the player through the process and reduce the need for excessive trial and error

[...]

Overall, I'm looking forward to the evolution of this system, as it's clearly very powerful. But I'm concerned about the skill/learning requirement being much too high, even with QoL changes like this. Needing players to learn animation keyframing on Google isn't engaging gameplay even if there is a preset animation, I still feel that as much should be done automatically as posible to simplify the experience.

While I'm loving the system so far, it seems lots of players were looking forward to mechs and just expecting it to work. They've hit one too many obstacles and their enthusiasm disappears. So, a larger margin of error would be really helpful. If we could do more to prevent bipeds from tipping over, stop mechs from bouncing into the sky randomly, maybe use IK to smoothen the animation, that'd be great!

Good point @asanagisae, hadn't thought of that! And yes it's true, I've seen quite a few players who were hyped for mechs turn away after a few minutes playing with the new system and not seeing much progress towards even a simple animation

Honestly I'd say @ProPeach and @asanagisae nailed it here; I spent a good chunk of last night trying to make a bipedal chicken-walker mech. I managed to make the legs and a not terrible but kinda awkward animation, and then had to rebuild the feet to get it to just sorta walk down hills. I can't walk up hills, and there's a 90% chance that taking the first step will slam it sideways into the ground. (I gave up when I hit that bug that makes a mech go 3.smething mps into orbit.)

While I wasn't even that upset at the idea of keyframing my walk animation as it was kinda neat, doing that for every future mech and having to also carefully take terrain levels into account just doesn't feel like it's going to be fun or engaging at all, just very, very tedious, and I've got a higher hyperfixation "I'm going to try and force this to work" level than most people I know.