[Prototype] Robot Deathmatch dynamic mechanics

This is a shameless show and tell.

Below is a video of a prototype I've worked on since Saturday.
The focus is an arena type, deathmatch game with a very Agile Quadruped vehicle.

This was a failed attempt for another monthly "Blam Jam" event. Although I didn't have much time to participate, I decided to see how far I can get on Saturday, and then I worked on it some more during the course of today.

I learned a few new tricks regarding IK bones (custom... not Humanoid) and other dynamically animated features. It was a rewarding process. Feel free to comment on the video.
(Sorry, but I'm not in a position to post a playable version yet.)

https://youtu.be/rD9i2x99RgI
Thanked by 2Fengol Tuism

Comments

  • edited
    The movement on the mech looks great!

    The mech itself reminds me of course of Ghost In The Shell (I wonder whether you played the PS1 game back in the day) ... And the more recent game Waiting For Horus, although the movement of your mech captures what seemed cool about the spidermechs in Ghost in the Shell far better than the weird walk in Waiting For Horus. (And the feeling of the spidermech is way more detailed than that of Arms of Telos, which I appreciate)

    Are the legs moving based on code that solves the inverse kinematics? The way it allows the mech body to move smoothly while the legs hug the terrain feels really rad. The mech feels quite weighty (which I think is rad), but the jump feels floaty by comparison (although if you really want this quality of gravity you could render some thrusters applying extra upward force).

    Looking forward to seeing how this progresses!

  • Indeed... I am a HUGE fan of the various *koma models in GITS.
    I do draw a lot of inspiration from their design.
    I never got to play the ps1 game though.

    Waiting For Horus was news to me... but looking at the video now I see what you mean about the legs.
    The game itself seems to be excessively fast and twitchy.
    I will stick to this current approach which is more fluid and linear in nature.

    Yes. The legs are using an IK solving component. I tried using the simple IK Unity asset, but it didn't work for me because my leg components need to be axis locked... so I stripped it (the main IK script) down to the trigonometry function and then re-implemented it to suit my own needs.

    It's very crude right now but I will iterate the code and make it a bit more dynamic than it is now.

    I agree that jumping/falling is very floaty.
    The actual problem is the size of the mech. Large objects appear to float under normal physics, even though the motion is relatively accurate. On top of that, most games apply custom vertical motions to human characters to make the lift and fall more instantaneous and flashy. As such I am in the process of implementing my own gravity curve so that I can make the lift and drop more responsive as well.

    Thanks for the feedback. :)

  • edited
    *cough* Red Hot Robot Ultrarena *cough*
    Thanked by 2Pierre francoisvn
  • I've been scratching my head all day, but I don't quite get the *cough* ...
    So with good old fashioned optimism I'm gonna take all coughing as compliments :D
    Thanked by 2EvanGreenwood Fengol
  • I think @Fengol meant: "You're in good company here, check out this other mech game on the forums".
    Thanked by 3pieter Psyinx Fengol
  • Lol. I did the modelling and animation for ultrarena. ☺
    Thanked by 2Fengol Gazza_N
  • The coughing meant I was doing a shameless plug for another game on your thread *blush*
  • Hehe. Ookie dokie. No worries. I love ultrarena. Progress has been a bit quiet on that project so I had to stop making more stuff for it. The models and content was piling up... But I hope to see some of the unused assets get implemented some day. It's not my baby though so I won't push for effort and cant contribute my own. Anyway...the itch finally became unbearable and now I'm making a mech game of my own. ☺
    Thanked by 2EvanGreenwood Fengol
  • edited
    Hot damn, that looks good. I remain hugely impressed with your mechanical design and animation skizzles.

    I'd totally play a Tachikoma-style deathmatch game - good, fast combat, maybe even some rope/web-based swingy movement? I'm also pleased you finally got custom IK up and running - it'll be especially cool for something like this that has wheels and suspension.

    (Also, sorry about the silence on Ultrarena. I've been too stupid busy at work to dedicate much time to the project lately beyond bug-fixes and gameplay tweaking. I'm exceedingly pleased you're devoting your talents to your own project while I get my act together. :P)
    Thanked by 2Fengol Pierre
  • Ultrarena
    @Gazz_N Thanks man. indeed, it was expected that Ultrarena would be deprioritized now that you're doing what you love for a living and that's great. Ultrarena isn't your main focus in life right now, so don't feel like I'm trying to pressure you or anything. :)

    Regarding "Tachikoma " games...
    I should mention that my game won't have any cable/harpoon action or wall climbing. This mech design of mine is actually called "white rabbit" and upon close inspection one will notice that it is more like a nimble four wheeled motorcycle, with some extra peripheral equipment and sensors. In other words this will be more like vehicular combat.
    Simplicity
    I'm keeping things really simple as I'd like to achieve a Quake II minimalist style of fun run and gun
    (only with vehicles.)

    Progress
    I've added some bullet FX. Bullets don't do any damage to other players yet.
    I'll be implementing the Object based explosion physics that we worked on for Ultrarena.
    I'll have to retrofit the code to make it possible to destroy individual pieces and then drop their children.

    Networking
    I've only just managed to get movement working in Photon networking... It's still a mess with the predictive Dead Reckoning sometimes advancing the remote client through walls and floors before snapping them back to the dead-stop position of the actual player... I imagine a good solution for that would be to do second hand collision checks for the remote clients as I'm updating their positions, just to make sure they don't rubberband through walls and floors...
Sign In or Register to comment.