tsunamayo / Starship-EVO

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

[New build - DEFAULT] 24w42a: Turret Improvements #6041

Open tsunamayo opened 1 week ago

tsunamayo commented 1 week ago

Turret have been refactored: The player can now control how wide the turret will be able to rotate on the azimuthal and elevation axis (horizontal and vertical). The best way to edit those values is by selecting the turret with a link tool and simply drag the various gizmo.

The old systems which baked automatically has been removed. It was buggy in some case and could take a lot of time to compute triggering some freeze when entering a ship. With retrospect I should have done this in the first place, it would have saved my some time and headache!

The default setting is a 180 azimuthal rotation and 90 positive elevation. As requested it is now possible to toggle off a turret even when it is being controlled: simply link a switch to it and turn the switch off.

Community Suggestion:

6026 Event gate and logic gate HUD info

6031 Ladder are now functional

Hotfixes:

6027 Cannot use prefabs

6032 Fuel can be transferred to cargo.

=> I am now making a small library to add those kind of gizmo handle edit to other gates. I will add those to the shipyard and volumetric sensor. Do you see any use for other gates?

TIKIRobo commented 1 week ago

=> I am now making a small library to add those kind of gizmo handle edit to other gates. I will add those to the shipyard and volumetric sensor. Do you see any use for other gates?

maybe gravity fields for those of us who might not want to use ship wide? I would also love it for mechs as I and other users sometimes struggle with the current system

ProPeach commented 1 week ago

Brilliant, this is a great update all round! Thanks a lot Tsuna

I would love to see the gizmos implemented with the mech computer yeah, I still struggle with visualising angles and timings using the existing text boxes. I haven't seen many people finish and upload mechs on the workshop as they seem to be hitting a bit of a wall with the animation system.

tsunamayo commented 1 week ago

@ProPeach Okay but first do you really need to use a custom animation that often? The biggest feature should be the animation import. I mean it is similar to what we had before, before you just add pre-made animations, and the new system should deal with join build in different direction.

TIKIRobo commented 1 week ago

@tsunamayo unfortunately for a lot of users the premade animations just aren't useful, especially for people who build mechs with more legs than two

https://github.com/user-attachments/assets/3820e966-3b24-40b3-9bf1-7fac4d36b71b

from Big_Bad_Kangaroo on the discord

A tool that simplifies up the creation of animations would greatly reduce the barrier of entry for mechs. speaking from experience I have built and then scrapped multiple mech concepts because i couldn't get the walk cycle to work or look good (custom and pre-made)

while how the gizmos actually would work is up to you I think that being able to edit the animation in the real world would be a great help for me and a lot of other builders

Tackietacktack commented 1 week ago

Gravity field, then the same for logicfieldand Volumetric sensor . Sequencer gate? Could be helpful. Piston , for max range?

Crimson-Artist commented 1 week ago

AWWWWW YEAH! with the new turret mechanics i can make fully functional grappler arms! Outlaw_Star_Grappler_arms_(1)

also @tsunamayo I see you marked my latest suggestion as a bug and marked it complete. I wasn't reporting something wrong I was asking if Antennas can be turned off so we can hide ships and bases.

Uncle-Ulty commented 1 week ago

Thank you a lot for allowing us to turn it off!

I expect to see several concealed turrets in the future

BigBadKangaroo commented 1 week ago

@ProPeach Okay but first do you really need to use a custom animation that often? The biggest feature should be the animation import. I mean it is similar to what we had before, before you just add pre-made animations, and the new system should deal with join build in different direction.

Do I use a custom animation that often?

-> All. The. Time. There has not been a single time where I was using a premade animation because all my mech builds are different. And that's what I actually want to build. Something else than someone already has build. I want to build my stuff the way I want it to be set up. Using premade animations never helped me to build my mech the way I want it to work. (maybe because I have an abstract way to build stuff - might be, but still ... )

I can just support what @ProPeach & @TIKIRobo said, I think the current system to build mechs and set up an animation for them is just stressful. It's not fun (at least for me). And I can see that a new player who's not yet committed to the game and meeting the mech computer for the first time is deterred to build their first own mech.

The walking cycle from my AT-TE that Tiki posted took me ~3 hours of trail & error to get where it is now. For me it's really hard to understand what the numbers I fill in do.

The GUI for the mech computer doesn't help me much in that regard if I can't even see the whole mech leg, given that there's no way to turn the 3D model in the preview window so I can see the whole movement from every angle.

Example: That's the angle I can see the preview: grafik

That's the angle I want to see the preview with: 20241015211423_1

When the mech computer doesn't even show me the full leg, how am I supposed to see a 10° difference for a leg movement. This is just one of many problems I have with the mech animation system.

However, I really, really like the new turret gizmos and how the new system combines a good 3D visual movement with the numbers inside the turret computer. You can just pull one of the gizmos and get back into the mech computer and see the changed numbers. You can even reverse this and change a number first and then look at how the gizmos changed. This makes it quite easy for me to understand what I just did, and even how the numbers affect my 3d movement. (Which I find really hard to understand for the mech computer)

I would love to see more of a gizmo-style system to set the animation timestamps. Just so you can see and visualize what you're doing and what a changed number does.

There's a website called "geogebra.org" and someone from the community made a little prefab to "simulate" a mech leg. A visualizing system like this would make this whole process a lot easier. here's the link to it: https://www.geogebra.org/calculator/ugfujcga And that's how it looks: grafik

You can pull the ankle joint and everything else moves accordingly. Maybe you can add something like this? Maybe there could be an "add to animation" button which would then simply fill in the angles for each joint automaticly when you press it? You could then add as many timestamp-animations as you please to get the animation you want to get. (just like we can do now, but we now just have to add another animation key manually each time)

Sorry that this post has been a little bit longer, but the ~3 hour long animation-session from yesterday for my AT-TE has been frustrating. I'd love to build more mechs, and even more crayzier ones than that, but it's really stressful to get an animation done if you have a "none standard" design (4-legged, 6-legged, crab-style, spider-style etc. etc. )

tsunamayo commented 1 week ago

@BigBadKangaroo okay understood, I still think we have two discussions to do in parallel: 1) how to improve the editing of animation for custom animation, I am willing to improve the current setup. Could you send me your blueprint, first it seems it is not centered correctly. I am not sure to understand where do you want to see the gizmo: in the computer UI preview, or in the real world? Also what frame are you supposed to edit with the gizmo? The closest to the time you are in the animation?

2) the one I want to have: you say it is awful for newcomers and they are likely to drop out. I say newcomer should use the import, and I am still not sure if the import feature works as it should or not (I know somebody had an issue but they didnt not answered back so not sure what is wrong - it worked in my test) Newcomers and 90% of users wont create custom animations, I mean even with a fully fledged animation software it takes time, skills and a decent knowledge of how a walking animation works. It is the job of an animator! I mean most mech out there should be a standard biped. Again we did not have custom animation back in the days and people where fine with that and asked mech back for a long time. Ideally I would like to add more sliders to customize the walk animation without having to touch the numbers.

The last question is whether I should drop that entirely and do something with IK. You would still need anims for the upper body though.

Tackietacktack commented 1 week ago

Hm, newbie friendly is still nothing in this game. Every from us must hard work to get your knowledge. I think, easiest way to learn the game, could be about a small tutorial and along the storyline more and more Knowledge. Now, where the game is a alpha version and many thing will be change is our tutorial enough.

A easy possibility for now, could be small tutorial clips in something like a encyclopedia, that is something what in the finish game still helps and don't Superfluous.

TIKIRobo commented 1 week ago

A easy possibility for now, could be small tutorial clips in something like a encyclopedia, that is something what in the finish game still helps and don't Superfluous.

I swear this already exists in game, ik i haven't played in a while but I swear there's a menu that has a lot of tutorial videos, I'm not sure how up to date it is but it definitely exists

ProPeach commented 1 week ago

the one I want to have: you say it is awful for newcomers and they are likely to drop out. I say newcomer should use the import, and I am still not sure if the import feature works as it should or not

@tsunamayo so in terms of ease of starting a mech, there are many more steps to get a simple biped in sevo compared to the Skywanderers implementation and they are also much harder to pick up for a newcomer. In Skywanderers, you built a frame with 3 joints per limb, and then used a very simple GUI in the Mech Computer to link a single Joint per limb. The GUI did not show any extra information that you did not need to get started until you clicked on additional options. image

Compare that GUI to this one image That's a lot to take in on the first impression! If you want a clueless player to first try the Import tool, make that the first (maybe even only) thing they see. They don't need to see settigns for fine tuning movement like Bust Offset, Slip Amount or Ankle bend etc.

If I was a clueless player I might try and link the Computer to all the Joints on my legs, which is a good first move. This is about as much total work as was required by the Skywanderers system, although I need to link every single joint not just the Hips. I also need to know to press F on every Joint and select the Joint type as well as Left/Right. The Joint labelling in particular I think is a point where players fail to move past. After linking and configuring all the Joints, the I now need to know that I can click on the Template drop down and select an animation that is premade for me. It is the 7th option down, even though it is the first one I need to click to get my mech working.

I now have a walking mech.

There are many steps to this, and the menus are not set out in a way that allows a new player to easy find their way through them. I would suggest collapsing the more advanced options for tweaking existing walk cycles into a dropdown at the bottom of the GUI, and having the most important element - the Import function - right at the top. Maybe rename "Template" to "Walk Cyle" to make it clearer that setting relates to walking. Also, would it be possible to reduce the need to configure Joints, just for the default templates? Then it would be as easy as Skywanderers to get your first mech walking.

Additionally, you could have contextual Help tutorials in Logic and Computer bricks that would explain the steps to set things up. image

tsunamayo commented 1 week ago

A easy possibility for now, could be small tutorial clips in something like a encyclopedia, that is something what in the finish game still helps and don't Superfluous.

I swear this already exists in game, ik i haven't played in a while but I swear there's a menu that has a lot of tutorial videos, I'm not sure how up to date it is but it definitely exists

Yes this is called the ... : tadada "Help Menu!" . But yes I need to add more entry, like one for hovercraft, one for turrets ect

tsunamayo commented 1 week ago

@ProPeach Yeah you are right I will re-order, rename, and clean the UI a bit. I can collapse some setting under and advanced tab, anim under a anim tab ect. And I most importantly I need to make a help section for the Help Menu.

ProPeach commented 1 week ago

So I started off responding to your question about the gizmos with a lot of text, but I had an idea for a new layout and animation method which would be better off with a mockup! This is very much blue sky thinking, so don't feel too much pressure.

I'm curious if you had any initial ideas of an alternative if you "dropped the current one entirely and did something with IK"?

Key Goals

The Concept

Firstly, the GUI window will need to be much bigger 😅 image The workflow for Importing a default walk cycle is simple like the current system, just click Choose Cycle. This wording invites the player to click it as the first option, which will quickly result in a walking mech assuming they have configured their Joints correctly. To help them with this, is it possible to only display the Joints/Child Entities they have linked in the Preview Window on the right? I'm thinking they will clearly see something is wrong if they have forgotten to link a leg because it will not show in the preview, so they know to fix it.

More advanced options are hidden in a collapsable dropdown like the one in the F1 menu

The red overlay shows an idea to help locate Joints - hovering over the Joint in the GUI will display a coloured dot on that Joint in the Preview Window. This will help the player to name and configure their Joints and help with troubleshooting.

Custom Editing

The workflow for custom animations and editing will be centered around dragging discrete Limbs made of grouped Joints using the turret type gizmo. This completely replaces the ordeal of trial and error entering angles into text boxes by hand per keyframe, which seems to be one of the main gripes with the current system. image Joints - The player will select multiple Joints to group together to make a Limb Group. All Joints on the mech are displayed in this list to choose from.

Limb Group - Created Limbs will be listed here, where the player can select one to edit. The animation of a whole limb is offset against the cycle time. Here a 0.25 and 0.75 offset create a biped.

Keyframes - Create Keyframes per Limb that can be selected an edited in the Preview Window. Keyframes could also be duplicated between Limbs, or maybe the Limb Group itself should be duplicated instead.

Limb Animation - In this Preview Window you can see the Limb you have created at the selected Keyframe. You can then adjust the Limbs shape using a draggable gizmo, shown by the green dot where I am draggin about the foot. Ideally it would show the actual Limb you have built, but if not it could show a simplified version like this tool @BigBadKangaroo linked. Here the blue outline shows I am editing the 0.25 Keyframe of the Left Leg Limb, which is made of three Joints.

With this layout, it should be easy to make a 4 or 6 legged mech. Create one Limb Group -> Add Keyframes for that Limb -> Duplicate Limb Group -> Offset Limb Groups against the cycle time. I'm not sure you would need the existing Symmetry Tool if you were able to copy paste Limb animations like this.

This is a huge overhaul I know, but I hope it gives a bit of a vision on a more easily navigatable and ordered experience for this complex part of the game.

TIKIRobo commented 1 week ago

ok so as someone who has never made a functional mech I decided to go in and try to throw something together to start I just built some legs, as shown below, that were vaguely like Ant's. then threw the Ant's animation on there in the hopes it could make something that works image that ended up giving me this awful video:

https://github.com/user-attachments/assets/1af12685-0035-403c-9461-6b0865f0f6ec

from here I have no idea wtf to do next, yes I could have someone type up step by step instructions for how to get it to look more like the Ant's walk but I don't think thats a real solution. What I think I need are a few things.

  1. ability to click on a frame and be sent to that time stamp to see what everything is doing on that frame
  2. frames should be sorted so that when I look up and down all i see is what is happening at that exact second, not every limbs next step image I only want to see whats happening at t=.35, I dont want to see t=.5 as that'll throw me off (especially in complex animations)
  3. toggle arrows or faint dotted lines in the viewer that show the next movement of a joint would help
  4. the ability to see key frames all at once or just a few at a time, this would help a lot TBH as then I could tell what needs to come next based on whats happening in prior frames Producing_Key_Frame_02 Im sure a lot more could be done but I haven't used it enough to know best I would love gizmos to be used for some of these steps but if you can't find a good way to fit them in thats okay
tsunamayo commented 1 week ago

@ProPeach Well that seems do add another layer of complexity with the limb grouping isn't it? Also I think I finally understood you pushing for gizmo, it is not for editing the angle (that is why I just didnt see the point tbh), but for somehow moving the position of the join if I am being correct? And then recomputing the angle of the whole limb with IK I guess?

Honestly I can improve the current thing to an extent, but I am looking to simplify, make it more friendly and fix bugs, not to make thing too much more complex.

By IK I mean a purely procedural walking animation relying on IK. You can google it is fairly standard stuff. So there would be no animation for the feet (we still might need something for the upper torso). Given the headache it is I think it might just be faster than fixing what we currently have.

@TIKIRobo Did you set up the rotator limb? Can you send me your blueprint?

TIKIRobo commented 1 week ago

@tsunamayo im sure I didn't set up the + and - directions correctly (like when a hinge goes "forward" is that a positive input or a negative one) but I think a lot of new players would also make the same mistake. I can send the BP later today but I threw that mech leg test together in the little time I had yesterday so that could also be part of the problem. Either way I think its important to remember that the import animations only work with specific leg set-ups that not every new user would know to do that

tsunamayo commented 1 week ago

@TIKIRobo Hi, the import system should handle a different rotator direction. What you need at the very least though is the rotator flagged as hip/knee/ankle and left right. Please send me your non working mech so I can have a look! If it is working then I guess I cant really see how to improve things for newcomers. Cheers

TIKIRobo commented 1 week ago

Mech Test.zip here you go @tsunamayo I hope this can help!