The Dragoness: Burden

IndieDragoness

New member

Hi!

I'm 'IndieDragoness' and I figured I would post my WIP stuff here. I'm using a lot of custom tasks in Behavior designer to organize my codebase and it's really helping me visualize how everything is working. I'm a very visual learner/operator and being able to do that has actually helped me overcome my motivation block when it comes to larger projects.

Summary:
Long story short, building a hobby game where you play as a grouchy Dragoness who stumbles across some orphaned dragon eggs, and tries to keep them safe. It's essentially one long escort quest, but with a lot of self-aware humor built in (The hatchling dragons move slightly slower than the player, and the player has the ability to 'yell at them' to give them a buff that causes their movement speed to match the player; a nod to all those quests where the player is slightly faster than the NPC they are escorting).

It's going to be pretty short as it is my first game, but I plan on building on the systems made here for a more complicated Game #2, etc.

Social Media:

Some more example gifs:

 
Last edited:

IndieDragoness

New member
Looking good! Are you doing pathfinding with the dragon moving in the air?
Thanks! One option I was looking at was Mercuna for instance, which could create a 3D map of 'Flyable area and pathfinding' for moving in the Air. At the moment, the Dragon shown is being controlled by the Player:

Alternatively, steering behavors.

At the moment I haven't gotten flight A.I. done for dragons yet, which I am planning on doing in the future for game #2; for this first (small) game, I'll focus on just getting the Ground component done! My goal is to start smallish, and then build off of that in iterations.
 
Last edited:

IndieDragoness

New member
Demonstration of A.I. enemy progress (Using Behavior Designer):

1) Enemy wanders when there's no target
2) Enemy has a detection range for enemies (in this case the player dragon)
3) When detecting enemy, seeks them out
4) When in range, uses weapon

The way I set this up can be used for ranged weapons to, just need to set the stopping distance + weapon range parameters to the appropriate range. The current target is chosen using a threat-based system where each enemy is given a base threat level (for example, a dragon has a higher base threat level than a small foot-soldier) which can be modified in real time to make any entity more or less threatening (think 'Taunts'). All Entities now have a stat block as well, which is where threat/health/mana/enemy factions/ally factions etc. are all stored making it easy to manipulate any value (such as making an enemy friendly or a friend an enemy).

Next up: Setting up the damage systems so things can get harmed. From the Skeleton's perspective this means applying damage to a target. From the dragons perspective, this will mostly just mean punting enemies in a single hit (Dragons ARE rather strong after all!)



Just uhhh.. ignore all those errors popping up in the console at the bottom <_<
 

IndieDragoness

New member
Update 7/22/2020:

First bit of actual playability has been reached!


Setup a generic 'Entity' that can be customized to fit any humanoid faction;

  1. Each entity has a block of stats that describe it, from 'Health' to 'Faction'.
  2. Each entity seeks out targets within its detection range that are listed as enemies.
  3. Each entity is also aware of all allies within range (Healers and buffers can target friendlies later on, and hatchling dragons will be aware of the player dragon when she is within range).
  4. Collision detection for attacks ignores allied factions and strikes enemy factions. An attack can be a cleave (one swipe harms all enemies in the path) or a blow (the first enemy in the path of the swing is damaged but no one else is until the attack completes.
  5. Ranged enemies can now be setup with proper settings to enemy detection, and range of attack. I can add damage components to their projectiles.
  6. Each entity (including the player) has a base 'Threat' value that can be used for targeting logic. The highest threats are targeted first.
To do next:

  1. I need to add a multiplier so that enemies that are closer receive a higher threat rating than those that are further away. For example, a skeleton with a base threat level of 3 would have a final threat level of 9 when within attack range, and a final threat level 1 when far away.
  2. Need to fix some of the ragdolling not looking right when the dragon attacks (sometimes the dragon pounds them halfway into the ground..)
  3. Need to setup dragon A.I. (Ground). Hatchlings should be able to fight too.
  4. Need to setup logic to deal with dragons that are flying. Maybe enemies switch to ranged weapons?
Funny bug of the week:

 
Top