devolution

Author Topic: BE logic  (Read 4135 times)

0 Members and 1 Guest are viewing this topic.

Offline DarkTl

  • Hero Member
  • *****
  • Posts: 4568
Re: BE logic
« Reply #30 on: April 25, 2016, 03:43:57 AM »
As for binding skills to weapons... It should be unique, unusual cases with powerful skills and rare weapons. We can't tie all skills to weapons, there should be general skills available with any weapon of some type.

At very least melee and ranged skills clearly should be different.

Offline DarkTl

  • Hero Member
  • *****
  • Posts: 4568
Re: BE logic
« Reply #31 on: April 25, 2016, 04:01:11 AM »
One more thing, often we cannot control what kind of weapon will have battle sprite. Sometimes you should be glad you have found at least one decent battle sprite. And some sprites have no weapons, while others have swords, guns, bows, etc.

If we use unarmed attacks for everyone without equipped weapons, we'll have characters with swords who don't use swords. That's why we have basic attacks in characters jsons, they are based solely on sprites.

But what happens if a character with a sword attack will get a bow? Either we add BowAttack to attacks list, or replace SwordAttack with BowAttack. In the first case the character will have an advantage just because of sprite, in the latter case we again have a character with a sword who cannot use swords.

I'm not sure how to handle it.

Offline Xela

  • Global Moderator
  • *****
  • Posts: 6689
  • "It's like hunting cows"
Re: BE logic
« Reply #32 on: April 25, 2016, 05:55:51 AM »
One more thing, often we cannot control what kind of weapon will have battle sprite. Sometimes you should be glad you have found at least one decent battle sprite. And some sprites have no weapons, while others have swords, guns, bows, etc.

If we use unarmed attacks for everyone without equipped weapons, we'll have characters with swords who don't use swords. That's why we have basic attacks in characters jsons, they are based solely on sprites.

I suppose they are based on unique character perception, which more often than not translates into art. I can imagine a character be sprite without a weapon but with corresponding weapon skill.

But what happens if a character with a sword attack will get a bow? Either we add BowAttack to attacks list, or replace SwordAttack with BowAttack. In the first case the character will have an advantage just because of sprite, in the latter case we again have a character with a sword who cannot use swords.

I'm not sure how to handle it.

I suppose we could add a "default_attack_skill" field to uchars, which if not false, will always be added to their list of battle skills. I can "if/else fork" cases where we equip a sword on someone who is already using the sword...

The problem with that approach is that such a character would be at advantage... by default, because his/her skill is better. I wonder if I can come up with an wrapper class to make default attack's stats generic somehow. I'll add this to front post and think about it before turning it into an issue on github.


Well, I'd like to have health based skills in the future anyway to have "all or nothing" skills that take a lot of health but also are very strong. "Night [char.name]", if you know what I mean  :)
But yeah, battle APs are a decent way too.

There is a lot of stuff I'd like to have in the future, but you can prolly do something along these lines right now...

You see, some animations are clearly intended to be used with a very specific weapon. Like some energy axe slashing hither and thither, there is no way we can use it with a club or something. And the best way to find out what kind of weapon we use is to look at the base skill it has, so axes always will have AxeAttack.
Yeah, it will work too. Either once per N days, or once per battle.

Hmm... it feels like we need some form of compromise here, maybe limiting weapons that can be equipped using base traits and making attacks more generic. I'd like a system which we can explain and remember what does what and why.

Offline Xela

  • Global Moderator
  • *****
  • Posts: 6689
  • "It's like hunting cows"
Re: BE logic
« Reply #33 on: April 26, 2016, 08:58:01 AM »
I was thinking about what we can potentially do for normal attacks code-wise... it will be really hard to impossible to find gfx animations for all normal attacks:

['RodAttack', 'GunAttack', 'SprayAttack', 'ThrowAttack', 'BowAttack', 'SwordAttack', 'AxeAttack', 'KnifeAttack', 'CannonAttack', 'WhipAttack', 'CrossbowAttack', 'BiteAttack', 'FistAttack', 'ScytheAttack', 'ClawAttack']

Problems with creating GFX with code is that our sprites do not follow any specific design pattern, still we might be able to do some things by adding additional data to mob definitions. For example, alpha blending or masks can be used to:

- Cut images vertically, horizontally or diagonally and move the cuts apart.
- "Flash" the image.
- Change Alpha of the image.
- Use Zoom on image.
- Blend other patterns on the image (cuts/blood of different colors).

and etc.

I am not sure if this is something we should pursue but it is an option.

Offline DarkTl

  • Hero Member
  • *****
  • Posts: 4568
Re: BE logic
« Reply #34 on: April 26, 2016, 09:47:37 AM »
It's not entirely true, our current animations for simple attacks just show a suitable sprite with quickly decreasing alpha, so we can add anti-material plasma cannons and still find an animation for their normal attacks without problems  :D
Now if you want better animations for normal attacks (they really don't look very impressive atm), then yeah, something should be done.

Offline Xela

  • Global Moderator
  • *****
  • Posts: 6689
  • "It's like hunting cows"
Re: BE logic
« Reply #35 on: April 26, 2016, 10:56:38 AM »
It's not entirely true, our current animations for simple attacks just show a suitable sprite with quickly decreasing alpha, so we can add anti-material plasma cannons and still find an animation for their normal attacks without problems  :D

Well, it's like you've said yourself... we cannot release just with one attack per type so I thought we could (possibly) add levels to attacks (like Slash/Double Slash/Shadow Slash or something like that), problem is that we may not have enough decent animations to cover all of that...

Now if you want better animations for normal attacks (they really don't look very impressive atm), then yeah, something should be done.

So I was thinking... for example:

Sword:
- Slash (normal animation + slight shake effect to the defender if it hits).
- Double Slash (we show the animation twice rotated appropriately).
- Shadow Slash (attacker rushes towards defender and we show something like this: https://youtu.be/lDTjtXhKk9s). This kind of a setup may be just the code, without any drawn animations but the trouble is that there are sprites that will look ridiculous if we used that because they are holding huge weapons like bows/spears or wearing loose capes... that makes these kind of code driven effects to sprites semi-useless or at least very limiting...

Offline DarkTl

  • Hero Member
  • *****
  • Posts: 4568
Re: BE logic
« Reply #36 on: April 26, 2016, 11:12:45 AM »
Even without shadow stuff there are many possible options with zoom, angles, alpha, masks + different numbers of sprites. Worth a shot.

Offline DarkTl

  • Hero Member
  • *****
  • Posts: 4568
Re: BE logic
« Reply #37 on: December 25, 2016, 03:44:19 AM »
Unique BE skills from the final build of Eliont's Alkion Raiders:
- regeneration effect
- paralysis effect
- self protection from weapon attacks (knight class)
- ally protection from weapon attacks (knight class)
- enchanting ally weapon (+ elemental damage)
- blindness effect

Offline Xela

  • Global Moderator
  • *****
  • Posts: 6689
  • "It's like hunting cows"
Re: BE logic
« Reply #38 on: January 09, 2017, 09:34:48 AM »
His classes are a lot more direct and specific...


What do we want from AI? I want to try to improve it, not all the way but at least make it a bit smarter than it is now... What should be considered most important? Right now I am trying to teach it to heal, revive and pick good skills but there are so many possibilities beyond stuff like this... we need to figure out how far we want to take it for beta.

Offline DarkTl

  • Hero Member
  • *****
  • Posts: 4568
Re: BE logic
« Reply #39 on: January 09, 2017, 12:43:38 PM »
Well, main problems with the current random AI are:

- unlimited resources; as long as skills don't require health, AI is capable of spamming powerful attacks every turn. We don't have to limit mp and vitality - although it's an option too - but at least we could use a random cooldown for powerful skills, like 0-2 turns. As long as AI has less powerful skills too of course.

- selecting target; usually in games AI either goes for the most defenseless target or tries to take down the most dangerous target first.
In many games (including Alkion Raiders thanks to the knight class) player is capable to protect weaker party members with special skills which force AI to attack a well protected character instead, or simply taking the damage instead of the target.

- magical shields will be available for mobs too, they should know how to use them.
« Last Edit: January 09, 2017, 12:46:33 PM by DarkTl »

Offline Xela

  • Global Moderator
  • *****
  • Posts: 6689
  • "It's like hunting cows"
Re: BE logic
« Reply #40 on: January 09, 2017, 03:13:58 PM »
- unlimited resources; as long as skills don't require health, AI is capable of spamming powerful attacks every turn. We don't have to limit mp and vitality - although it's an option too - but at least we could use a random cooldown for powerful skills, like 0-2 turns. As long as AI has less powerful skills too of course.

I believe that AI is not special in this case. There shouldn't be anything like unlimited resources.

- selecting target; usually in games AI either goes for the most defenseless target or tries to take down the most dangerous target first.
In many games (including Alkion Raiders thanks to the knight class) player is capable to protect weaker party members with special skills which force AI to attack a well protected character instead, or simply taking the damage instead of the target.

Noted.

- magical shields will be available for mobs too, they should know how to use them.

Buffs may be trickier but it's doable.

Offline DarkTl

  • Hero Member
  • *****
  • Posts: 4568
Re: BE logic
« Reply #41 on: January 10, 2017, 12:02:35 AM »
I believe that AI is not special in this case. There shouldn't be anything like unlimited resources.
Then mobs are at risk of quickly spending all resources and then being limited to simplest attacks; or even waiting all the time if they don't have any simple attacks.
The middle ground is to have unlimited resources, but limited capability of using them. Or have limited resources, but make waiting also restore mp.

Offline Xela

  • Global Moderator
  • *****
  • Posts: 6689
  • "It's like hunting cows"
Re: BE logic
« Reply #42 on: January 10, 2017, 03:18:35 AM »
Then mobs are at risk of quickly spending all resources and then being limited to simplest attacks; or even waiting all the time if they don't have any simple attacks.
The middle ground is to have unlimited resources, but limited capability of using them. Or have limited resources, but make waiting also restore mp.

I don't like unlimited resources for mobs, increase their capacity if you like. It's a good setup, they would have similar capabilities as normal players. There will be scripted fights at some point, like boss fights where the boss may restore everyone on their team after 7 turns (for example) except him/her/itself.

Offline DarkTl

  • Hero Member
  • *****
  • Posts: 4568
Re: BE logic
« Reply #43 on: January 10, 2017, 03:36:52 AM »
It's a good setup, they would have similar capabilities as normal players.
As long as the player doesn't have access to items inside BE.

Offline Xela

  • Global Moderator
  • *****
  • Posts: 6689
  • "It's like hunting cows"
Re: BE logic
« Reply #44 on: January 10, 2017, 04:13:31 AM »
As long as the player doesn't have access to items inside BE.

They don't atm, we can adjust if we decide to allow that at some point. Enemies would also be able to use items then.