Page 1 of 1

Battle System Request

Posted: Tue May 01, 2018 10:37 pm
by RenatoDias
This thread is to request a battle system in ADRIFT 5, as talked about in viewtopic.php?f=14&t=11424&start=30#p104575

Offense(ATK/Attack): How much damage you can deal.
Defense(DEF): How much damage you can protect yourself from(aka. damage mitigation/suppression).
Accuracy(ACC): How accurate you are, which means, how frequently you can hit your enemy.
Evasion(EVA): Allows to evade attacks.
*Mitigation is a term used in Overwatch for taking damage and protecting yourself.
HP: Health Points, how much damage you can receive before you get killed.
Normal attack: A normal attack, designed to deal the ATK damage.
Hard Attack: ATK+50%ATK.(2 turns to recharge, starts ready)
Ultimate: 300% of the normal attack.(8 turns to charge, doesn’t start ready)
Normal Attack: ATK-Enemy Defense/Enemy ATK-Your Defense
Hard Attack: (ATK+50%ATK)-DEF
Ultimate Attack: (ATK*3.0)-DEF
Battle Text:
Normal Attack: “You attack <character> with <weapon>, he/she receives ## damage”
Hard Attack: “You decide to use a harder attack. You swing your <melee-weapon> in a stronger way, dealing ## damage”.
Ultimate Used:
“You use your ultimate ability, dealing ## damage to your target in a awesomely powerful blow” /
“Enemy uses his/her ultimate ability. <enemy ultimate line, defined by ultimate property>, he/she deals a powerful blow on you, be careful!”.
Danger: “You are in danger, get yourself healed as soon as possible”/ “He/she is in danger, now is your chance”.
Ultimate Ready: “Your ultimate ability is ready” / “Enemy ultimate is ready, heads up!”.
Ultimate Charging: “Your ultimate ability is charging, just a few more turns!”
Light Armor: DEF+4
Medium Armor: DEF+8
Heavy Armor: DEF+12
Potion: restoration=(max_life/2)+current_life

Re: Battle System Request

Posted: Wed May 02, 2018 12:07 am
by ElliotM
  • How do you want the command syntax for combat to look? The Adrift Standard library has dummy tasks for attack %character% or attack %character% with %object%. One design pitfall is forcing the player to type long commands over and over, so you might want to consider abbreviated command syntax or shortcuts similar to how MUDs do it.
  • I also noticed you didn't list any weapons. Is that intentional? If they exist I imagine they add to your attack stat somehow. Would like to see some examples of weapons as your fake transcript indicates they are used when attacking.
  • Your normal attack formula appears to use division unless you were showing the difference between player and npc attack calculation? I've not really done division in Adrift because it doesn't have decimal numbers and will end up rounding for you.
Can you include some example 'character sheets' showing their base stats?

Re: Battle System Request

Posted: Wed May 02, 2018 1:10 am
by RenatoDias
Normal Attack: ATK-Enemy Defense/Enemy ATK-Your Defense
It's not a division, just showing how it would calculate when you attack and when the enemy attacks you.
For example. if the enemy attacks you, the formula would be "Enemy ATK-Your Defense(DEF)

ATK: 30
DEF: 20
ACC: 20
EVA: 30
HP: 300
ATK: 25
DEF: 30
ACC: 25
EVA: 35
HP: 225
Guns(there will be some gunplay)
Attack %character%: Attacks the enemy character with whatever weapon you go equipped, the game will check and send the corresponding message. ATK-DEF
Power Attack %character%: The equivalent of the Hard Attack on the first post. (1.5*ATK)-DEF
Use ultimate / Use ultimate on %character%: Uses your ultimate ability, which doesn't use weapons and can increase status or heal.(3*ATK)-DEF
Correction on Potion:
I hope it's enough.

Re: Battle System Request

Posted: Wed May 02, 2018 3:55 am
by ElliotM
What scale are those stats on? Or is it relative? I also need stats for the weapons.

Also need to know how Accuracy and Evasion work.

Re: Battle System Request

Posted: Wed May 02, 2018 7:03 am
by ElliotM
(17.4 KiB) Downloaded 96 times

Code: Select all

What is in here so far:
* Combat stat properties (mark a character as a combatant).
* Normal, Power, and Ultimate attack tasks share common check tasks and the Damage/Strike Calculator task to centralize battle logic.
* The Strike Calculator allows attack to be multiplied by a number for normal, power, or ultimate attacks(1, 2, or 3 respectively) and the calculated result is kept in a temporary property named Strike.
* Warning text displays when certain conditions are met using Alternate Descriptions in the Strike Calculator.
What isn't in here so far:
* Any items such as armor, weapons, or potions
* Cool down timers for power and ultimate attacks are implemented but off by default due to 'bad expression' bugs/warnings. Code works fine despite the warning.
* Accuracy and evasion aren't used yet since I don't know the formula.
Test the battle logic with 'attack enemy', 'power attack enemy', and 'ultimate attack enemy'.

Re: Battle System Request

Posted: Wed May 02, 2018 6:22 pm
by ElliotM
While looking back over the forum I found some discussion threads about battle systems I thought might interest you.

Combat systems.. why? (May 2016)
end of game (Dec 2014)

Both of these threads discuss things relevant to combat systems. The first one goes into why people seem interested in them and the hurdles of making a good one. One of the bigger issues discussed is the concept of text variety and repeating the same actions over and over. The second thread above discusses the impact of Undo and Save/Reload.

Dice, Probability and Skill Checks. (May 2016)

This thread has some demo files I forgot I made that you might be interested in looking at. d20 attack with cinematic scaling and text variation demo shows a method of text variation while repeating the same action that I would recommend copying the approach of if you need text variety. The d20 stat system demo in that thread is also something you can look at but I prefer the property setup I used in the Battle System demo I posted earlier as I feel that it is a bit cleaner in the organization of the properties in the property tab. That demo also had the combatant with the highest attack hit; when I played just now I got hit once by the troll and then overwhelmed him without taking another hit, which has some balance issues.

Re: Battle System Request

Posted: Thu May 03, 2018 12:01 am
by RenatoDias
I'll check them out. I read the "Combat systems... why?" thread before. And your battle system demo is pretty nice.
The formula for Evasion vs Accuracy calculation is simply ACC-EVA.

Re: Battle System Request

Posted: Thu May 03, 2018 1:31 am
by ElliotM
Using ACC-EVA as the formula means neither you or the enemy can ever hit each other given the stats you gave me.

Player ACC - Enemy EVA is 20 - 35 or minus 15.
Enemy ACC - Player EVA is 25 - 30 or minus 5.