PDA

View Full Version : discuss: Army Experience and Training



RossumsChild
09-20-2005, 04:55 PM
Ok, I know Mickey is already talking about installing an experience system. . . and some issues have come up with the ability to merge or split armies based on this system.

I think opening up a debate about the kind of experience that could be implemented might flesh out what is and isn't feasible, and we can deal with mixing armies once there is a clear picture of what experience means.

what follows is my personal suggestion, based on the first thing that came to mind that might be easily implemented right now.

I think the simplest beginning we could have would be a simple three tier system. "untrained" "trained" and "veteran".

untrained armies can be purchased at any time and work like they work now.

trained armies are more valuable. A "request" for a trained army is filled 24 hours after the army is recruited, and cost an additional amount (perhaps 0.10 geo per troop instead of .075?). purchasing additional troops for that army also incurs a delay. Trained troops start out with a battle advantage and a movement advantage. They move faster and fight more effectively. Perhaps a simple 10% addition to their attack or damage stats, or a 10% decrease in their losses each round.

Untrained armies convert to trained armies after they see a certain amount of battle. Perhaps 3 engagements with at least 24 hours between each engagement (to keep people from only skirmishing lightly just to quickly upgrade an army).

Veteran forces are created in the same manner, with trained forces converting into veteran forces after an additional number of engagements (5 or 10?) and gaining an additiona combat bonus (another 10% perhaps?).

The difficult of this is mixing experienced and inexperienced troops. Do we allow experience to be inherited?

There are a lot of problems that come along with such a system that need to be ironed out, but they could be dealt with and I think the result would be much more rewarding combat system.

Of course I can't suggest much more than that without knowing what the system looks like on the back end, so I'll leave it pretty open. If army's are being handled as a single integer of "troops", things are different than if they are an array or vector of troop integers, in which case an army could be divided both by class (if later on things like armoured or airborne divisions were added) and by experience. The risk here is that then army management becomes a real nightmare if it isn't coded very very tightly.

thoughts?

aravan
09-20-2005, 05:01 PM
I think the more simplified, the better. I am all for the idea of having the 3 levels of troops with the set levels of experience. Maybe even an "Elite" level for an army that has managed to survive many battles. To keep it simple I would say that only armies with the same experience could be merged or separated. That keeps the confusion possibilities to a minimum and is probably easier to code. Nice post!

Timmetie
09-20-2005, 05:12 PM
ofcourse, in the real world, an army with some experienced men, would do better then just the sum of those experienced men, but as this is too hard, and this game doesnt lean to heavily on the real world yet, id say keep it simple.

Only allow armies of thesame experience type, add to an experienced army and its going to cost you more.

ofcourse the experience of new soldiers is tougher. a 1000 man army, which has seen 2 battles, and you quickly add 10.000 or something. just make the battles the armies has seen (that count to xp) reset then, and ofcourse also the 24 hours timer.

This might make the coding a little easyer.

Mickey
09-20-2005, 06:47 PM
If army's are being handled as a single integer of "troops", things are different than if they are an array or vector of troop integers, in which case an army could be divided both by class (if later on things like armoured or airborne divisions were added) and by experience.
You are correct. It used to be that each user simply had an integer for "armies" and that was in. We then created an armies table, linked it to each user, and now each army has it's own row. In there, we can set an experience level for each army (currently all are "1") and the number of troops.

Mixing and matching beyond that is something I don't care to get into. Regardless of how the rest of it shakes out, entire armies will be the same class/experience. It's just a matter of how to get there and what they get for it.

RossumsChild
09-20-2005, 08:56 PM
ofcourse the experience of new soldiers is tougher. a 1000 man army, which has seen 2 battles, and you quickly add 10.000 or something. just make the battles the armies has seen (that count to xp) reset then, and ofcourse also the 24 hours timer.

an XP based system and a rank based system fundementally have different difficulties.

You've assumed a numerical value for XP. The downside of that method is that the mathematics of combat become increasingly harsh. You can't just add a single point of damage to their attack for each XP point they have, the most winningest army would eventually become so overpowered they would be a legion of Clark Kents. And the ability for the owner of that army to replentish troops at that same level of experience would make him unstoppable.

The downside for using a plataeu/ranking system like I've proposed is just the opposite. Obviously the mathematics of combat are easy because they are only modulated in a couple of ways and only by a couple of different pre-known values. There's no boundary condition where a single army might push through and create a mathematical hole.

The downside is that evaluating how and when to move troops from one rank to the next becomes increasingly difficult the more ranks there are and the more qualifiers there are for each rank (is battle experience the only factor, or do troops that invade and successfuly capture a city get an extra "successful attack" experience bonus?).

They are two different methodologies. Clarity would be helpful.

RossumsChild
09-20-2005, 09:22 PM
You are correct. It used to be that each user simply had an integer for "armies" and that was in. We then created an armies table, linked it to each user, and now each army has it's own row. In there, we can set an experience level for each army (currently all are "1") and the number of troops.

Mixing and matching beyond that is something I don't care to get into. Regardless of how the rest of it shakes out, entire armies will be the same class/experience. It's just a matter of how to get there and what they get for it.

Aha, that clears up a lot about your plans

"table"? I can assume then that on the back end this is an SQL or Access type database with some scripts sitting between the data and the client (and between the data and the KML files) handling all the functionality?

I think perhaps that use of the mod function might come in handy here. It would solve the problem of how experience works.

I'm just going to toss out a rough idea from my own brain and you can shoot it down as you please.

If the troops start with an experience value of one, experience can be a numerical value with a minimum of 1 and a max of 999,

make ten experience 'ranks', which each rank featuring a different attack and defense modifier, the ranks being listed as 0 to 9.

The xp brackets would be 1-99, 100-199, . . . 900-999.

then to determine which rank an army will receive in combat just divide their XP value by 100 (making sure to drop off the last two digits beforehand).

That way the ranking and how the XP changes battle stats is mathematically simple (you can also vary it, 2 ranks, 5 ranks, whatever, without changing the basic architecture).

And then you merely add however many XP you want for each combat engagement. For example, if you want roughly four engagements per rank, you make the XP increase for each battle 25 points. That way at four engagements an army will have an XP rating of 101 and a battle ranking of level 1 (level 0 being inexperienced).

Of course you can build a ton more complexity into such a system: increased XP for wins and decreased XP for losses, or an increased rank value for being "dug in" in a city as opposed to exposed in an attack.

But the basic architecture remains fairly simple, numerically.

In addition, the system for adding troops is also simple. The base cost has an additional rank modifier, so that adding experienced troops is:

experienced troop cost = base_troop_cost + current_army_rank*rank_modifier_cost.

where rank modifier cost might be .01 or 0.005 geos.

Personally rather than installing the new men at the exact current experience (an army of 578 gets added troops at XP of 578) I would cause the process of adding troops to remove the remainder from their XP value, so that an army at xp 578 adds troops at when it is done the entire army stands at xp 500.

The reason is that this keeps players from waiting until just before a rank shift to add troops (because they get free XP) and instead encourages them to plan ahead and add troops as soon as they break a rank barrier.

It also serves a side benefit in authenticity without any effort on the programmer's part: it will better simulate mixing 'green" troops of that rank in with "seasoned" troops, showing how the whole army takes a minor hit while the new troops are assimilated into the unit.

sorry if that was incredibly longwinded. feel free to ignore it all. :)