Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Leverage Behaviors for Enemies in GooeyDefence #73

Open
4 tasks
jdrueckert opened this issue Apr 8, 2022 · 1 comment
Open
4 tasks

Leverage Behaviors for Enemies in GooeyDefence #73

jdrueckert opened this issue Apr 8, 2022 · 1 comment
Labels
Category: Gameplay Content Requests, Issues and Changes targeting gameplay mechanics and content Topic: AI Requests, Issues and Changes related to pathfinding, behaviors, etc. Topic: Stabilization Requests, Issues and Changes related to improving stablity and reducing flakyness Type: Improvement Request for or addition/enhancement of a feature

Comments

@jdrueckert
Copy link
Member

jdrueckert commented Apr 8, 2022

Motivation

Tower defense gameplays live off varying characteristics of the incoming waves, including their speed and resistance, but also their behavior and movement. Some enemies can fly in a direct line towards the goal, while others need to find their way through a potential maze on the ground. Some enemies might strive directly towards the center, others might attack the player's towers where possible.

GooeyDefence already implements different types of enemies with regards to speed and resistance, but not yet to behavior and movement. I believe that Behaviors can provide the means to diversify incoming waves making the gameplay more interesting while at the same time leveraging an existing framework instead of implementing custom logic.

Current State

GooeyDefence already extends FlexiblePathfinding for allowing the enemy waves to find a path through the maze (see EnemyWalkingPlugin. However, for movement it still relies on a custom implementation.

Behaviors includes movement related basic actions that make use of movement plugins that work well in combination with the pathfinding plugins already used/extended in GooeyDefence.

Tasks

  • create behaviors for the enemies in GooeyDefence
    • leverage existing common behaviors and actions
    • if necessary create custom actions for the enemy behaviors / movement
  • remove the custom movement logic from GooeyDefence
@jdrueckert jdrueckert added Type: Improvement Request for or addition/enhancement of a feature Category: Gameplay Content Requests, Issues and Changes targeting gameplay mechanics and content Topic: AI Requests, Issues and Changes related to pathfinding, behaviors, etc. Topic: Stabilization Requests, Issues and Changes related to improving stablity and reducing flakyness labels Apr 8, 2022
@Jacob-Rueckert
Copy link

Jacob-Rueckert commented Apr 19, 2022

Sooo since i play a lot of Tower Defense Games in my free Time there are certain directions AI / Diversion of Enemys in TDs works.

As you Said there are 3 Different Kind of Enemys: Normals, Flyers, and Invisibles(Diggers)

Usually there are 3 Kind of Different Perkz getting adjusted: Speed , Health, (And Sometimes The Thrid is Either DMG or Shield or Invulerability to specific kinds of Towers)

So we could implement different Kind of Enemys based on these alone.
Further Mechanics are mostly developed through specific Towers.

In Tower Tactics Liberation Invisible Enemys get handled by either AOE and therefore losing their invisiblity or specific Towers beeing able to hit them.

Therefore i dont think just writing behaviours for the Enemys would be enough. Its probably a mixture of writing Tower Behaviours aswell.

I could look into Gooey Defence

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Category: Gameplay Content Requests, Issues and Changes targeting gameplay mechanics and content Topic: AI Requests, Issues and Changes related to pathfinding, behaviors, etc. Topic: Stabilization Requests, Issues and Changes related to improving stablity and reducing flakyness Type: Improvement Request for or addition/enhancement of a feature
Projects
Status: Brainstorming
Development

No branches or pull requests

2 participants