Open tsunamayo opened 1 week ago
Hi Tsuna, I would be happy to help build a starter mech if you can provide me with the specifications of what you would want exactly.(size, weapons, do you want a humanoid mech with arms like a Gundam or a walker style mech like in Star Wars)
Otherwise I can also modify the mech I have on the workshop to have no custom joints.
Hi, @TwoNiner29 Well I would be honored, your build are just another level. I was surprised to see you already had one on the workshop, it is looking amazing, I like the use of the hose. Indeed I would like to add a few more starter blueprints (I only have 3 ships now, I want to add a lot more, and I want to add prefab too for turrets and landing gears). Ideally they would quite simple, with the join visible so people can study them, with an accessible computer. Honestly lets start with really simple and smaller one: For the west stance
For the east stance: Of course it is just an overall guideline for the layout and size, I am definitely not asking for replica (actually I am asking for no replica, I dont want trouble)
I feel for bigger one I need some head and torso limb settings, so you can make either a rotating bust (typically for a west stance mech), or a head (for a east stance). We could already do this with the turret computer but I want to add those feature to the mech computer. Cheers
Hey Tsuna, this is going to be a difficult task given that we can orient the hinges and rotators in any manner we want during the creation process. I have already started working on multiple templates to switch between for animations on specific mechs. If we were able to bind them to keys, that would help with adding in jumps and other animations.
I do like the idea of jumping, and if we end up keeping the custom animations based on players then we could assign the jump template to a key like "space bar" and we could also do a hover with the held down spacebar. in both cases I am imagining thrusters to be required for mech to actually get off the ground.
Side note: mechs feel like kites in the wind even without the starter block when you set the speed any higher than like 20. I am currently testing with a 32 meter tall mech which should be very heavy so it should be hugging the ground a bit more when moving. (funny enough it hugs the ground when going up terrain/its falling forward on hills)
Heres my feedback on your questions: @tsunamayo
Mechs of all types should be able to jump without assistance as long as the total weight does not exceed a limit set per leg.
Jetpacks to assist in jumping should be required for heavy mechs to be able to jump. (They would also be needed for space traversal, more akin to gundams.)
Making the mechs control differently based on leg angles would just cause confusion and frustration from players. All leg types should have a choice between tank controls, or the human rig style controls. All styles should be able to walk, sprint, crouch, and jump. Strafing would be disabled for tank control style mechs, but they would gain a bonus to aim stability or carry weight of the legs, etc.
By default, the player should only ever directly control the mech movement and aim. The head, torso and arms/weapons should follow the camera direction, automatically pointing at the crosshair. The torso would follow the looking direction of the head at a slightly slower pace.
Players should be able to program limb animations to play upon a button press. This way, players can click a button to have the left arm ignore the camera direction control, and raise a shield up infront of the mech, or swipe for a melee attack. (You would have to probably add a tiny "Logic block" that contains the animation, and linking a button to it will cause it to play the animation when pressed.)
@Horkas Yes it was my intent to have to player manually pick up its control scheme as a setting in the computer. I expect plenty of mech to have weird limb definition so I cant really guess that in code.
For the control it is quite complex but similar to how turret work. It depends on whether the pilot is placed on the moving entity or on the main frame.
Yes I would like to add custom anim, some could be triggered by the mech code (for example we could have an idle_off anim, for when the mech is not pilote, different from the one when the mech is simply not moving). For the custom we would get a button to create a custom anim in the computer. Then by plugging an event gate to the computer we could trigger the anim with a custom keybind. There is a bit of code to do on the event gate side so it will be for after.
Control schemes sound good! I think requiring thrusters for jumping makes sense, what would be great is if the jump distance/maneuverability during the jump would be altered by the thrust/mass of the mech in the same way a ship is. Press space to jump, hold space to use jetpack?
It's funny you mention the Idle_Off stance, players are already experimenting with using the Idle stance for a mech which is crouching so you can climb up to it - having that built in would be perfect, I guess it would be activated when the player enter/exits the Mech Computer. Event Gate support is always fantastic so that's great to hear too
I think we should be able to choose what type of boost our mechs have. Western style aka mechwarrior style jump jets and eastern style aka gundam/armored core style boost dashing/flying.
Western style has you pressing and holding the spacebar to jump and boost upwards. perhaps you can make it so pressing the spacebar again while boosting upwards stops you and engages hover mode. While in hover mode your movement is locked to a 2d plane and you no longer need to hold down the spacebar. Pressing spacebar again while hover mode is engaged will disengage it. the amount of time you can spend hovering and the speed of your ascent depends on your mechs mass/thrust ratio.
Eastern style has you pressing and holding spacebar to engage a horizontal boost. Your mech hovers slightly above the ground and you will move similarly to a hovercraft. This will happen as long as you are holding the spacebar. While boosting around quickly double tapping and holding the spacebar will have you mech jump then start flying. you will keep ascending as long as you hold down the spacebar. The speed of the horizontal dash as well as the speed of the ascent will be determined by the mass/thrust ratio of your mech.
Hi @tsunamayo I've come up with 2 mechs according to your specifications, here they are:
The one on the left is the Ant, an all-purpose repair/mining exo suit with normal "west style" legs The one on the right is the strider, a combat scout mech with "east style" reverse-jointed legs
My first attempt at making the starter mech turned out to be a bit too complicated, but I thought I would throw it in incase you find a use for it, here's the cyclops:
If you need anything built for the game in future, I have a group of very skilled builders who would be happy to take any requests, just contact me on discord!
@TwoNiner29 Massive thanks, they are really amazing. I am putting those in the default blueprint folder. I did a modification regarding the bust join (which I guess you intended as you built a rotator for that), and I updated the code so it works with east stance too: it will move freely when the mech is stationary, then the feet align to the upper body when moving forward, just like with the player control.
Thanks a lot for the offer, I will resume the work on faction / missions as soon as I kick off the survival phase 2, so I will definitely ping you!
By they way I would like to release them to default now, what do you guys think about that? Are there some feature or other qol that you feel are necessary? I will add some default anims and also an help section.
I still have a bunch of things to add and some issues to fix but as it you can already build interesting mechs.
@tsunamayo Its small but I think adding the ability to animate the idle pose would make a lot of people happy. Right now the idle animation is completely static. If we could animate it bobbing up and down, fidgeting, or have compartments opening and closing while its standing idle it would give more characters to each mech.
By they way I would like to release them to default now, what do you guys think about that?
Personally I think it'd be better to polish the mechs up a little more before releasing them to default. People are really excited for them, it will likely tempt people back into the game that haven't played for a long while, or gain new players which is great. Ideally they should have as smooth an experience as possible with the mechs to make a good impression, so working on them in a separate banch/experimental mode for as long as possible before going public makes sense to me.
Especially if you want to do a big advertising push after survival/mechs are more complete, larger single updates make a lot more noise and hype than smaller ones over a larger time span - "Mechs are out and are feature complete, come have fun!" is a lot more exciting than "Mechs are out but you might have to wait a little bit for more QoL and fixes!"
Are there some feature or other qol that you feel are necessary?
I've seen a couple people not realize they can access the live preview by clicking the eye icon in the Mech Computer, I think it makes sense for that to be open permanenty, or at least by default
Also, I'd really appreciate it if you could make the Mech Computer GUI larger so I don't have to scroll down/right to see all the keys. It would help a lot to get an idea of the full sequence without having to scroll back and forth
This is a bigger one, but it'd be a big time saver to be able to drag the limbs to a certain angle using a widget in the Computer Preview, rather than working out and typing the angles into a text box. So I can just select a knee joint key for example, then drag the lower leg to the angle I want at that time and the text box is filled with that angle. Making it a visual problem, rather than an abstract mental maths problem like it is now will make it a lot easier for people I think, far too many are still having trouble just getting a basic walk cycle going, let alone anything non-standard. Here's an example from an animation program called Pivot, you grab the joint you want to move with the mouse and just drag - it's fast, intruitive and easy https://imgur.com/a/QmTKGaO
I do think the colour guide idea I posted in this thread would be a really useful one too
Could the mechs have some help standing up while not controlled? They always fall over lol, maybe some "magic" help or better leveling for the legs in the idle pose too
Aye, don't know if anyone's mentioned it, but the Bust joint type causes it to have 5 digits' worth of rotation wound up in it if it is a rotator (ie. 31,456,000). You have to open the menu of that rotator for it to manifest, and it re-winds itself if you get back in the mech.
@ProPeach so I will give a shot for the color, for the dragging thing I am not sure, I would prefer to not loose time in something that will be finicky to make it work, being 3D it is not as simple and convenient as the 2D one. Also it is not like people are gonna spend a lot of time in this menu, I expect 90% of people will just pick a default animation.
For the force nope I dont want to constantly apply a force to something in rest. I have some depenetrations issue to solve as I notice that @TwoNiner29 mechs are very jittery, so I will investigate. I think the key is to either lean a bit forward so the center of gravity apply in the middle of the foot, or to make a foot that extend backward a bit.
@ProPeach also yeah the plan was to finish my to-do on the fix and polish, and then release it to default, but I am not that far away. Then I want to resume work on survival, I got to move on.
@tsunamayo I tested the mechs on a planet with 0.4g and it just occured to me that the animations may not be optimised for planets with higher gravity. I’ll try to tweak the animations for higher G planets and see if I can get it smoother.
Hi @tsunamayo,
I've been tweaking the walk animation for both mechs based on peach's feedback in the other thread, I belive it is much more stable now, here are the new updates:
https://github.com/tsunamayo/Starship-EVO/assets/66531332/654585b0-d464-4dc3-9737-310c34cbea9c
@TwoNiner29 Thanks a lot, I have included the updated version to the game! They really look awesome.
So I am working on a retargeting system to import seamlessly (hopefully) animation, so that if your mech is standard biped you can go with a prebuilt anim regardless on how you placed your joins.
Could you guys help me with the following: 1) share with me what you build (as soon as it is a standard looking mech, ie biped, no custom join). I am taking what we used to call east stance (knee that flex like human), or west stance (inverted knee, like an at-st). 2) If some of you have a better anim than my crappy one I take it also! Especially if you have a upper-body part. I want to bundle the default release with some predefined animations.
Some questions: => I feel I want to jump often when using a mech. What do you think about that? Should it require thruster? We could have either a default jump with no thruster or the equivalent of a jetpack mode when the player used some thrusters. I would try to tweak the idle pos to get a squat/extend position by code for the jump animation. => same with a dash. EDIT: I forgot to talk about the control scheme. If I recall correctly we had two scheme matching the east-west philosophy:
East: control like a character: able to strafe with A/D, mouse orient either the body if no head is used, or the head if there is one. In that case the body will align to the head when moving forward.
West: control more like a tank: A/D orient the body (legs) of the mech. Then if a bust limb is being used it acts like the turret of a tank and is being controlled with the mouse. There is no alignment of the bust / leg in that case (but a min/max angle can be specified for the bust rotator).