Ce document contient des simulations pour le jeu Locksgate conçu par l’équipe Perséphone lors de la Game Jam des Rendez-vous de l’Histoire 2023. Dans notre jeu, chaque tombe a une capacité définie par son type (caveau, tombe familiale ou tombe commune). On cherche à savoir en combien de tours cette capacité est atteinte, et combien elle rapporte en cumulé, en fonction :
Note : On veut calculer l’income jusqu’à ce que la tombe soit pleine
titre <- "Caveau"
prixConstruction <- 300
maxCapacity <- 50
nTours = 20
prixMin = 12
prixMax = 20
repMin = 1
repMax = 30
myData <- data.frame(Tour = rep(c(1:nTours), times = (prixMax - prixMin + 1) * (repMax - repMin + 1)),
Prix = rep(c(prixMin:prixMax), each = nTours),
Reputation = rep(c(repMin:repMax), each = nTours * (prixMax - prixMin + 1)),
NbreMorts = rep(NA, nTours * (prixMax - prixMin + 1) * (repMax - repMin + 1)),
Income = rep(NA, nTours * (prixMax - prixMin + 1) * (repMax - repMin + 1)))
myData$ReputationAsFactor <- factor(ceiling(myData$Reputation / 5), labels = c("0-5", "5-10", "10-15", "15-20", "20-25", "25-30"))
# Formule :
myData$NbreMorts <- myData$Tour * ceiling(1 + myData$Reputation / 8 - myData$Prix / 20)
# Calculs :
myData$Income <- computeIncome(myData$NbreMorts, myData$Prix, maxCapacity)
myData$nTomb <- myData$Tour
myData$nTomb[myData$nTomb > 15] = 15
# Moyennes :
NbreMortsMoyCaveau <- mean(myData$NbreMorts / myData$Tour)
semMoyCaveau <- 1.96 * sd(myData$NbreMorts / myData$Tour)/sqrt(length(myData$NbreMorts))
print(paste0("Nombre de morts / tour = ", round(NbreMortsMoyCaveau, 2), "\U00B1", round(semMoyCaveau, 2)))
## [1] "Nombre de morts / tour = 2.61±0.03"
NbreMortsMoyCaveauTot <- mean(myData$NbreMorts / myData$Tour * myData$nTomb)
semMoyCaveauTot <- 1.96 * sd(myData$NbreMorts / myData$Tour * myData$nTomb)/sqrt(length(myData$NbreMorts))
print(paste0("TOTAL = ", round(NbreMortsMoyCaveauTot, 2), "\U00B1", round(semMoyCaveauTot, 2)))
## [1] "TOTAL = 25.49±0.47"
Analyse - Gagner avec les caveaux demande une réputation élevée. L’income est alors exponentiel à mesure que l’on ajoute des tombes, et à réputation max 12 tours suffisent à rembourser la dette + les coûts de construction et de maintien de la réputation. En contrepartie, il est difficile d’atteindre une réputation élevée en 8 tours tout en construisant des caveaux : le joueur devra utiliser d’autres types de tombes en début de partie pour pouvoir investir dans la loge et les fleurs.
A noter également : pour une faible réputation, le caveau se remplit plus vite à bas prix (et rapporte plus à prix intermédiaire = vert et bleu), tandis qu’à réputation élevée, le joueur a intérêt à maxer le prix. Il faut donc bien ajuster le prix pour une utilisation optimale des caveaux !
## [1] "Nombre de morts / tour = 3.19±0.05"
## [1] "TOTAL = 50.97±0.82"
Analyse - Les tombes familiales permettent de gagner en 14 tours à réputation maximale. C’est plus que les caveaux, mais elles coûtent moins cher et constituent une bonne alternative en début/milieu de partie. Contrairement aux autres types de tombes, on peut gagner uniquement avec des tombes familiales, mais il faut optimiser sa réputation et le prix des tombes familiales
## [1] "Nombre de morts / tour = 7.5±0.07"
## [1] "TOTAL = 75±1.73"
Note: normalement l’income continue d’augmenter car la tombe commune se vide progressivement (pour mieux se remplir !). Ce comportement est représenté par une income illimitée.
Analyse : Une parcelle de tombe commune se remplit en 10 tours à prix min, et en 20 tours à prix max. Sachant qu’on ne peut pas construire toutes les tombes au début, il est impossible de gagner la partie en ne jouant que des tombes communes.