[img]https://thumbs.gfycat.com/DimpledLinearHawk-size_restricted.gif[/img] The Riftbreaker is an action-packed game. You are never truly safe while exploring the alien planet you found yourself on. Even when you’re hiding behind the walls of your base, trying to wait out the night there are thousands of enemies hungry for your skin. Spawning hordes of alien creatures is not a problem, but making them behave in a convincing way is. We would like to show you what steps the developer must take in order to make their game world feel alive. Even if your goal is to have thousands of enemies attack the player at once, the road begins with just a couple of them. Presented above is one of the first prototypes for The Riftbreaker. There is basically nothing there and even the scale of objects is wrong, but it is enough to conduct the first experiments. Placeholder cubes symbolize the enemies and you can see they are trying to locate and reach the player. In that time we were trying to use our old creature collision detection system which we used in Zombie Driver. Each enemy had 3 ray traces in front of their collision body to avoid other entities and world parts. [img]https://thumbs.gfycat.com/SpiritedLimpGrouper-size_restricted.gif[/img] HI-res: https://gfycat.com/spiritedlimpgrouper Well, even if it seemed to work quite well, the algorithm was a bit outdated. It was simply not good enough. We wanted our creatures to be fast and furious and not clumsy. We removed all the ray traces and started using separation and cohesion forces. That gave us nicer movement, which was the first step to our future work. In that time we were playing with math and physics and were testing all our ideas. In this example, a couple of dozens of enemies are chasing the player around, while they slalom among the walls. The enemies funnel through the narrow passages and spread out again once they reach open space. Neat, everything seems to be working fine, but that is just the beginning. [img]https://thumbs.gfycat.com/GrayVelvetyBernesemountaindog-size_restricted.gif[/img] HI-res: https://gfycat.com/grayvelvetybernesemountaindog Any game would get boring pretty quickly if there was only one type of enemy unit in it. Even in Pac-Man each of the ghosts behaved in a unique way. (Seriously! https://dev.to/code2bits/pac-man-patterns--ghost-movement-strategy-pattern-1k1a) Galatea 37 is home to multiple species, and all of them are different from each other. There is one important rule. If a system works with one thing, it must work with many things as well. We needed to test how our math equations will manage with creatures differing in size and speed. Will they stick to each other? Will they able to avoid all the world objects? So many questions needed to be answered at that time. And the only way to that is to put every idea and solution into life. Behold! We present you the ultimate Canoptrix, Arachnoid and Kafferroceros rush! [img]https://thumbs.gfycat.com/FabulousMediocreFoxterrier-size_restricted.gif[/img] HI-res: https://gfycat.com/fabulousmediocrefoxterrier Now is the time for the first test of combat abilities. At this point, we got a little tired of watching colorful cubes running around grey space, so we replaced orange ones with Zombie Driver Dog model. In this clip, you can see the dogs trying to attack the player, however, there are some defensive towers in the way. The attacks carried out by the monsters and the towers are symbolized by the red and green cubes you can see flying around. This is not only a test of pathfinding, but also attack priorities. We can order the enemies to attack either the player, the energy structures, the defenses or other buildings first. The player is the priority here, but if there is something in the way, it will get destroyed as well. [img]https://thumbs.gfycat.com/FlawlessCreamyGibbon-size_restricted.gif[/img] HI-res: https://gfycat.com/flawlesscreamygibbon Tune in on Saturday for the next part of this story. You will learn how we found the solution to our problems and what we did to achieve the effect we aimed for. Until then, you’re all welcome to speculate on it on our Discord - www.discord.gg/exorstudios Other social media: www.facebook.com/exorstudios www.twitter.com/exorstudios www.mixer.com/exor_studios www.twitch.tv/exorstudios