Abject Abyss: Making Monsters


A horror game doesn’t necessarily need any monsters in it. That said, Abject Abyss has several.

If you have any experience with game dev, this wont be anything new to you. But for everyone else I hope it’ll be an interesting peak into the process of building a game ready character from scratch.

Now, I personally prefer to go into a new horror game as blind as possible, without knowing what kind of terrors to expect. Things are often scarier the less you know after all. With that in mind, I don’t want to reveal too much about what you’ll encounter in the game, so I’ll only be using a single enemy as an example. One from the early game that you’ll encounter very briefly, and will be present in the demo. That way the rest remains a surprise.

If you really want to go in entirely blind and spoiler free, you can skip this update for now. Otherwise, lets continue.


Concepts

This is an early game enemy. The idea is to show a person in a sort of metamorphosis. They are in the process of becoming something different, but haven't quite got there yet.
I generally start sketching out ideas with a pencil as I have them, then go digital for further development. I’ve got an old Wacom Cintiq from many years ago that’s somehow still functioning, which I use for painting.

Being a solo-dev really makes this phase much faster. I pretty much start knowing what I want, and with no other conflicting opinions I can get a design finalised very quickly.


Modelling

The next step is modelling the thing.

Making the base mesh isn’t too hard. Start with a cube, extrude it out, add subdivisions, move those verts around. It’s more tedious than difficult.

This particular monster is asymmetrical, which is a little annoying because it prevents me from mirroring some of the skin weights later on, but I’m the one who designed it this way so I can’t complain.

Quick sidetrack on modelling software

I don’t think the program used matters that much, but I’ll point this one out because I differ from most indie devs here in that I’m using Maya. Blender’s a perfectly good program —Not to mention free—, but Maya is what I learned to use back when I studied this stuff, so it’s what I’m comfortable with. Being comfortable with your tools is important. It’s the same reason I’m using Unreal Engine, because I started learning in UDK and it was easy to transfer those skills.
Anyway, back to making a monster;



Texturing/Sculpting

Once the base mesh is ready to go, it’s time to add those gross details. First is a high detail mesh with all the little bumps and fleshy wrinkles that will be used to create a normal map for the in-game model.

Then I paint the textures on. I’m painting colours, but also roughness information and extra fine normal detail. Making some parts look a little wetter than others, that kind of thing.

The full material comes together in Unreal, but at this point most of the work is done.



Rigging

Back in Maya, It’s time to put the bones in.

I hate this part.

Essentially, I’m putting a joint inside the model at each point that it needs to be able to move. Then I have to create controls and attach them to the bones so I can animate them. And when that’s done, I need to actually skin the mesh onto the bones so it deforms correctly when it moves.

It is an extremely tedious process and I hate doing it every time. Professional riggers out there, you have my respect.

The good thing about rigging gross monsters, is that you can get away with the deformation not being perfect. It’s already a twisted mass of flesh so if it moves a little wonky it’ll just add to the effect.(within reason)



Animating

Once it’s all rigged I can start making animations.

I start with a few idle animations. Doing these helps me get a feel for how the creature should move. I make a basic one, then a few with more movement and character that can play randomly.

Then I do movement. Different speeds of walking and running, and variations for turning.

Last is the attack animations. These are going to be blended on top of the movement, so I’m only animating from the pelvis up. For this guy, his attack options are pretty limited, so I only did two variations.

All in all the animations could do with more polish, but there’s only so much time I can spend on a single enemy. Can’t be a perfectionist when your a solo dev.



Sounds

The last thing I need to do before putting it all together, is make the sounds.

For the vocals I recorded my own voice with a hand over my mouth, and then filtered the crap out of the recordings until it sounded the way I imagined.

For movement, I mixed a bunch of leather stretching noises, with the sounds of fruit being squished. I made variations for different speeds of movement, as well as some bare-foot walking sounds. In unreal I set all these up in sound-cues with random variations in pitch and volume each time they play.



Importing

Now it’s time to get everything all hooked up together in Unreal!

The skeletal mesh first, then the materials. Then I set up the character and it’s animation blueprint.

The animBP determines what animations to play at any given time. These can get pretty complicated but this one is fairly basic. I did add some additive animations so he leans when cornering or accelerating/decelerating, but that’s just for me. I doubt most people would notice, but when it’s absent *I* notice.

I also hook up those sounds I made to the animations using notifies in Unreal. Little tags that let the engine know to play certain sounds at specific points in each animation.

The vocalisations trigger at random intervals, but it’ll pick from a list of them based on the monsters state, so it sounds more aggressive when chasing you than it does wandering around.



Behaviour

Then comes the brain. I set up a character, and an AI controller with vision and hearing perceptions. Then I build a behaviour tree to control the monster’s actions.

I’m not going to show the actual tree here, I want to keep the enemies inner workings a little mysterious. Even if this one is very basic.

He can patrol around, investigate sounds, and give chase if he sees the player. Classic stealth game stuff.

Even this simple behaviour had a lot of bugs when I first implemented it. I think I’ve ironed most of them out, but we’ll see.

This foundation is the base for most monsters, but they do each have their own unique behaviour trees built on top of it.



Wrap Up

That’s how the monster gets made. From there it’s a whole lot of small tweaks and bug fixes, just like everything else.

Hopefully you found this interesting. And hopefully you still find this guy scary in-game despite the behind the scenes look. If not, at least the others should still be a surprise!

Anyway, I’ve gotta get back to work.
Seeya!

Get Abject Abyss

Leave a comment

Log in with itch.io to leave a comment.