The Most Intimidating Underling
We talked a lot before deciding that we needed a second creature for small places. In the first game, stations consisted of just one room. And the creature couldn’t enter those stations because of its size. so there wasn’t a problem with the game having too many safe zones. But in Red Frontier 2 stations are much bigger offering more stuff to do. So we needed a creature to remove unnecessary safe places and offer a new kind of mechanic to the game.
At first, the second creature was a flying robot capable of firing a laser. but it was hard to design around. it changed to the stationary turret. This was not better because it didn’t provide much to the gameplay. After some thinking and trying different designs, we came up with the idea with a scary spider. it was scary, it offered the gameplay we required but there was one problem. it was too common. A lot of horror games had spiders. So we changed it up to the centipede. it wasn’t common, it was really scary, and most importantly, it felt like an alien creature with no emotion.
We wanted the AI to be adaptable to different situations. After some research, we decided to use Behaviour Trees which is an AI algorithm that is being used in modern games like Alien Isolation. Indie games usually rely on Finite State Machines but FSMs don’t scale well with the project and it quickly becomes a mess to debug. Behavior Trees is based on FSM and it fixes those problems.
For the demo, we only wrote the baseline of AI you’ll see at the full game. At the full game, the creature will be able to interact with different game systems (E.g. random radiation leak, fire, or power). It currently consists of Passive, Alert, and Attack mode. Passive mode is when the creature is unaware of the player and it’s patrolling around the station. AI enters the Alert mode when the creature gets a stimulus (More on that in the next paragraph). He sprints toward the stimulus position. If nothing catches his eye, he starts to search around the stimulus position. After some time, if the creature doesn’t receive a new stimulus, it returns back to passive mode and it’s patrol. But while in alert mode, If it sees an enemy, it locks its eyes to them. After he’s sure it’s an enemy and fully detects it, it enters attack mode. He sprints toward the enemy, knocks him down, enjoys his meal.
The creature has 3 senses. One of them is touch. If you try to walk over his elongated body, you’re done. The second one is hearing. Player actions like sprinting and throwing objects, interacting with environmental props and environment produce sound. These sounds propagate through the navmesh (It’s a pathfinding system that creates an area around the walls). The reason we used navmesh is to make the sound NOT travel through the walls and make it feel more realistic. The last sense is vision. It’s pretty straight forward. If you’re inside his field of vision, a value increases until it reaches a threshold. After this threshold, centipede enters alert mode and turns toward you. If you wait long enough, the centipede sprint towards you for full intent to kill. This value increase is fast so don’t hang around. Vision is affected by several different systems. Some player actions decrease or increase like crouch or sprint. Some areas like under the desks reduce visibility too. Also, glass and other materials can affect the creature’s vision. All of these senses convert into stimulus in the creature’s head.
Its the body is inspired by real centipedes. There are crazy colored and shaped centipedes out there. There are also millipedes but those are little cuter for a horror game but we can use them in some way so stay tuned! Centipede’s body modeled whole but we modeled legs and eyes separately. Textures made in Substance designer and painted in Substance Painter. We never made such a model before and expect improvements as the game progress. The body of the centipede was hell to code it. Since we wanted the body parts to move independently of each other, we had to move outside of the normal rigging process. This produced lots of unwanted rotation and position errors. Writing a leg movement system was pretty challenging too. I wasn’t able to use IK due to performance concerns because of its 20 legs. But leg position should change with the environment and independent of the body it’s attached to. So it required a lot of fine-tuning. Being a perfectionist, I’m still not happy with the leg movement but it gets the job done. But expect progress in the centipede’s appearance and maybe even complete overhaul.
The Tail(Lore of the Centipede)
The centipede, or the Cents for short, are alien creatures. Their body is designed to survive and thrive in much more harsh conditions than humans. Even though they are organic creatures, they work like a machine. All purposed with a secret agenda from an intelligent hivemind, they don’t have any emotion or empathy towards their prey or each other. They kill every living creature they met and take their corpses to their lair. Centipede hordes to scour the planet for possible radioactive materials. They’ll consume the planet’s resources. They are the planet killers and you’ll witness their work if you fail to stop them.
The Future of Centipede
The centipede in the is basic but still has good ai in the demo. it’s texture and model even the ai will change in the full game. The centipede is the most common creature you’ll encounter in the game depending on your playstyle.
There are several plans for it. Most of it may or may not be in the finished product but I will share some of them. We are still talking about it but in the full game, there could be a way to kill, stun, or disable the creature. it could give the player too much power. There could be several centipede variations. for now, they are just concept but there could be one with multiple tongues that will catch and pull you from far. Or one that can spit acid puddles. There’s even one with claws that’ll break down doors and stuff.
And Lastly, here's the centipede killing the player with sounds
Leave a comment
Log in with itch.io to leave a comment.