Game
JICE

2 years ago

Devlog - Toaster starts cooking


Recently I finished the enemy robot rework I was planning to do. It was successful, the first type of robot is mostly finished, and the other types can be more easily added later, now that I got the basic framework down.

The old enemy was a lot simpler but had its downfalls. Due to its 3d model it only allowed the full-body animations, without any separate moving parts. Its audio system spawned sounds at the location, which meant they wouldn't travel with the robot if it moved after saying a voice line.

Traveling itself was very limited too. Robot would move between 3 hard-coded points in space when there was nothing else to do and would not chase player during an attack task. In general, task following was done through some state checks and would be hard to test and maintain on a larger scale. This and other things basically made the old robot into a training dummy with no character and very basic interactions.

In comparison, new robot Toaster gets a lot of improvement, and there opens up a potential for new enemy types down the line. Toaster now has a different type of 3d model that allows it to have a wider range of animations. Its audio system is more complex: some voice lines take precedence over others and will always interrupt any other voice line. Any spawned sounds now travel with the robot and get a chance to be skipped on repeated tasks.

13-01-23-5.gif

Movement is less restricted - idling is now completely random within boundaries. Each robot gets its own small area where it can move between any randomly chosen positions. Moreover, robots can now recoil after taking damage and get temporary invulnerability (with a subtle visual cue) to prevent them from getting kebab'd with bullets. And to top it off, they get the ability to dash around after shooting their shots and continue to chase player if that one dares to run away.

Task following is now done through a mix of behavior trees and states. It is much easier to debug and extend functionality for any potential new entities. Overall, Toaster is much more defined character-wise. This is the first type of robot to meet the main character and, while it might seem dangerous at first, is more of a menace to itself and other robots than to the player.

This is reflected in its special ability during which Toaster "breaks": it becomes inactive temporarily and starts shooting harmful energy bursts, dealing damage to itself and everyone around it.

For now, this is all I wanted to do with the enemies for the demo version (besides polishing the changes, of course). Next thing I'm planning to do is reworking player abilities - I had a lot of time to think through my ideas for those and take into account players' feedback.



0 comments

Loading...

Next up

Made it so any mesh can now become a throwable. Here I am throwing a cookie and a trashcan

Made some bread piles for robots to throw their cooked toasts in!

Made a model for another enemy robot. This one is supposed to resemble a french press, but still look similar to the Toaster. They work in the same company but on different floors.

How William Afton REALLY looks like without the coma shaders | Five Nights at Freddy's : Witness

Wire now can grab enemies, to make it easier to shoot them up close!

Watch out! Too late.. It's always fun when enemies can deal friendly fire to each other

Some clean up. These are graphs for one of the master materials used in the game, before and after. Added some functionality and finally made use of the named reroute nodes to get rid of all those noodles.

🕵️‍♂️ Shi’s Transmission: Shadows Never Rest In Twilight Wars, every mission is a test of your strategy, every agent a weapon in your arsenal. 🎮 Take control. Wishlist Twilight Wars on Steam: https://store.steampowered.com/app/1396540/Twilight_Wars/

Throwing cake at a robot aka another type of weapon - pieces of environment scattered around level that can be picked up and launched at things.