Hello, my Scouts!
Long time no see, my Scouts! Forgive us for this disappearance, but we were super busy with Playtests and preparations for the big day. Yep, you heard that right! Early Access is coming. Keep reading for more juicy info! Now, without further ado Welcome to the second volume of Lumencraft Devlog!
[previewyoutube=CnspGpXBNoY;full][/previewyoutube]
Swarm and how it finds you
Today we want to discuss enemies - you know, the friendly little bugs that totally arent annoying and totally arent destroying all your hard work. Currently, we have 3 different AI systems for enemies.
Number one is your very favorite Basic Swarm - small, fast, aggressive.
Basic Swarm was introduced in the first publicly available build. It was the core of wave attacks and we quickly learned that the absolute top number that the game can support is 500 on the high end PC. When the tiny swarm was attacking your base every 10 minutes - this is it, thats our AI. As you may have noticed, the behavior is pretty simple as those bugs have only one target, one purpose. Dont expect them to suddenly do something super smart. If they do, its game over - for everyone, the AI is self-conscious and these sci-fi movies you like so much arent only movies anymore.
Jokes aside, the Basic Swarm has only 3 objectives:
- go to the player core,
- attack the player on sight,
- attack anything the player constructed on the way to the core.
LEADER - has no other swarm member directly in front, picks one of two attacks on the visible target, follows the target
FOLLOWING_LEADER - follow other swarm members that are close ahead, copies attack target from the leader
ATTACK_WALL - happens when swarm bumps into a wall or a gate
FOLLOWING_PATH - follows a path to the target (usually the player or reactor)
If you would like to imagine how much perception the swarm monster has, just close your eyes, plug your ears and imagine being pushed in a specific direction, you have your arm straight in front of you, and can only sense things that your hand is touching. Now imagine you are being pushed back to chase the player that is behind a wall you don't know the wall is there. Now you have to decide: how to avoid collisions, when to turn, how fast to go, and you have no idea the player has surrounded you with walls or napalm. Poor bugs The Basic Swarm is, or maybe we should say was, the main AI system that we created from scratch. Although the result has a certain aggressive swarm-like character to it, we werent 100% satisfied with the supported swarm size so we wrote another swarm. The Bigger Swarm If hundreds of angry enemies are not enough for you, we also have another swarm AI.
This one is done following a well-established algorithm for flocking/boids introduced by Craig W. Reynolds: https://www.red3d.com/cwr/steer/gdc99/ If you are interested we recommend checking the article as it explains everything far better than we could do it here. Swarm in Lumencraft is written as a C++ custom module for Godot. It allows spawning thousands of monsters that behave like ants. The biggest difference in the implementation was in integrating it with our world and letting monsters react to the terrain. Lonely bugs We talked about the swarm, but what about the rest of the gross enemies? Well, they have their own system. Next AI is intended to be used for Smarter enemies that can support multiple different behaviors that are not swarm-related. The AI for most standalone monsters is a combination of Finite State Machine (FSM) and Context-based navigation. We know, it sounds as scary as being surrounded by lava! However, it works miraculously on monsters' behavior. FSM has a set of states that the monster can be in, like: wandering around, following players, attacking in a specific pattern, flanking, jumping, running away, etc. Context behavior on the other hand is responsible for navigation collisions, finding the best target, and avoiding other monsters. FSM is a well-established algorithm and we do not deviate much in the implementation. So each monster has a set of states and transitions between them. E.g. A monster can only enter an Attack state from a Follow Target state, or an Idle state can be changed to a Follow Target state only if the target is seen. You get the idea. Context navigation is more interesting and is based on a paper Context Steering Behavior-Driven Steering at the Macro Scale by Andrew Fray. You can read a bit more in chapter 18 of Game AI Pro 2 http://www.gameaipro.com/ Anyway, let's talk about how it is done in Lumencraft. We have this test dude over here:
Context navigation So you can see vectors attached from his center. Those are interest vectors. The length of the vector is an information of how much the AI wants to go in a specific direction. E.g. Longer when the vector is directed to the player or destination. On top of that there is a copy of vectors that display danger. Usually the danger vector informs the AI that the direction will cause wall collisions, but can also inform environmental hazards.
Targeting and Decision making Any decision the monster makes is defined by a state within the Finite State Machine based on information from other systems. Targeting systems pick targets and direct the AI on a world scale. E.g Go to the reactor core, chase players, return to spawn, etc. Context navigation informs the AI about its environment, targets around etc.. The FSM gathers the information and picks action according to the current state and options it has. Nothing much here to explain the biggest job is to make a functioning FSM and not drown in states and transition. Maybe one example: Current state is follow_target
- No collision ahead
- Target in range of attack
- Available attacks: Punch, Smash_AOE
Game Endeavor made an excellent video about combining various methods to create the most satisfying movement for enemies. We strongly recommend checking that one out! [previewyoutube=6BrZryMz-ac;full][/previewyoutube] Bonus clip where after months of polishing just a day before playtest started, everything decided to stop working:
The Big Day We are super excited to inform you that Lumencraft will be entering Early Access around the end of March. The precise date will be revealed later this month. Playtests But! As we said many times before, we would love you to take an active part in every step. Thats why we would love to invite you to take part in playtests that we are organizing on Steam. Be sure to check out Lumencraft hands-on! Playtests are waiting for you and we are waiting for your comments. Your feedback will be super valuable. More precious than lumen! Thats all we got for you today! If you have any questions, find us in our Discord and well be happy to answer all of them. https://discord.gg/PCeTvgy4nZ Remember to wishlist Lumencraft on Steam/GOG.com. https://store.steampowered.com/app/1713810/Lumencraft/ https://www.gog.com/game/lumencraft We will be back with more Lumencraft fun facts! Keep drilling, 2Dynamic & Star Drifters https://store.steampowered.com/app/1713810/Lumencraft/
[ 2022-03-01 13:15:15 CET ] [ Original post ]
🎮 Full Controller Support
- Pipeline VR Content [1.24 G]
KEY FEATURES
BECOME SAVIOUR OF MANKIND
The year 2221: More than two centuries ago, the surface of the planet became uninhabitable. The remnants of humanity struggle to survive without electricity and light. Dreams of a better future died long ago, but a recently discovered mineral has brought a spark of hope. Lumen, a crystal with high energy potency, may be the last chance for a struggling civilization. Scouts, brave miners, have been sent underground to a settlement near the Lumen deposits. New scouts continue to join this mission, but so far, no one has returned. It seems that the darkness of the underground holds more than just natural riches...
DRILL YOUR WAY TO VICTORY
Fight for your survival. Enemies are going to raid your base so be careful and leave some turrets on the watch.
- Defending the underground settlement by direct combat and the use of diversified turrets.
- Highly efficient and satisfying digging mechanics.
- Explosive weapons. Yes, we have dynamite.
EXPLORE FULLY DESTRUCTIBLE ENVIRONMENT
With a lot of effort and a set of original algorithms, 2Dynamic Games have transformed the open-source Godot Engine into a completely new tool. This allows every bit of terrain (pixel, as we used to call them) to be destroyed, and maps can be painted as if in a drawing program. What’s more?
- Dynamic lights and pixel-perfect interaction with the fully destructible terrain.
- Dread atmosphere created through the impactful sound design and a unique 2Dynamic lighting system.
- Realistic simulations. Just look at the lava!
AND MORE TO COME
Lumencraft will be in the Early Access stage, which means we will keep adding new features and polishing already implemented ideas. Stay tuned!
- OS: Requires a 64-bit processor and operating system
- Processor: Dual Core CPU @3GhzMemory: 4 GB RAM
- Memory: 4 GB RAM
- Graphics: Dedicated GPU 2 GB VRAM. OpenGL 3.3 support
- Storage: 4 GB available space
- OS: Requires a 64-bit processor and operating system
- Processor: Quad Core CPU @4GhzMemory: 4 GB RAM
- Memory: 4 GB RAM
- Graphics: NVIDIA GeForce GTX 1080 or similar. 4 GB VRAM
- Storage: 4 GB available space
[ 6108 ]
[ 1170 ]