Hi all,
We are making simple action-RPG game featuring 5x8 (scalable) tile-based grid (see attached mockup). Player can move 1 cell left/right/up/down. Player character have only short range attack, so he should try to get near enemy without taking too much damage and try to hit him from sides/back.
Enemy has the same movement pattern, but each has specific attack patterns, e.g. one can hit only straight ahead of him to whole column, the other only diagonally, the other can strike both etc.
Player can upgrade his HP, attack damage and possibly speed/stamina.
So the problems I'm currently having are as follows:
- Game is not turn based (at least visually at shouldn't look and feel as one), but it seems hard to find correct speed balance between player and enemy, without giving either of sides huge advantage over another. If I set the speed of both to same value, enemy will always win because of various long range attack patterns.
- Player should try to get to enemy's back or sides, otherwise he'll be attacked if he appears in the cell straight ahead of enemy. Depending on enemy's attack patterns, this goal can vary from "very hard" to "impossible".
- I want to achieve a single formula to calculate each next enemy's HP and attack, and player's attack as well, using possibly same or similar formulas. It should be linear or logarithmic progression, ideally using same numbers as in player's base stats (HP). E.g. Enemy 1 HP = (playerHP)*2, Enemy 2 HP = Enemy 1 HP + 20%, and so long. Same for the damage. But I'm sure that there's a better way to do it, so advice is welcomed.
- Can I calculate specific probability of getting to enemy without taking damage, knowing only his attack patterns, speed, and board size? Like Enemy 1 has 3 attack types, each covering 4 cells. Board is 5x8=60 cells, all enemy attack types combined can cover (damage) up to 3x4=12 cells. Knowing only this much, can I somehow calculate how easy is this enemy to beat? This is important to achieve reasonable balance and difficulty progression from level to level.
Thanks.