chan51213 Posted October 10, 2013 Report Share Posted October 10, 2013 Hi allI would just like to start off by saying that I think the 0AD project is fantastic. Although I can't write code, I have played my fair share of RTS games and I would like to contribute my ideas on what would make this game hopefully better.Starting with the critism:-no morale-no ability for units to push each other-units turn around almost instantaneously (correct me if I'm wrong on this)-when melee units clash, they do this wierd scattering thing which is reminescent of nightmares I used to have in AoE 2.I think these things are important to address. Quoting wikipedia:"...At certain points, a command would be given to the phalanx or a part thereof to collectively take a certain number of steps forward (ranging from half to multiple steps). This was the famed "othismos". At this point, the phalanx would put its collective weight to push back the enemy line and thus create fear and panic among its ranks. There could be multiple such instances of attempts to push, but it seems from the accounts of the ancients that these were perfectly orchestrated and attempted organized en masse..." (http://en.wikipedia.org/wiki/Hoplite)"...The acute shock of combat. Some scholars of the Roman infantry maintain that the intense trauma and stress of hand to hand combat meant that the contenders did not simply hack at one another continuously until one dropped. Instead there were short periods of intense, vicious fighting. If indecisive, the contenders might fall back a short distance to recuperate, and then surge forward to renew the struggle. Others behind them would be stepping up into the fray meanwhile, engaging new foes or covering their colleagues. The individual warrior could thus count on temporary relief, rather than endless fighting until death or crippling injury. As the battle progressed, the massive physical and mental stress intensified. The stamina and willpower demanded to make yet one more charge, to make yet one more surge grew even greater.Eventually one side began to break down, and it is then that the greatest slaughter began..." (http://en.wikipedia.org/wiki/Roman_infantry_tactics)Morale is a key factor in warfare and to put it bluntly, I feel that not representing it in any game that involves humans killing each other makes the game too simplistic. There is so much ground that can be covered, so many strategics and tactics that it can create, that it is an opportunity too good to miss. Not to mention that most of these strategies come intuitively as a game player.The pushing thing is a major peeve I have about RTS games. It would be a great addition to the game as it is intuitive, strategic and also historic. Taking control of the territory and pushing opponents could be used strategically, eg push opponents into unfavourable landscape or corner them against a river. Breaking the opponent's formation, especially using wedges, is also something that is supposed to work. Yet if it can't push and seperate the enemy formation, the wedge is absolutely meaningless. Calvary charges are also supposed to work too.Here are my suggestions:MoraleAs per alot of other RTS games, each unit would have a specific morale-bar akin to a hitpoint bar. It would scale according to unit type and level. Each type of attack would have a seperate morale-damage count in addition to the hitpoint-damage count. This would allow for the differentiation of intimidating attacks specifically designed to break enemy morale, eg fire or elephants.What I suggest in addition to this is that the attack capacity of the individual unit proportionally depends on the morale of the unit. 100% morale bar = 100% attack capacity, 0% morale bar = 0% attack capacity. This would make the morale bar relevant, something which alot of games unfortunately don't achieve. For the sake of simplicity I'll use using a linear system, although one could easily envision a logarithmic system that makes the morale suddenly crash after a critical point.Case study:-Wimp SkirmisherHitpoints=100Morale=50Attack (hitpoint damage)=10Attack (morale damage)=10-Spartan HopliteHitpoints=100Morale=200Attack (hitpoint damage)=10Attack (morale damage)=10A hit by the skirmisher would reduce the hoplite's morale by 5% (190/200) and a hit by the hoplite would reduce the skirmisher's morale by 10% (40/50). This would reduce his attack by 10%, ie from 10 to 9. Note that the morale damage count doesn't decrease, so it would only take 5 hits by the hoplite to reduce the skirmisher's morale to 0 - representing the fact that he is a wimp and gave up on the fight even though he still has a sizable chunk of hitpoints left.On the other hand, the hoplite would only break after 20 hits and by then he would probably be dead anyway - thus living up to his reputation as a steadfast warrior.-Phalanx of 10 hoplitesHitpoints=counted individuallyMorale=counted collectively, ie 200x10 = 2000. (this rewards units for being in formation as their attack capacity becomes independent to how hurt they individually are).If the hoplite was in a formation of 10, then the skirmisher's attack would only reduce the formation's collective morale count by 0.5% (1990/2000) - hardly affecting the collective attack capacity of the formation.Morale regeneration-leaders (aura of morale)-territory (allied territory=morale regenerates, enemy territory=morale doesn't regenerate. Therefore the home advantage of fighting on one's turf is palatable).-healers, priests (in addition to healing the hitpoints, monks could also heal the morale. Perhaps even an opportunity to specialise the monk units into becoming better hitpoint healers vs morale healers?)-victory (successful killing of an enemy unit would regenerate the morale by a bulk sum, perhaps depending on how elite the enemy was?)Other opportunities with morale-special spells/skills, eg warcry which damages enemy units' morale in a blast radius-the morale bar could act as a 'mana' bar for special spells, especially for a temporary boost of speed or pushing maneuvers (eg "othismos")-heros and leaders actually doing something for their soldiers other than just acting as another big unit.-the classic '300' scenario with a small number of elite units holding off a horde by virtue of their high moralePushing capacityOkay, now this one would be more relevant if I could actually write it out in code (or if I was actually a mathematican), but I hope that at least it might give some ideas.I'm going to use the classic F=MA formula to determine the force/strength of a unitEach unit type would have a specific mass number (M), for exampleskirmisher Ms=10hoplite Mh=40phalanx of 10 hoplites Mhp=40x10=400The acceleration would range from 0~1 and it would simply be the percentage of full speed the unit is at. For example:hoplite time to full speed = 4 seconds, (actual full speed is 5mm/s)at 0 seconds he is at 0A,at 2 seconds he is at 0.5A,at full speed he is at 1ASo for a hoplite at full speed (ie A=1), his force (Fh) is:Fh= Mh x AFh = 40 x 1Fh = 40Compared to this, the skirmisher at full speed would have a Fs of:Fs = 10 x 1Fs = 10ie hoplite has 4 times the force/strength of the skirmisher.Two random units hacking at each other wouldn't automatically push each other.Instead it would be something triggered, ie a 'spell' button that the player turns on to tell the units to push at whatever unit they are fighting and/or push towards their designated destination.Naturally this would be an opportunity to utilise the morale bar, in that turning on this pushing feature would drain the morale bar like it was mana for a spell (which it essentially is).Perhaps even making this a feature that needs to be researched? At the very least it would work to further differentiate the roles of unit types. eg archers and light skirmisher would have no push capacity, whereas calvary would have high push capacity that comes naturallyAnyway, now for the pushing part:let's designate a distance/rate constant of 0.25mm/1s.The unit will be able to push the opponent at a rate proportional to the difference in forces times the distance/rate constant:rate heavier unit A pushes lighter unit B = distance/rate constant x (Fa+1)/(Fb+1)rate hoplite pushes skirmisher = 0.25mm/1s x 41/11rate hoplite pushes skirmisher = 0.9mm/snote that the +1 is just to act as a failsafe when Fb=0Formations would gain collective mass and hence force. In comparison individual units, even if selected together, won't gain collective mass and are essentially fighting alone.If a phalanx of 10 was pushing into a group of 50 individual skirmishers, they would all be treated as individuals no matter how many the player has selected for his group.It would be necessary to designate a cap in pushing speed equivalent to the unit's normal speed. This would prevent ridiculous situations where units speed up when pushing in formations.hoplite's normal speed = 5mm/s:therefore hoplite phalanx pushing speed <5mm/s, no matter how many hoplites there are in the formation or how weak the opponent is.In the instance that a phalanx was pushing a skirmisher,potential rate phalanx pushes skirmisher = 0.25mm/s x 401/11potential rate phalanx pushes skirmisher = 9.1mm/sspeed cap of phalanx = full speed of hoplitetherefore:actual rate phalanx pushes skirmisher = 5mm/sNow lets consider the situation where the skirmisher (X) has another buddy immediately behind him: phalanx | | V skirmisher X skirmisher YY impedes X's movement. Yet they are not in a formation, they are acting as individuals... which would mean that the phalanx should be able to indirectly push Y also. (this would be important as a fail-safe to make sure rows of individual units can't cheat and stop formations in their tracks)X, in the action of being pushed by hoplite, would be imparted with a force of his ownFor the sake of simplicity, I'm going to use a parallel formlua pF=M x pA to calculate the force skirmisher X would be putting on his buddy Y.I'm also going to designate pA as a straight constant of 1.2ie pF = M x 1.2Skirmisher X, in the act of becoming pushed backwards, is putting his weight against his buddy Y.Pushed-Force X (pFx) = Ms x 1.2pFx = 10 x 1.2pFx = 12Now lets consider two alternative scenarios: buddy Y is stationary, and Y is moving at full speed:if Y is stationary, then:Fy = 10 x 0Fy = 0ie he is going to feel the full weight of X on himtherefore:rate X pushes Y = 0.25mm/s x (pFx+1)/(Fy+1)rate X pushes Y = 0.25mm/s x 12/1rate X pushes Y = 3mm/sIf buddy Y is moving at full speed, then:Fy = 10x1Fy = 10thereforerate X pushes Y = 0.25mm/s x (pFx+1)/(Fy+1)rate X pushes Y = 0.25mm/s x 12/11rate X pushes Y = 1mm/snote the importance of setting pA=1.2. it is designed for situations like this where the obstacle is moving at an opposite vector with A=1.lets compare the situation if the skirmishers were in a formation of 10:Fhp = 400Fsp = 100rate hoplite-formation pushes skirmisher-formation (with cap of Vhoplite=5mm/s) = 0.25mm/s x 401/101rate hoplite-formation pushes skirmisher-formation = 0.99mm/sclearly, working in formation is profitable.but I digress - let's address the situation of individual skirmishers working against a hoplite phalanx (for simplicity I'm going to assume that nobody is moving, ie A=0).Each row of individual skirmishers are not going to be pushed at the same rate. If there are enough rows of skirmishers then there are going to be some individuals who are not pushed at all!Also, there might be the situation where the skirmisher has some immobile obstacle behind them, eg cliff or river.It is at this point I would like to address the issue of the 'arc' - the vector arc the unit can be pushed back in response to immobile obstacles. hoplite | | vector of force being applied V skirmisher /\ / \ the arc where the skirmisher can be pushed back / \ / \if there was an obstacle: hoplite | | vector of force being applied V skirmisher X | | vector of skirmisher being pushed back \(ROCK)\ | VA hoplite formation pushing into a mass of individuals would eventually push the mass generally backwards, with individuals being juggled into position.Especially if the hoplites were in wedge formation. A wedge formation smashing into a mass of individuals would eventually dig right into it. The vector of attack would mean that they would push individuals aside and most likely splitting the massinto two. At this point the two dividedmasses would have less weight amongst them, which would mean that they are more easily pushed aside and et cetera.hoplite wedge formation \ / \ / <---- \ / -----> / \ /\ / \/ \ / | \ V | V Vvectors at which skirmishers are pushed backMiscellaneous suggestionsThe time for units to turn around is a little thing which I have seen in some games and which I think can serve to model several features of ancient warfare. I think that giving units specific times-to-turn depending on their mobility will model these features:-vunerability of flank: hoplites and phananx formations are supposed to have vulnerable flanks. By having a slow turning movement, the units will be punished for exposing their flank and/or not preparing well enough for the enemy assult as the enemy will be able to land a couple of free hits while the hoplites are turning to face them.-skirmisher units: by having a quick turning speed, skirmishers will obtain a good hit-and-run capacity, and it will also reward micromanagement on part of the player.the issue of melee units doing funny dances when fighting:I think the problem here is when a unit tries to make mutual contact with an opponent. By looking for a mutual agreement, they do this wierd scattering dance!Instead, each melee unit would have an arc of specific size in front of them. The decision to attack would be binary, ie if anything triggers the arc then the unit would do it's attack movement automatically regardless of whether the intended target stays in the arc or not. Instead of doing awkward stops in pursuit.According to the attack speed, the arc would become 'armed' at the specific time of it's attack animation. Anything in this arc at this time would become hit, regardless of whether it was the original target.Melee units that have are meant to hit only one opponent at a time (ie all of them) would have a very narrow arc, and perhaps even a hit-cap of "1 enemy unit only". Contrawise, for units that are meant to have splash damage (eg elephants, some elite units), all one would have to do is modify the arc and hit-cap. Units that are meant to have a long range, eg sarissa, would have a comparatively longer arc.I hope this helped 1 Quote Link to comment Share on other sites More sharing options...
serveurix Posted October 10, 2013 Report Share Posted October 10, 2013 (edited) whereas calvary would have high push capacity that comes naturallyCavalry doesn't really push other units I think. Cavalry can charge on infantry, but horses facing infantrymen without momentum can't really push them. Pushing is relevant for units fighting shield against shield.The devs plan to implement charging, of course. I don't know how they'll do, the most logical to me would be to make horses run on a small distance, and any infantry unit on that path would be projected a few meters away or would fall on the way and be suffering trampling (the idea is that the units lying on the ground don't stop the cavalry).Each obstacle (line of soldiers) encountered by the cavalry would reduce the distance of charge. So if the infantry formation is very small (2-3 lines for example), the cavalry is able to cross it, continue riding until they're far enough, turn back and charge again, if the infantry formation is large (6-7 lines for example), the cavalry is able to break the first lines but stops before it can cross the entire formation, and has to fight in melee.Now for infantry you're right, pushing is effectively more realistic than charging : enemies are pushed, not projected. Edited October 10, 2013 by serveurix Quote Link to comment Share on other sites More sharing options...
Donner Posted October 11, 2013 Report Share Posted October 11, 2013 I think cavalry really need the ability to push other units. As of now the cavalry in 0 A.D. (and all of the other RTS games I have played with cavalry units in the games) are little more than mounted infantry which are faster to move around. The ability to displace units in a charge would make the cavalry much more useful and may allow them to be used as a tool to disrupt infantry formations and possibly break the formations. Quote Link to comment Share on other sites More sharing options...
chan51213 Posted October 13, 2013 Author Report Share Posted October 13, 2013 Like Donner has said, I feel that something has to be done about the calvary to make them more relevant than just 'mobile infantry'.And as Serveurix has mentioned perhaps a trampling ability for calvary would be more realistic than pushing.However I think that it would be difficult to render trampling into gameplay. All infantry units would need to have a 'fallen down' form rendered as well, a considerable feat considering the multitude of infantry types present. And code would have to be written to enable fallen units to be trampled over temporarily, which seems like a bug-hive waiting to happen.While it may be relatively less realistic, I feel the pushing ability is at least a reasonable model that enables good gameplay. By being able to push the player would essentially achieve the same result as if the calvary could trample over the infantry - broken formations. Perhaps a special rule could be given to calvary only - that instead of preferentially pushing units backwards they 'displace' units sideways? Even with this caveat one would still be using the same essential mechanic for both infantry and calvary.I agree that calvary (and perhaps even infantry) should only be able to displace units while they are charging and that it should be limited either by time or distance.Here are my suggested adjustments:From the formula Force(F)=Mass(M) x Percentage-full-speed(A), one could change the A to represent a binary value of whether the charging skill is turned on or off,ieA=0 - normal state.A=1 - charging stateA typical LancerMorale = 200Mass = 100In the non-charging state the lancer would not have any 'Force' available.Fl=100x0Fl=0Triggered Ability: ChargeMana cost: 30 moraleWhen triggered: Enables A=1, makes Fl=100x1, Fl=100When the lancer encounters a non-charging skirmisher with Ms=10, the lancer would obviously be able to displace him.The decision whether one unit pushes the other would depend on a binary constant of whether the unit has enough force to displace the enemy units mass.And it would be logical to think that the amount of energy used in pushing something aside should depend on the mass.Lets make it simple and use one formula for both:displacing enemy units costs the 'force meter' equal to the amount of mass,and the decision to push simply depends on whether the resulting sum is a positive or negative number.force left after pushing unit = (force of unit pushing) - (mass of unit pushed)force left = 100-10 = 9090 is a positive integer, so ability to push = granted.lets say that the lancer has worked through the crowd and doesn't have alot of force left:force left = 5-10 = -5-5 isn't a positive integer, so ability to push = denied.Both calvary and infantry would use the same mechanism described above, with a key difference in the preferred direction of pushing.Calvary would displace units preferentially to the side, infantry would push backwards. So charging calvary would displace units and scatter formations, infantry would push enemy formations backwards in a contest of strength.Formations would still retain their relevance as the mass would be added together. Here I think that a differentiation has to be made on whether a group of units 'become a formation' and add their masses together vs staying as individuals. Becoming a formation would have to be a key decision/trigger, and one which makes the formation act as a singular unit.I am thinking of making 'the formation' something which can only be created by hero/leader units. Without them the group would be simply that, a group of independent units in a somewhat-strategic pattern, but still have their weights independently considered. In comparison, hero/leaders would be able to amass a formation of units who would then act as an extension of the hero unit. Naturally, the condition of being a formation depends on the hero being alive, which means that his death can very dramatically swing the advantage.I mentioned 'leader' because I don't think that the formation should be something that is a one-off. Yet I don't want to see too much 'spamming' of formations - aka leader units. They would be special units who represent the faceless military leadership of the civilisation. Romans can go to home and back with their centurions, and I'm sure all other civilisations can find their own equivalents.An important thing that would have to be incorporated is a number cap in the amount of leaders producible and the sizes of the formations they can command. Different civilisations may even be able to use this system to specialise in different ways?egRomans can make their leaders relatively cheaply without too many prior research. The number cap for the leaders would be relatively high, yet the individual sizes of the formations would be small. The actual size of the formations would depend on the level of the leader unit. Gameplay with the romans would have to be very organised, depending very highly making formations and laying them out strategically.In comparison, the Celts can't buy leaders from the shop as easily as the romans. Instead their leaders would have to be made in the field. Leaders would be made from normal units who have levelled up fully. Perhaps there could even be a special unit type of 'wannabe hero'/'young royalty' etc who have to level up in order to be able to command a formation. In order to compensate their difficulty in making fomations, the units would have to be individually strong. Gameplay with the Celts would be very different from the Romans as one would have to be daring and aggressive, and formations wouldn't be so much the bread-and-butter as the coup de'grace. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.