Hey guys,
I am Felix (computer science student, 21 years old) and completely new here. I will try to not ask any trivial questions that could be quickly answered via Google, yet if I should behave inappropriately in any way, please let me know.
About the project
I am not a professional game developer, however, I really love designing and creating my own games. In my free time, I am working on a 2d mobile game. I have completed a sidescroller action game many months ago and am now working on a "castle defense game" similar to the games "Age of War" or the mobile games "Legendary Wars" and "Monster Wars". The player and his enemy both own a castle, which they use to build units, which then fight against the units of the opposing player. The goal is to reach the enemy castle and to destroy it.
Screenshot of old prototype:
Note: Please don't be too harsh. I know that most of your projects have a higher quality and are more polished than my game and I am fine with that. My goal is not revolutionizing the gaming industry, but creating a simple game that satisfies myself and is fun to play. Me (ideas, programming) and my brother (artwork) have put a lot of passion and time into this project.
About units and skills
One major thing with which I am struggling since quite some time is balanced unit recruitment cost.
I have already read different articles (like this one) about balancing economies and item cost, yet I still struggle with a few concrete things. Before we get to the problem, I'll describe a few essential aspects of the game (simplified to make it easier to talk about them).
Skills (consist of)
-
Movement
- Initial position relative to owner
- Initial velocity
- Constant acceleration
- Damage
Examples for skills: axe (thrown, parabola-like movement), arrow (shot straight, small acceleration down due to gravity), boomerang (flies forward and after some time turns around and flies back to owner).
Units (consist of)
- Health
- One Skill
- Skill cooldown (time until they can re-use skill after using it)
Examples for units: warrior with a lot of health and low range axe as skill, ranger with low health and long range arrows as skill.
The recruitment cost issue
It is really hard for me to find balanced and good unit prices. Just listening to my gut instinct (obviously) leads to random and unbalanced prices, therefore I am trying to go with logical formulas now.
The difficulties start with the movement of skills: Skills with the same damage can differ a lot in their effectiveness due to different kinds of movement. Fast long range skills are better than slow low range skills. My approach to deal with skill movement is simulating the skill movement and then generating a few metrics via the simulation results:
- rangeMin, rangeMax
- collisionPercentage (which part of the movement is the skill at the height of potential enemies? If the skill is in the air, above units, for a long time, the collisionPercentage is lower than for example a straight arrow)
- Maybe I should additionally consider speed
Using those metrics I try to calculate unit cost. The main difficulty for me is combining the cost of unit health with the cost of unit damage. A ranger with low health and long range might cost 20 Gold and a warrior with high health and low range might cost 20 Gold too. Now, what should the price for a unit with both long range and high health be? The cost of a unit should consider:
- Health
- Range
- tacticalDamage (= skill damage / skill cooldown)
- other metrics from the movement, like collisionPercentage or skill speed
- actually, some more attributes (like shields) which we ignore here for the sake of simplicity
My first approach was just adding the different values together, each with a different factor. For example "unit cost = health + 2*tacticalDamage + rangeCost". However, the results were rather random and units which were good everywhere were not expensive enough. The different attributes work together, kind of multiplying the effectiveness of the unit, while the cost was just an addition. Next, I tried some way of multiplying the different prices, however, the results were even worse, with the prices of the units having a huge difference.
I just seem to not get the prices right. When I try to keep the formulas simple, important properties are just ignored, however, when the formulas become too complex, it becomes hard to understand them and to work with them. One alternative approach I am considering is to introduce fix unit prices: My game will have three leagues, each with different tribes and units. All units within a league should be balanced. I am considering manually defining the cost of units in a league (for example every long range unit costs 20 Gold, every short range unit 15 gold, every boss 100 gold) and then trying to adapt the units (health, skill cooldown, etc.) to that fix cost. The fix prices might make the game less complex and easier for players to get into, however, I doubt I can really balance the game that way.
Do you have any ideas or tips? Any help is greatly appreciated.
Best regards
Felix