Les résultats finaux sont arrivés!
introduction
Le jeu prend est fortement inspiré par Game of Town de Manu . Il se déroule dans un monde d'épées et de magie. Le roi qui régnait sur tout le continent vient de mourir, et les seigneurs des nombreuses cités-États se disputent désormais le territoire. Vous êtes l'un de ces seigneurs et votre objectif est de conquérir et de gouverner chaque ville.
Principe
Les gens sont divisés en 8 classes :
Warlocks : Fighter (magic)
Crusaders : Fighter (melee)
Amazons : Fighter (range)
Corsairs : Utility (steal, guard, transport)
Bishops : Utility (convert, exorcize)
Necromancers : Utility (resurrect)
Architects : Utility (build)
Peons : Resource (income, recruits)
Lorsque le jeu commence, vous réglez sur une ville. Dans chaque ville, il y a 100 personnes . Vous devez les répartir entre ces 8 catégories.
Ensuite, le jeu réel commence, au tour par tour. Un tour se compose de 12 phases , dont 7 sont interactives (demander aux bots une commande). La phase suivante commence lorsque la phase précédente a été exécutée par chaque ville (Phase 1: Ville 1, Ville 2, Ville 3 ...; Phase 2: Ville 1, Ville 2, Ville 3 ...):
1. Raise Taxes - AUTOMATED
2. Steal Money - INTERACTIVE
3. Recruit Troops - INTERACTIVE
4. Pay Wages - AUTOMATED
5. Try Revolt - AUTOMATED
6. Convert Soldiers - INTERACTIVE
7. Attack Town - INTERACTIVE
8. Raise Corpses - INTERACTIVE
9. Move Army or Tribute - INTERACTIVE
10. Defend against Threats - AUTOMATED
11. Construct Buildings - INTERACTIVE
12. Make Children - AUTOMATED
Le contrôleur vous fournit une entrée via des arguments de commande, votre programme doit sortir via stdout.
Syntaxe
Sortie (préparation)
Avant le début du jeu, le contrôleur vous invoque la soumission sans arguments. Cela signifie que vous devez répartir vos 100 personnes dans les 8 catégories.
Vous devez générer:
Warlocks Crusaders Amazons Corsairs Bishops Necromancers Architects Peons
Par exemple: 15 10 12 10 7 5 1 40
.
Chaque ville commence également avec 500 pièces d'or et 5 cadavres.
Entrée
Chaque fois que votre programme est appelé, il recevra des arguments dans ce format:Round;Phase;YourPlayerId;YourTownId;PlayerId_TownId_Gold_Corpses_Warlocks_Crusaders_Amazons_Corsairs_Bishops_Necromances_Architects_Peons_Temples_Barracks_Estates_Palaces;PlayerId_TownId_Gold_Corpses_Warlocks_Crusaders_Amazons_Corsairs_Bishops_Necromances_Architects_Peons_Temples_Barracks_Estates_Palaces;...
Exemple d'entrée
1;2;1;1;0_0_600_5_15_10_12_10_7_5_1_40_0_0_0_0;1_1_700_5_15_10_12_10_7_5_1_40_0_1_0_2;...
Ici, vous voyez que c'est le 1er tour, la 2ème phase, vous êtes le joueur 1 dans la ville 1. Vous avez 700 pièces d'or, 5 cadavres, 15 sorciers, 10 croisés, 12 amazones, 10 corsaires, 7 évêques, 5 nécromanciens, 1 architecte, 40 péons, 0 temples, 1 caserne, 0 domaines et 2 palais.
Sortie
Voir le gameplay.
Gameplay
Toutes les phases
Commande W
= ATTENDRE
Commande non valide = WAIT
Phase 1: augmenter les taxes
Les revenus sont générés en fonction de votre population et de vos immeubles achevés:
+5 gold * Peons
+2 gold * (Warlocks + Bishops + Necromancers) * TEMPLES
+2 gold * (Crusaders + Amazons) * BARRACKS
+2 gold * (Corsairs + Peons) * ESTATES
+10 gold * PALACES
Phase 2: voler de l'argent
Pendant cette phase, vous pouvez voler de l'argent dans une ville en envoyant des Corsaires. Chaque Corsaire peut voler jusqu'à 10 pièces d'or (c'est-à-dire que 12 Corsaires peuvent voler jusqu'à 120 pièces d'or). Si la ville cible n'a pas assez d'or, vos corsaires voleront tout, jusqu'à concurrence du montant maximum de la dette: 200 pièces d'or . Si vous essayez d'envoyer plus de Corsaires que vous n'en possédez, le programme utilisera tous vos Corsaires disponibles.
Syntaxe de commande :S DestinationId Corsairs
Phase 3: recruter des troupes
Ici, vous pouvez former vos péons en dépensant de l'or. Vous pouvez recruter autant d'unités que vous le souhaitez, tant que vous avez suffisamment de péons et d'or disponibles. Si vous essayez de recruter plus que vous ne le pouvez, le jeu sera recruté au hasard jusqu'à ce que tout soit dépensé. Le programme respecte vos quotas maximum (si vous essayez de recruter 10 croisés et 5 amazones avec seulement 8 péons, il recrutera par exemple 6 croisés et 2 amazones, et non 8 amazones ou 8 warlocks).
Warlock : 10 gold
Crusader : 10 gold
Amazon : 10 gold
Corsair : 12 gold
Bishop : 20 gold
Necromancer : 20 gold
Architect : 15 gold
Syntaxe de commande :R Warlocks Crusaders Amazons Corsairs Bishops Necromancers Architects
Phase 4: payer les salaires
Les salaires sont débités en fonction de votre population:
-1 gold * (Warlock + Crusaders + Amazons)
-2 gold * (Corsairs + Bishops + Necromancers + Architects)
Phase 5: Essayez la révolte
Si votre solde est négatif, vous perdez le contrôle de votre ville aux Outlaws . Après une révolte, l'or de la ville est remis à zéro pour reprendre sa valeur initiale: 500 pièces d' or . La population est maintenue à ses niveaux actuels.
Phase 6: convertir des soldats
Chacun de vos évêques peut convertir 1 soldat ennemi (démoniste, croisé ou amazone) d'une ville choisie pour un montant de 50 pièces d'or par unité. Les unités converties rejoignent les forces stationnées dans votre ville. Comme pour le recrutement, si vous n'avez pas assez d'or ou d'évêques disponibles, le programme se convertira au hasard tout en respectant les quotas.
Syntaxe de commande :C DestinationId Warlocks Crusaders Amazons
Phase 7: Attack Town
Vous pouvez envoyer une armée de démonistes, croisés et amazones pour conquérir une ville. Si vous essayez d'envoyer plus que vous n'en avez, le programme enverra tout le monde.
Les soldats ont un bonus de combat de 1,5 suivant ce schéma: Mage > Range > Melee > Mage
(c.-à-d. Un démoniste combattant une Amazone gagne 1,5 puissance). Seules les unités en excès obtiennent ce bonus (c'est-à-dire qu'un démoniste combattant un démoniste et une Amazonie ne reçoivent pas ce bonus). Le bonus est attribué à la fois à l'offensive et à la défense.
Les pertes sont réparties de façon aléatoire entre les unités du vainqueur en fonction de la puissance totale plus lâche (c.-à-d. Puissance offensive: 12 contre puissance de défense: 14, la défense gagne et perd 12 unités). Le perdant perd toutes ses unités. Chaque unité morte est ajoutée au décompte des cadavres de la ville attaquée. Si l'infraction l'emporte, la ville est capturée et appartient désormais à l'attaquant. Il conserve également l'or, les cadavres et les péons qui se trouvaient dans cette ville. Corsaires, évêques, nécromanciens et architectes fuient devant une éventuelle oppression.
La défense n'obtient rien.
Syntaxe de commande :A DestinationId Warlocks Crusaders Amazons
Phase 8: Lever des cadavres
Chacun de vos nécromanciens peut ressusciter jusqu'à 5 péons en consommant des cadavres et en dépensant de l'or. Chaque Péon ressuscité coûte 1 cadavre et 20 pièces d'or. Si vous essayez de ressusciter plus que vous ne le pouvez, le programme dépensera tout ce que vous avez.
Syntaxe de commande :R Corpses
Phase 9: Déplacer l'armée ou l'hommage
Vous pouvez envoyer des unités dans une autre ville. Si vous essayez d'envoyer plus que vous n'en avez, le programme enverra tout le monde.
Syntaxe de commande :M DestinationId Warlocks Crusaders Amazons Corsairs Bishops Necromancers Architects
Ou, vous pouvez envoyer de l'or en affrétant les navires de Corsairs. Chaque corsaire peut transporter jusqu'à 200 pièces d'or . Si vous essayez d'envoyer plus que vous n'en avez, le programme enverra ce que vous avez.
Syntaxe de commande :T DestinationId Gold
Phase 10: se défendre contre les menaces
Plusieurs menaces menacent de nuire à votre ville:
- Zombies: Les morts ne sont pas toujours aussi morts qu'ils le paraissent. 10% (terrassés) des cadavres de votre ville se réveilleront et mangeront des cerveaux. Chaque zombie mange 1 péon puis se promène dans le néant (les cadavres des deux zombies et des péons mangés sont consommés).
- Démons: Vos péons ont besoin d'entendre des sermons ou ils commenceront à invoquer des Esprits Noirs. Chacun de vos évêques couvre les besoins de 50 personnes maximum. 10% (au sol) de vos hérétiques (Péons en excès) engendreront des démons. Les démons tuent 1 péon chacun et retournent en enfer (les cadavres de péons sont ajoutés au nombre de villes).
- Bandits: les hors-la-loi habitent le quartier. La population totale des hors-la-loi est divisée équitablement entre les villes et envoyée pour voler la richesse. Votre seule défense est vos patrouilles corsaires. Chaque corsaire peut arrêter jusqu'à 5 hors-la-loi. Chaque hors-la-loi non arrêté vole 10 pièces d'or à votre ville (la dette maximale de la ville est de 200 pièces d'or)
Au moins 1 ville de hors-la-loi (100 habitants) est générée au début de la partie, puis 1 de plus pour 5 joueurs (soit 1 à 4 joueurs: 1 hors-la-loi, 5-9 joueurs: 2 hors-la-loi ...). Les hors-la-loi peuvent être reconnus avecid = -1
Phase 11: Construire un bâtiment
Lorsque vous atteignez cette phase, la construction des bâtiments de votre ville progresse en fonction du nombre d'architectes. Chaque architecte augmente l'achèvement d'un seul bâtiment de 8%. Lorsqu'un immeuble atteint 100%, il est terminé et commence à générer des revenus lors de la prochaine phase «Taxes». La file d'attente de construction est gérée automatiquement (premier arrivé, premier servi).
Vous pouvez ensuite également démarrer la construction d'autres bâtiments (BuildingId = lettre entre parenthèses):
TEMPLE (T) : 200 Gold
BARRACKS (B) : 200 Gold
ESTATE (E) : 200 Gold
PALACE (P) : 500 Gold
Vous pouvez commencer la construction d'autant de bâtiments que vous le souhaitez, et si vous n'avez pas assez d'or, le bâtiment sera ignoré. La construction de vos nouveaux bâtiments ne commencera qu'au prochain tour.
Syntaxe de commande :B BuildingId BuildingId BuildingId ...
Phase 12: Faire des enfants
Tous les cinq rounds (rounds 5, 10, 15 ...), de nouveaux Péons naissent et sont prêts à se battre. Chaque paire de Péons fera 1 Péon (c'est-à-dire que 23 Péons génèrent 11 nouveaux Péons).
Règles
- Les bots ne doivent pas être écrits pour battre ou soutenir d'autres bots spécifiques.
- L'écriture dans des fichiers est autorisée. Veuillez écrire à "votrenomdemission.txt", le dossier sera vidé avant le début du jeu. D'autres ressources externes sont interdites.
- Votre soumission a 1 seconde pour répondre (par ville).
- Fournissez des commandes pour compiler et exécuter vos soumissions.
Gagnant
Le vainqueur est celui qui compte le plus de villes après 100 tours. Si un joueur capture toutes les villes, le jeu s'arrête et il gagne. Si plusieurs joueurs ont le même nombre de villes, la population totale comptera, puis la quantité d'or.
Manette
Vous pouvez trouver le contrôleur sur github. Il contient également 2 exemples de robots, écrits en Java. Ouvrez-le dans Eclipse, placez les bots compilés dans le dossier racine et ajoutez une classe au programme de contrôle (tout comme les samplebots).
Combats
La formule de combat est quelque chose comme ceci:
Pour chaque classe de soldat (Warlock, Crusader, Amazon):
- Calculez l'équilibre entre l'attaque et la défense (c.-à-d. Qui a le plus de chaque classe et combien de plus?)
- Pour les soldats en excès (c.-à-d. La valeur de l'équilibre positif), voyez combien il y a de «cibles faibles» (voir le diagramme de la phase 7).
- Multipliez la force de combat des soldats éligibles (c.-à-d. «Cibles faibles» par rapport aux «soldats en excès») par le bonus et ajoutez le reste avec une force de combat de 1.
Vous pouvez essayer un simulateur ici: http://ideone.com/ArJosE (changez simplement les valeurs des soldats, vous obtiendrez des bonus et des forces totales)
Voici quelques cas de test:
Attack Defense A. Bonus D. Bonus A. Str D. Str Winner
20/10/0 12/12/12 8/0/0 0/2/10 34.0 42.0 Defense
40/0/5 12/12/12 12/0/0 0/12/0 51.0 42.0 Attack
0/60/8 10/30/2 0/10/6 8/0/0 76.0 46.0 Attack
20/20/40 90/5/5 0/15/5 40/0/0 90.0 120.0 Defense
Résultats finaux
Moyenne de 10 matchs. Syntaxe:Player(Towns, Population, Gold)
1. Opportunist(6.4, 4165, 2895626)
2. Politician(6.4, 1048, 42542)
3. Outlaw(2.8, 1575, 349073)
4. YoungEarl(0.4, 3424, 941624)
5. Aegis(0, 0, 0)
. Butter(0, 0, 0)
. Commander(0, 0, 0)
. Lannister(0, 0, 0)
. Machiaveli(0, 0, 0)
. Monarch(0, 0, 0)
. Serenity(0, 0, 0)
. Sehtimianer(0, 0, 0)
. Sleeper(0, 0, 0)
. Zealots(0, 0, 0)
Résultats de 10 jeux: http://pastebin.com/GdufEYjm
Journaux complets de 2 jeux: http://pastebin.com/GQDZ0JdY & http://pastebin.com/m3UBTDuC
Bien joué tout le monde, le combat a été très serré entre Politicien et Oppotuniste.
The total Outlaws population is divided equitably between towns and sent to steal wealth.
Combien de bandits y a-t-il au total?