Dwarf Spider Droid PM/NextBot

I’ve recently been working on converting a BF2 Dwarf Spider Droid to Garry’s Mod/Source Engine so I’ll use this to post my current status and future plans with the project along with updating it as I make more progress.

Initial Asset:


This model came without collisions, rigging, animations, and only came with the diffuse texture

.
Current Status:

(The npc aspects of this droid is being done by TheJoe#7911, he will be attempting to turn the finished product into a NextBot NPC)

.
The list of shit that has been done to reach this stage:

  • Rigging
    • Blender Inverse Kinematics (Helps make animations, thank you JakobSailer#3085 for tips)
    • Blender Bone Constraints (Makes the Pistons work automatically)
  • Collision Mesh Creation
  • Converting all of this shit to work with Garry’s Mod/Source
  • Create/Convert PBR Shaders into a Source Format and add them (Improves lighting, shadows and details)
  • Some animation (Still working on these, playermodels take a lot of them)
  • NextBot NPC Creation (Not done by me but I’ll show it off because I think it’s really neat and has some nice progress videos)

.
Rigging
The rigging was a challenge for me because this was one of my first mechanical rigs (Nothing bendy at all), this requires perfect placements of bones and some fancy blender constraints to automate the movement of complex parts

Earliest Rig Prototype

This was a great start and I was really happy with how it was going, the two major flaws were the pistons and the foot placement. Those would both require non-ik constraints.

Improved Rig

This was basically the final for the rig. The improvements were fixing the two issues of the previous one but there are 2 smaller issues being the foot placement (Hard to see, was much more noticeable when animating which is when I fixed it) and a couple pieces weren’t weighted correctly. After this was finished I fixed the weights and finished the rest of the leg rig for the rest of the legs.

Collision Mesh

This collision mesh was a little big fucked in some areas but it did the job and worked well with the current rig so it became the permanent one for the time being at least.

Converting to Source


This was a fun stage, finally being able to see the model in game. The PBR Shaders definitely helped (most noticeable on the top of the legs and the top of the head), I did not get a picture of the model without it but trust me, it definitely helped.

Animation
First go at it (Am not very proud of it)

It could’ve worked but I was not happy with it and thought it could be improved, I received a lot of support and suggestions so I decided to try it again.

Second Try (Still didn’t like it, getting there though, this was done before I had the textures setup)

It took the original animation and just smoothed it out a bit along with some other smaller changes. I wasn’t a fan of how the original moved but this gave me a better idea on how to do the next one.

Third Try (Settled with this one)

The sliding feet are caused by the player walk being too fast for the model, this can only be fixed by using the NPC which I did not have yet.
Aside from that I liked this animation a lot, it combined the high placed knees of the initial couple with more natural and organic movement that I was suggested and overall looks really nice. If I were to come back to it my only change would be to sync it up better with player movement instead of relying purely on the NPC speed.

This was it for animations so far, those ones took awhile to complete so I’ve been taking my break from them and focusing on other parts of the model.

.
NextBot
This part was just started yesterday and hasn’t reached a prototype stage yet but the end goal of this project is to have it as a NextBot NPC so I thought I would put some of that progress in here as well.
(All of this progress was done by TheJoe#7911 on discord, I just supplied him with a model)

This video shows off better how the movement should look, this droid was extremely slow and I couldn’t make an animation that looked right with both the player speed and droids lore speed so this NPC with controllable speed helped a ton.

Joe’s also been experimenting with some different speeds. I’m not sure what to think of this but it exists now so that’s neat.

.
I’m hoping that this project will make a good start of a change for SWRP servers, most of them use basic playermodel esc droids and it’s gotten a bit stale so I’m trying to spice it up with new guys. I have many other droids planned for the future including Droidekas, Octuptarra, and the Homing Spider Droid.

7 Likes

That’s actually sick. If you get the animation working and a good NPC, it’ll finally add some sort off middle ground HP bad guy between B2s and tanks.

You should be walk framing the animations so that the movement of the animation matches the exact speed in game

I’m not much a developer myself but I always love seeing developers in Gmod push the limits of the game. Even if it’s in early stages this is great for SWRP CWRP players.

Finally a good dwarf spider droid npc, this is going to be great for CW servers! Keep up the great work!

Development looks to be getting really far. Looks great so far, excited to see where this project goes.

Saw this on a discord server, really interested in seeing where this goes.

If you set up walkframes, the animation will match the speed of the player.

To do this the animation will need to move accordingly, so in blender have it move the distance it would with these steps, then in the $animation add walkframe 30 LX LY LZ LXR LYR LZR

“30” being the last frame of your animation, in my case it was 30, it will extrapolate the distance traveled in the animation from frame 1 to frame 30 and use that as a reference in game.

Very cool, very swag, hopefully this lead into more Droid NPCs

I set up the animation with walkframes and it definitely has an improvement so thank you. I’ll have to fuck around with the animation itself a bit more to fix the sliding, the rest of it is probably just on me and how I animated it

Walking with WalkFrames

This is epic, cant wait to see this in servers.

Setting up walkframes should also fix instantaneous transition between animations (example when moving left to right to left), also you can set up more walkframes per animation, instead of just “30” you can place “10 20 30” or something like that, in case the motion isn’t a smooth constant velocity, if you want to go overkill you could even do every frame.

Looks really good deno keep up the good work.