[WIP] Personal project: Spider Mech / Rocky Wasteland game

Polycount Sponsor
Offline / Send Message
Kashaar Polycount Sponsor
Hi everyone!

Since I found myself without any jobs lined up for the first time in ages last week, I decided to finally take some time for a bit of personal work. Feels good, man! I'm not very experienced with this whole modeling thing, since most of the time I'm more engaged on the programming side of things, but I want to use this to test myself a bit and create an entire small-scope game project on my own. I've done a fair few gamejams in the past, so I know that there are no particular areas I can't cover myself (besides perhaps sound design, but that's what licensed sounds are for) - and one explicit aim of this project is to let me do my own thing without compromises, as a change of pace from how I usually get to work. The other is to provide me with a sandbox to experiment with cool weapon and explosion VFX ;-)

Latest state:

This is all being made in UE4, and I'll be making liberal use of UE4 marketplace assets where appropriate (and will of course be labeling respective bits as such). In the screenshot above, the sky is from an HDR sky pack by the inimitable @Joost, and the detail normal on the sand is from Substance Share, by Käy Vriend


Let's start with the map. I experimented with world machine for a fair amount of time, and  ended up with a nice, doubly-eroded 8k heightmap with warped terraces that I really liked. Lighting here is fully dynamic, with some light postprocessing to add a bit more vignette and grain. No LUT or color adjustments in post yet.

World Machine graph:

Here's a walkthrough of the steps taken to get to the final heightmap:

Wip shots within:

Earlier version of the world machine graph, without the nice warped terraces, but with more topsoil - something I eventually want to gain back in the new version. Splat map setup needed more work at this point, note the harsh transitions of the orange layer:

Had some weird artifacts though:

Wet mud instead of sand was in the running as well for a bit:

Here's one of when I was figuring out a good normal intensity for the rock distance normal (more on that below). In this instance, it made the terrain look way too rough for what I had in mind:

The landscape material in UE4 is fairly simple. As you can see in the world machine graph, I exported a bunch of splat maps. I imported those into UE4 landscape layers, and then used uniform colors for each layer, combined with a few detail normal and AO maps that fade over distance.

Here's what it looks like:

There's only two sort of interesting bits. One is that I used grouped material attributes for each layer, to avoid having to create a layer blend node for each material output channel. You can enable this by ticking "Use Material Attributes" in the material properties, and then using the Set/Get/Make/Break Material Attributes nodes. Saves a lot of complexity in graphs that use layers!

The other bit is a fairly standard fade out or fade between detail maps over distance.

Here the material fades out the normal map the further away from the camera the rendered fragment is located. You could just replace the (0,0,1) vector for normals and the constant 1.0 for AO with other, large scale normal/AO maps just as easily, but for this specific layer it made more sense to completely fade out the detail.

So far this comes out to 113 shader instructions, but it's still a work in progress with placeholder textures, so that's probably not the final count.

Spider Mech

Here's the bit I'm working on currently. I want the player to pilot a cool spider mech with lots of swappable weapons. My workflow for this is a bit disorganized, mostly due to lack of practice, but I'd say so far it makes a decent blockout/concept model.

Modeled in Modo, using MeshFusion for the main body mass and plain old boxes and cylinders for the rest.




I set up a preliminary rig for this yesterday, and tried my best to figure out how to use IK in Modo. Next step is making a simple walk cycle, so I can focus on ingame fun stuff for a bit without it looking all floaty :-)

Feedback and criticism is very welcome!


  • FullSynch
    Offline / Send Message
    FullSynch polycounter lvl 5
    Looks fun :) kinda reminds me of Planetary Annihilation. I actually prefer your earlier artifacty terrains  with the pastel colors. 

  • Kashaar
    Offline / Send Message
    Kashaar Polycount Sponsor
    Just got back to this today. Here's an animation WIP and the result of me figuring out how to use constraints in Modo:

  • Kashaar
    Offline / Send Message
    Kashaar Polycount Sponsor
    A few more WIPs:

    And then I redid the rig so that the main body is the first below the root joint, so that I could more easily control it, and not have to fight against the lower body IK. More of that soonish!
  • Kashaar
    Offline / Send Message
    Kashaar Polycount Sponsor
    Little bit of progress:

    Some early weapon vfx and sounds (made with Reason), decals that get way too dark (gonna have to write a system to space them out for this, most likely), and a first attempt at a 3d crosshair, which obscures way too much at the moment but at least has cool vertex shader driven rotation. 
  • Kashaar
    Offline / Send Message
    Kashaar Polycount Sponsor
    Finally did some more work on the walk cycle(s):

    This is showing the blend space between forward/backward/sideways walking, seamlessly blended based on the player's walk direction. I think the main body is a bit juttery in the strafe cycles, I'll probably need to fix that... but if anyone has any critiques, I'd appreciate them!
  • kanga
    Online / Send Message
    kanga polycounter lvl 11
    Looks great! No crits just a question. Would there be any hip sway moving the head to compensate for the shift in weight when walking?
  • Kashaar
    Offline / Send Message
    Kashaar Polycount Sponsor
    @kanga Probably, good point! The upper body is mostly going to have its rotation driven by the ingame aim rotation though, so that's not a huge concern. Plus, taking that shifting weight into account dynamically would be a giant pain :D

    In the meantime, here's a first attempt at blending that directional walk blend space with in-place and in-walk turning... pain in the butt, and needs work. There's still a lot of clipping as it goes from state to state unfortunately, but calling it a night with this for now.

  • Kashaar
    Offline / Send Message
    Kashaar Polycount Sponsor
    Whoo, lots of new stuff!

    - Walk cycle blending is much improved. I offset the 7 walk cycles this uses so that they start in mostly identical poses for better blending. That way, joint snapping has become relatively minimal now. If you don't stop and go and stop and go rapidly, it's pretty smooth now! Whoo :)
    - I made the weapons interchangeable, and added a silly retro-futurist beam dish placeholder mesh for the laser. They also now reorient dynamically to point directly at the crosshair.
    - Sounds added to animations: leg servos and footsteps.
    - Changed the camera perspective and controls. Zooming also increases FoV and angles the camera for that Total War-like macro to micro vision effect. Q/E rotates the camera.
    - Not sure I've posted the cannon before, but it's not new. That uses VFX from the UE4 marketplace as placeholders for now.
    - Likewise, the small rock meshes scattered on the landscape are from various marketplace packs

    The vista at the end is just included because I really like the kind of parallax effect this new camera can produce. Ledges in topdown-ish games are always cool!

    Things I still hate, in order of importance:
    - Crosshair jitter and drift. That needs work.
    - Decals still need fixing.
    - Rocks pop in and out of view, because I haven't set up their materials properly yet.
    - At some point I'm going to have to actually finish the bot's mesh.
    - That it's Christmas and I'll be confined to my laptop for a few days, unable to work, forced to entertain family and be social. Life is pain.

  • Klawd
    Offline / Send Message
    Klawd keyframe
    Great job on the recent additions man! Really like the laser beam! 
  • CybranM
    Offline / Send Message
    CybranM polycounter lvl 5
    Looks great, I'm getting some real Supreme Commander vibes from that laser. The monkeylord (no idea why its called that) looks and walks in a similar way to the one youve made 
  • Kashaar
    Offline / Send Message
    Kashaar Polycount Sponsor
    Hey folks! Been a while. Figured I should update this. Over christmas I had some free time, and experimented with this project a bit more. I finally got realtime leg IK working more or less properly, but more interestingly, I tried modifying UE4's renderer to add a custom stylized toon shading model. Turns out that while this involves making a custom engine build, it's not all that complicated!

    Inspired by Shedworks' Project Sable, I wanted to try and create a realtime rendering style reminiscent of Moebius.

    Here's a few wips and results! Apologies if you've already seen them on my Twitter.

    Not happy with the color and the amount of visual noise in this, but this is the latest state:

    On display above:
    - A color-sampling postprocess material creating outlines around every block of color on screen
    - Custom toon shading model for fully flat-shaded shapes with specular lobe affected by roughness, and functioning normal maps
    - Realtime Leg IK - feet are placed on terrain dynamically during the animation

    Here's a video showing some tinkering with the shading model & PP:

    So, the big advantage that using a custom shading model has over faking something like this via material parameters or postprocessing is that you can have any number of lights, and all kinds of lights, and they work just like you'd expect. No blueprint/material parameter hackery required!

    Some more progress shots - I'll spoiler the ugly early ones at the end.

    I call this one, "How to drive a colorist insane"

    A few from before the skylight/static light contribution was removed from the shader:

    That's it for now! Here's a few earlier wips, spoilered for your inconvenience:
    Early test, with postprocessing and parameter hackery:

    I think these are where I started experimenting with forward rendering. Still fond of the way the terrain looks in this. Should be noted that the latest state is fully deferred, forward rendering was abandoned after this test due to a bunch of other inconveniences it caused.

    Here I started on the outline effect. I originally tried using standard depth/normal sampling for the outlines, but the result was very iffy.

    First starts on the new approach with an actual custom shading model. I had no idea what I was doing.

    Bit better, but specular was unaffected by shadow at the time...

  • kanga
Sign In or Register to comment.