Also wenn ich das Problem recht verstehe, du hast einen Input von einer bestimmten Menge verschiedener Einheitentypen, sprich dein Input ist der Form:
SoldatenvonA
SchützenvonA
MagiervonA
SoldatenvonB
SchützenvonB
MagiervonB
und du willst jetzt eine Formel, die anhand dessen und in Einbeziehung des Zufalls errechnet, wer gewinnt und wieviel seiner Truppen übrig bleiben?
Erstmal solltest du dir ein paar Fragen stellen:
-soll der Kampf in Runden ablaufen (was den Vorteil hat, dass man Belagerungen simulieren kann) oder soll das Ergebnis direkt statistisch ermittelt werden?
-welche Werte sollen die Einheiten haben? Nur Angriff und Verteidigung? Sind Bogenschützen nur "bessere Soldaten" oder haben sie z.B. einfach einen höheren Angriff und eine schlechtere Verteidigung, sind dafür aber in der hinteren Reihe? Wenn du das machst, brauchst du ein Rundensystem denn das einmauern der fragileren Einheiten kommt nur zum Tragen wenn in mehreren Runden eine "Soldatenmauer" überwunden werden muss
Eine andere Art ist ein Schere-Stein-Papier-System, beispielsweise kann man sagen: Schützen sind gut gegen Axtkämpfer, die gut gegen Schwertmänner und die gut gegen Schützen, ein System wäre dann:
Für jeden Einheitentypen nimm seine Anzahl
Teile zufallsmäßig diese Anzahl auf die Einheiten des Gegners auf wobei die Einheiten des Gegners von einem Typen, die gegen den aktuellen gewählten Typen eigener Einheiten schwach sind, bevorzugt werden
Lass die aufgeteilten Einheiten bei dem Gegner Schaden machen wobei die Schwächen zum Tragen kommen (entweder du machst, dass sie mehr "Einheiten" töten können oder eine hohe Wahrscheinlichkeit die Einheit zu töten)
Das System wäre nicht wirklich realistisch aber gut spielbar
Ansonsten, überleg dir, ob du mehr Werte machst und was diese Werte im Spiel anrichten sollen.
Was ich in einem statistischen System gerne mache, ist ein Übermachtsbonus, der äußert sich darin, dass die Einheitenzahlen potenziert werden, nur ich nehm dafür gerne Werte wie 1,2 und das geht im Maker einfach nur sehr schwer (es ist jedoch möglich - a^1,2 = a*(a^0,2) = a* fünfteWurzelvon(a) und die fünfte Wurzel lässt sich ermitteln, indem man schaut, welche Zahl hoch 5 am nächsten dran ist), so ein Übermachtsbonus simuliert, dass große Einheitenzahlen weniger Verluste hinnehmen müssen. Hat der Kampf mehrere Kampfrunden, ist das aber sowieso der Fall.
In Zwielicht gibt es auch ein schönes wenn auch nicht ganz zur Blüte gebrachtes System (ist nur ein einziger Kampf damit, von daher), im Wesentlichen hat der Kampf mehrere Phasen, die Truppen des Angreifers müssen erst anrücken und können von Schützen und Katapulten attackiert werden sowie mit Öl überschüttet werden bevor der eigentliche Kampf beginnt - wenn man das in ein echtes Strategiespiel integriert, ist das sowohl realistisch wie auch interresant, die Befestigungen der Stadt könnten direkt Einfluss zeigen, mit Wassergräben, Palisaden, Stacheln im Boden gegen Kavalerie...
Auch gut denkbar wären Häuserkämpfe im Guerilla-Stil um übermächtigen Gegnern möglichst hohe Verluste zu bescheren (denk dran, in einer realen Schlacht muss keinesfalls der Feind vollkommen ausgelöscht werden, Kapitulation ist durchaus Element der Kriegsführung) oder unerwartet auftretende Milizen und Partisanen
Äh das Fazit: Überlege dir, was findest du am Schönsten. Willst du den Spieler mit den Kämpfen nicht zu sehr aufhalten? Oder willst du die Schlachten als Spektakel rüberbringen, eventuell sogar interaktiv, sprich dass der Spieler in einem gewissen Rahmen während der Schlacht Kommandos geben kann?