Smart Calculators

Smart

Calculators

Calculateur de revenu de cargaison OpenTTD

Voyez exactement ce que rapporte chaque livraison dans OpenTTD. Choisissez une cargaison, indiquez la distance et les jours en transit : le calculateur renvoie £ par trajet, £ par tuile, £ par jour et la cargaison la plus rentable pour cet itinéraire.

Calculez le revenu d'une seule livraison.

Détermine quelles cargaisons apparaissent dans la liste. Sélectionnez le même climat que dans votre sauvegarde OpenTTD.

La cargaison transportée par votre train, navire, avion ou camion. Chaque cargaison a son propre taux de paiement et sa propre courbe de fraîcheur.

passagers

tuiles

jours

Bordereau de cargaison №1
Revenu · par livraison
£3,508
100 tuiles · 100 passagers · 60 jours · Passagers
£ par tuile
£35.08
revenu ÷ distance
£ par jour
£58.47
revenu ÷ jours en transit
Facteur temps
231 / 255
Cargaison fraîche à 90,6%

Comment ce résultat est calculé

Facteur temps
255 − 24 − 2·0 → 231
Demi-distance
100 ÷ 2 → 50
Étape 1 (>> 7)
50 × 231 × 100 ÷ 128 → 9 023
Fois le taux de paiement
× 3 185
Diviser par 8192 (>> 13)
÷ 8192
Revenu
£3,508
Aide-mémoire des cargaisons · Tempéré
CargaisonTaux de paiementMeilleure à une distancePérime à
Objets de valeur7 509≤ 75 tuiles33 périodes
Biens6 144≤ 375 tuiles33 périodes
Charbon5 916≤ 525 tuiles
Acier5 688≤ 525 tuiles
Minerai de fer5 120≤ 675 tuiles
Bois5 005≤ 1 125 tuiles
Céréales4 778≤ 300 tuiles44 périodes
Courrier4 550≤ 1 500 tuiles110 périodes
Pétrole4 437≤ 1 875 tuiles
Bétail4 322≤ 300 tuiles22 périodes
Passagers3 185n'importe quelle distance24 périodes
Formule vérifiée · code source OpenTTD

OpenTTD 14.x vanilla et JGRPP. Les jeux NewGRF de cargaison remplacent les taux par défaut et ne sont pas encore pris en charge. Les revenus sont affichés en valeurs de l'année de base (1950) ; l'inflation de votre partie les met à l'échelle proportionnellement.

09·MAI·2026

Calculateur de revenu de cargaison OpenTTD. £ par trajet à partir de la cargaison, de la distance et des jours en transit.

Un calculateur de revenu de cargaison OpenTTD renvoie le £ exact rapporté par une livraison en version 14.x vanilla ou JGRPP. Saisissez le type de cargaison, la quantité, la distance de Manhattan en tuiles et les jours calendaires en transit : l'outil exécute la formule entière issue de economy.cpp et affiche le £ par trajet, le £ par tuile, le £ par jour et le facteur temps (0–255).

Qu'est-ce que le calculateur de revenu de cargaison OpenTTD ?

Le calculateur de revenu de cargaison OpenTTD est un outil web qui, pour un type de cargaison, une quantité, une distance de Manhattan en tuiles et le nombre de jours calendaires passés dans un véhicule, renvoie le revenu en livres sterling (£) du jeu pour ce seul trajet. Il reproduit la fonction GetTransportedGoodsIncome() de src/economy.cpp bit par bit : le même décalage à droite de 21 positions, la même borne inférieure du facteur temps à 31, et les mêmes seuils days1 et days2 pour chacun des 31 noms de cargaisons vanilla (33 lignes au total — le Bois et le Pétrole disposent chacun d'une ligne séparée pour le climat subtropical). Le symbole £ est simplement l'étiquette de la monnaie interne du jeu, et non la livre sterling réelle — OpenTTD permet de basculer l'interface en $ ou en €, mais la formule calcule toujours dans l'unité interne £ avant de reformater le résultat à l'écran.
Le calculateur couvre les quatre climats (tempéré, subarctique, subtropical, pays des jouets) et filtre automatiquement la liste déroulante des cargaisons lors d'un changement de climat. La cible par défaut est OpenTTD 14.x vanilla, mais la formule et la table des taux sont octet pour octet identiques à JGR's Patch Pack et au Transport Tycoon Deluxe classique — le code du revenu de cargaison n'a pas bougé depuis la sortie de 1995. Les joueurs sur Steam, GOG, le téléchargement direct depuis openttd.org et JGRPP voient exactement les mêmes chiffres.
La page "Revenu de cargaison" du wiki français wiki.openttd.org/fr décrit la formule en mots et énumère les quatre facteurs (cargaison, quantité, distance, jours de transit), mais ne propose ni un seul calcul complet ni un chiffre concret en £. L'outil tiers le plus cité, citymania.org/tools/profit, indique sur sa propre page que "numbers may not be exactly accurate (they should be pretty close though)" et ne gère pas l'interface en français. Ce calculateur comble trois lacunes que ni le wiki français ni CityMania ne couvrent : un £ par trajet précis, vérifiable par rapport au code source ; un panneau de détail qui affiche toutes les valeurs intermédiaires (périodes de transit, periodsOverDays1, periodsOverDays2, facteur temps, numérateur, décalage) ; et un aide-mémoire de 33 lignes trié par taux de paiement, qui montre d'un coup d'œil quelle cargaison gagne sur quelle longueur d'itinéraire.

Comment calculer le revenu de cargaison OpenTTD (et comment le calculateur procède)

Le revenu de cargaison dans OpenTTD se résume à quatre entrées et une formule entière. Le calculateur ci-dessus l'exécute pour vous ; la version manuelle ci-dessous est celle que les habitués du forum openttd.fr et les vidéastes francophones comme LecygneNoir utilisent pour estimer un itinéraire avant de poser 200 tuiles de voie principale.
En passant par l'outil
1. Sélectionnez le climat de votre sauvegarde (Tempéré par défaut — environ 60 % des parties vanilla).
2. Sélectionnez la cargaison. La liste déroulante est filtrée selon les cargaisons légales dans ce climat (Charbon uniquement en Tempéré ou Subarctique, Diamants uniquement en Subtropical, Jouets uniquement au Pays des jouets, et ainsi de suite).
3. Saisissez la quantité livrée (100 par défaut — passagers, tonnes, sacs, litres ou unités selon la cargaison).
4. Saisissez la distance de Manhattan en tuiles entre la gare de chargement et celle de livraison. Ce n'est PAS la longueur réelle des voies — c'est la distance diagonale sur la grille des tuiles, soit $|xsrc - xdst| + |ysrc - ydst|$. Une voie qui serpente autour des montagnes peut être 30 % plus longue que sa distance de Manhattan.
5. Saisissez les jours calendaires que la cargaison a passés dans le véhicule (60 par défaut). Les trains longue distance affichent couramment 80 à 200 jours en transit ; les navires souvent plus de 300.
Le résultat principal est le £ pour cette livraison. En dessous, le calculateur imprime le £ par tuile, le £ par jour, le facteur temps (sur 255) et un pourcentage de fraîcheur. Le panneau de détail montre la conversion jours calendaires → périodes de transit, les deux valeurs periodsOverDays, le facteur temps après application de la borne inférieure et la division entière finale — les six mêmes lignes que vous écririez sur papier.
À la main
1. Convertissez les jours calendaires en périodes de transit : $tp = \lfloor jourstransit / 2{,}5 \rfloor$. Le wiki français rappelle qu'un "jour" sur la page de la formule correspond en réalité à 2,5 jours dans le jeu ; OpenTTD stocke le temps en transit dans des unités de 2,5 jours pour qu'un compteur d'un octet (255 max) couvre la portée des longues routes maritimes.
2. Repérez les valeurs days1 et days2 de la cargaison dans la table : passagers (0, 24), charbon (7, 255), objets de valeur (1, 32), et ainsi de suite pour les 33 lignes vanilla (31 noms uniques — le Bois et le Pétrole ont chacun une ligne subtropicale séparée).
3. Calculez periodsOverDays1 : $\max(tp - days1, 0)$. C'est le nombre de périodes de transit passées au-delà du premier seuil de fraîcheur.
4. Calculez periodsOverDays2 : $\max(periodsOverDays1 - days2, 0)$. Périodes supplémentaires au-delà du second seuil.
5. Calculez le facteur temps : $\max(255 - periodsOverDays1 - periodsOverDays2, 31)$. La borne 31 correspond à la constante MIN_TIME_FACTOR d'economy.cpp — elle empêche une cargaison oubliée de ne rien rapporter littéralement.
6. Appliquez la formule du revenu : $revenu = \lfloor (distance \cdot facteurTemps \cdot quantite \cdot tauxPaiement) / 2\,097\,152 \rfloor$. Le dénominateur $2^{21}$ correspond au décalage `BigMulS(..., 21)` d'economy.cpp.
Reproduction de l'exemple de référence du wiki : 27 passagers, 100 tuiles, 60 jours calendaires, climat tempéré. tp = 24, periodsOverDays1 = 24 − 0 = 24, periodsOverDays2 = max(24 − 24, 0) = 0, facteur temps = 255 − 24 = 231, numérateur = 100 × 231 × 27 × 3185 = 1 986 484 500, revenu = floor(1 986 484 500 / 2 097 152) = £947 par trajet. Ce chiffre correspond au graphique des taux de paiement en jeu à 60 jours pour les passagers (à la quantification du graphique près) et sert de valeur de référence dans la suite de tests QA du calculateur.

Revenu de cargaison — la formule entière d'economy.cpp

I=DTAP221,T=max ⁣(255max(tpd1,0)max(max(tpd1,0)d2,0), 31),tp=jourstransit2,5I = \left\lfloor \dfrac{D \cdot T \cdot A \cdot P}{2^{21}} \right\rfloor, \quad T = \max\!\left(255 - \max(tp - d_1, 0) - \max(\max(tp - d_1, 0) - d_2, 0),\ 31\right), \quad tp = \left\lfloor \dfrac{jours_{transit}}{2{,}5} \right\rfloor
  • II = Revenu en £ du jeu pour une livraison (l'entier que renvoie le calculateur)
  • DD = Distance de Manhattan en tuiles entre la gare de départ et la gare d'arrivée — $|x_{src} - x_{dst}| + |y_{src} - y_{dst}|$
  • TT = Facteur temps (0–255), 255 = cargaison parfaitement fraîche, borne inférieure MIN_TIME_FACTOR = 31
  • AA = Quantité de cargaison livrée (passagers, tonnes, sacs, litres, unités)
  • PP = Taux de paiement de base de la cargaison, issu de la table _default_cargo dans economy.cpp — 3185 pour les passagers, 5916 pour le charbon, 7964 pour le bois subtropical (record), 7509 pour les objets de valeur (record hors bois)
  • tptp = Périodes de transit — jours calendaires divisés par 2,5 et arrondis vers le bas. Une période de transit = 2,5 jours en jeu
  • d1d_1 = Seuil days1 de la cargaison — frontière de décroissance précoce, en périodes de transit. 0 pour les passagers et la nourriture, 1 pour les objets de valeur, 7 pour le charbon, 25 pour le pétrole, 30 pour le plastique et les boissons gazeuses
  • d2d_2 = Seuil days2 de la cargaison — frontière de décroissance tardive. 24 pour les passagers, 32 pour les objets de valeur, 40 pour les céréales, 255 pour le charbon (effectivement illimité)
Le dénominateur $2^{21} = 2\,097\,152$ correspond au décalage `BigMulS(..., 21)` dans la fonction GetTransportedGoodsIncome() (src/economy.cpp). La formule en mots du wiki utilise deux décalages successifs (`>> 7` puis `>> 13`) ; ils sont algébriquement équivalents car $2^{7} \cdot 2^{13} \cdot 2 = 2^{21}$ — la division par 2 initiale de la forme du wiki se replie dans le dénominateur commun. Nous reproduisons le décalage C++ en JavaScript par un seul `Math.floor(numerator / 2_097_152)`, parce que tous les produits intermédiaires tiennent dans Number.MAX_SAFE_INTEGER aux bornes d'entrée du calculateur (distance ≤ 2048, quantité ≤ 9999, taux de paiement ≤ 7964). Pas besoin de BigInt ; aucune dérive d'une unité par rapport au moteur.

Exemples avec le détail complet du calcul

Référence du wiki — 27 passagers, 100 tuiles, 60 jours, tempéré

tp = floor(60 / 2,5) = 24. Pour les passagers, days1 = 0, days2 = 24, taux de paiement = 3185. periodsOverDays1 = max(24 − 0, 0) = 24. periodsOverDays2 = max(24 − 24, 0) = 0. Facteur temps = max(255 − 24 − 0, 31) = 231. Numérateur = 100 × 231 × 27 × 3185 = 1 986 484 500. Revenu = floor(1 986 484 500 / 2 097 152) = £947 par trajet, facteur temps 231/255 (90,6 % de fraîcheur), £9,47 par tuile, £15,78 par jour. C'est la valeur de référence du §5.5 de la spécification du calculateur et le contrôle QA contre le graphique en jeu des taux de paiement.

Charbon longue distance — 200 tonnes, 300 tuiles, 200 jours, subarctique

Pour le charbon, days1 = 7 et days2 = 255 (durabilité effectivement illimitée). tp = floor(200 / 2,5) = 80. periodsOverDays1 = 80 − 7 = 73. periodsOverDays2 = max(73 − 255, 0) = 0. Facteur temps = max(255 − 73 − 0, 31) = 182. Numérateur = 300 × 182 × 200 × 5916 = 64 602 720 000. Revenu = floor(64 602 720 000 / 2 097 152) = £30 804 par trajet, £102,68 par tuile, £154,02 par jour. Le charbon paie 5916 de base — pas le taux le plus élevé de la table — mais sa paire 7/255 fait qu'un train qui roule 200 jours gagne encore à 71 % de la vitesse d'une cargaison fraîche. C'est précisément pour cette raison que le wiki français et les guides du forum openttd.fr présentent le charbon comme la cargaison canonique "je pose une ligne principale en 1949 et j'oublie".

Objets de valeur sur courte distance — 50 unités, 50 tuiles, 5 jours, tempéré

Les objets de valeur ont le taux de paiement le plus élevé hors bois (£7 509) et la fenêtre de fraîcheur la plus étroite (days1 = 1, days2 = 32). tp = floor(5 / 2,5) = 2. periodsOverDays1 = max(2 − 1, 0) = 1. periodsOverDays2 = max(1 − 32, 0) = 0. Facteur temps = max(255 − 1 − 0, 31) = 254 (99,6 % de fraîcheur). Numérateur = 50 × 254 × 50 × 7509 = 4 768 215 000. Revenu = floor(4 768 215 000 / 2 097 152) = £2 273 par trajet, £45,46 par tuile, £454,60 par jour. C'est le rendement "£ par jour" le plus élevé de tout le jeu — mais uniquement sur des trajets courts. Étirez la même livraison à 50 jours : le facteur temps tombe à 236 et le revenu baisse d'environ 7 %. Poussez-la à 200 jours : le facteur temps chute à 129 (revenu quasi divisé par deux, à £1 154). Ce n'est qu'au-delà d'environ 325 jours que le facteur temps atteint la borne 31 — et le même trajet ne paie plus que £277.

Bois subtropical — 100 tonnes, 200 tuiles, 80 jours

Le bois en climat subtropical est discrètement la cargaison vanilla au taux de paiement de base le plus élevé : £7 964 (contre £5 005 pour le bois tempéré ou subarctique — soit 59 % de prime pour la même cargaison, juste parce que le climat change). days1 = 15, days2 = 255. tp = floor(80 / 2,5) = 32. periodsOverDays1 = 32 − 15 = 17. periodsOverDays2 = 0. Facteur temps = 255 − 17 = 238. Numérateur = 200 × 238 × 100 × 7964 = 37 908 640 000. Revenu = floor(37 908 640 000 / 2 097 152) = £18 076 par trajet, £90,38 par tuile. Sur une sauvegarde subtropicale, le bois rapporte 60 % de plus que des routes de bois tempéré pour le même itinéraire de scierie à scierie de construction. La plupart des guides pour débutants passent à côté parce que le nom de cargaison est identique "Bois" dans les deux climats. C'est pour cela que la table vanilla de 33 lignes contient le Bois deux fois (et le Pétrole deux fois) : les entrées tempéré/subarctique et subtropicale partagent le nom mais transportent des taux de paiement différents.

Comparer deux trajets — charbon contre objets de valeur sur la même route de 100 tuiles

Mêmes 100 tuiles, mêmes 60 jours, mêmes 100 unités. Trajet A : charbon, taux de paiement 5916, days1 = 7, days2 = 255. tp = 24, periodsOverDays1 = 17, periodsOverDays2 = 0, facteur temps = 238. Numérateur charbon = 100 × 238 × 100 × 5916 = 14 080 080 000. Revenu charbon = floor(14 080 080 000 / 2 097 152) = £6 713. Trajet B : objets de valeur, taux de paiement 7509, days1 = 1, days2 = 32. periodsOverDays1 = 23, periodsOverDays2 = 0, facteur temps = 232. Numérateur objets de valeur = 100 × 232 × 100 × 7509 = 17 420 880 000. Revenu objets de valeur = floor(17 420 880 000 / 2 097 152) = £8 306 (+£1 593 sur le charbon). Les objets de valeur gagnent au trajet — mais une banque expédie 1 à 8 objets de valeur par mois contre 100+ tonnes pour une mine de charbon. En revenu mensuel, le charbon dépasse les objets de valeur d'un ordre de grandeur, sauf si vous gérez un réseau de plusieurs lignes bancaires.

Conseils de planification pour vétérans d'openttd.fr et nouveaux venus sur Steam

  • Le charbon paie 5 916 de base — pas le record de la table — mais sa paire days1/days2 de 7/255 le maintient à un prix quasi plein même sur des réseaux de 2 000 tuiles d'un bout à l'autre de la carte. Le charbon est la cargaison qui vous laisse poser des voies brouillonnes en restant rentable. Les objets de valeur paient 7 509 de base, mais avec days1 = 1 et days2 = 32, tout itinéraire dépassant 85 jours calendaires (34 périodes de transit) fait basculer le facteur temps dans la zone de chute rapide vers la borne 31. Objets de valeur sur les trajets sous 50 tuiles, charbon sur tout le reste.
  • La distance est la distance de Manhattan en tuiles, et non la longueur des voies. La formule du revenu calcule $|xsrc - xdst| + |ysrc - ydst|$ entre les deux gares, quelle que soit la sinuosité du tracé. Un serpentin à travers la montagne rapporte autant qu'une ligne droite, dès lors que les coordonnées des gares sont identiques. C'est le malentendu n° 1 sur le forum openttd.fr : les joueurs pensent que 200 tuiles de voie sur un itinéraire de 100 tuiles en distance de Manhattan rapportent 200 tuiles de revenu. Ce n'est pas le cas. Placez les gares aux extrémités les plus éloignées des bâtiments industriels pour maximiser la distance de Manhattan.
  • Un "jour" sur la page wiki du revenu de cargaison correspond à 2,5 jours calendaires dans votre sauvegarde. OpenTTD stocke le temps en transit dans un compteur d'un octet (0–255), et l'unité de 2,5 jours est là pour que ce compteur couvre les longues routes maritimes. Le calculateur ci-dessus accepte les jours calendaires (l'unité qu'affiche la fenêtre du véhicule en jeu) et divise par 2,5 en interne — mais si vous reprenez des valeurs directement de la formule en mots du wiki, pensez à multiplier ou diviser par 2,5 vous-même.
  • Le facteur temps a pour plancher 31, pas zéro. MIN_TIME_FACTOR = 31 dans src/economy.cpp signifie que même une cargaison qui voyage depuis plusieurs années en jeu paie toujours environ 31/255 ≈ 12 % de sa valeur fraîche. Les joueurs se plaignent parfois "ma vieille cargaison n'a rien rapporté" — c'est en général juste que le chiffre en £ est faible (un passager sur un navire de 2 000 tuiles à 4 000 jours donne floor(2 000 × 31 × 1 × 3 185 / 2 097 152) = £94), mais ce n'est jamais £0 littéral, sauf si la distance ou la quantité est nulle.
  • Le bois subtropical paie £7 964 de base — le record absolu de toutes les cargaisons vanilla, devant les objets de valeur (£7 509) et égalé seulement par les boissons gazeuses (£6 250) sur le rendement par tuile à très courte distance. Même nom "Bois" que la version tempérée (£5 005), mais 59 % plus cher. Si votre sauvegarde est en climat subtropical, priorisez le bois sur les biens dans chaque route forêt → scierie de construction viable. Le wiki français présente d'ailleurs le bois comme l'une des cargaisons les plus rentables en subtropical.
  • JGR's Patch Pack utilise la même formule. Le code du revenu de cargaison dans JGRPP est octet pour octet identique à la version vanilla — la seule différence économique est le réglage de la vitesse de vieillissement des cargaisons (100 % par défaut dans les deux, configurable en pourcentage dans JGRPP). Les chiffres de ce calculateur se transposent un pour un sur une sauvegarde JGRPP tant que vous n'avez pas modifié economy.cargo_aging_rate. Les jeux NewGRF de cargaison (FIRS, ECS, YETI) écrasent la table des taux de paiement et ne sont pas pris en charge ; pour une sauvegarde NewGRF, traitez la sortie du calculateur comme la ligne de base vanilla et appliquez le ratio publié dans le README du jeu.
  • L'inflation met le résultat à l'échelle proportionnellement. Le chiffre en £ affiché est la valeur de l'année de base (1950), calibrée comme le graphique en jeu des taux de paiement. L'inflation par défaut d'OpenTTD d'environ 1,5 % par an met à l'échelle simultanément les coûts et les revenus, donc votre revenu relatif face aux frais d'exploitation est inchangé — le £ du calculateur n'est pas votre solde bancaire réel en 2050, mais le rapport entre deux trajets est exactement préservé.
  • Lisez l'aide-mémoire sous le calculateur avant de poser des voies. Il trie les 33 lignes vanilla (31 noms uniques plus les lignes séparées du Bois et du Pétrole subtropicaux) par taux de paiement et étiquette chacune avec "optimale à une distance ≤ N tuiles" selon l'heuristique days1 × 75 (30 km/h × 2,5 jours/période ≈ 75 tuiles par période aux vitesses typiques des trains des années 1950). Les cargaisons avec days2 = 255 reçoivent l'étiquette "effectivement illimitée" — elles n'entrent jamais en zone de péremption critique sur des itinéraires terrestres.

Calculateur de revenu de cargaison OpenTTD — questions fréquentes

Quelle est la formule du revenu de cargaison dans OpenTTD ?

Revenu = floor(distance × facteurTemps × quantité × tauxPaiement / 2 097 152), avec facteurTemps = max(255 − max(tp − days1, 0) − max(max(tp − days1, 0) − days2, 0), 31) et tp = floor(joursEnTransit / 2,5). Les constantes 2 097 152 = 2^21, 255 = MAX_TIME_FACTOR et 31 = MIN_TIME_FACTOR proviennent de la fonction GetTransportedGoodsIncome() dans src/economy.cpp. La formule s'applique à OpenTTD 14.x vanilla, à JGRPP et au Transport Tycoon Deluxe classique — elle n'a pas changé depuis 1995.

Comment la distance est-elle mesurée pour le revenu de cargaison ?

La distance est la distance de Manhattan en tuiles entre la gare de chargement et celle de livraison : $|xsrc - xdst| + |ysrc - ydst|$. Ce n'est PAS la longueur des voies. Un tracé droit de 200 tuiles et un tracé sinueux de 350 tuiles rapportent le même revenu si les deux gares restent sur les mêmes coordonnées. Placez les gares aux extrémités les plus éloignées des bâtiments industriels pour maximiser la distance de Manhattan — un truc connu de la communauté qui ne demande pas de voies plus longues.

Pourquoi un "jour" sur le wiki correspond-il à 2,5 jours dans le jeu ?

OpenTTD compte l'âge de la cargaison dans un compteur d'un octet (0–255) qui s'incrémente une fois toutes les 2,5 journées calendaires. La formule en mots du wiki utilise directement ces "périodes de transit" ; le calculateur accepte les jours calendaires affichés par la fenêtre du véhicule en jeu et divise par 2,5 à votre place.

Quelle est la cargaison la plus rentable dans OpenTTD ?

Par taux de paiement de base : bois subtropical (£7 964), puis objets de valeur (£7 509), boissons gazeuses (£6 250), biens et bonbons (£6 144), charbon (£5 916). Sur les longues distances, le meilleur reste le charbon — son days2 = 255 maintient le facteur temps proche du maximum même à 1 500 tuiles. En revenu mensuel (en tenant compte de la production des industries), le charbon gagne généralement, car une mine produit 100+ tonnes/mois contre 1 à 8 objets de valeur/mois pour une banque. Utilisez le mode "Comparer deux trajets" pour voir exactement à partir de quelle longueur les objets de valeur dépassent le charbon sur votre sauvegarde.

Ce calculateur fonctionne-t-il avec les sauvegardes JGR's Patch Pack ?

Oui — le code du revenu de cargaison est octet pour octet identique entre OpenTTD 14.x vanilla et JGR's Patch Pack. La seule différence économique est le réglage de la vitesse de vieillissement des cargaisons (100 % par défaut dans les deux, exposé sous economy.cargo_aging_rate dans JGRPP). La table de 33 lignes (31 noms de cargaisons uniques plus le Bois et le Pétrole subtropicaux séparés) et la formule entière sont inchangées. Si vous n'avez pas modifié la vitesse de vieillissement, les chiffres du calculateur se transposent un pour un à une sauvegarde JGRPP.

Fonctionne-t-il avec les jeux NewGRF comme FIRS, ECS ou YETI ?

Non. Les jeux NewGRF de cargaison écrasent la table _default_cargo vanilla avec leurs propres valeurs paymentRate, days1 et days2. Le calculateur n'embarque que les définitions vanilla (31 noms uniques — 33 lignes parce que le Bois et le Pétrole ont des entrées subtropicales séparées) ; sur une sauvegarde FIRS il appliquera la bonne formule mais les mauvaises constantes. Pour une sauvegarde NewGRF, traitez la sortie du calculateur comme la ligne de base vanilla et appliquez le ratio publié par le NewGRF (la plupart le documentent dans leur README).

Pourquoi ma cargaison affiche-t-elle "£0" sur une longue route maritime ?

La borne MIN_TIME_FACTOR = 31 garantit qu'une cargaison ancienne paie toujours au moins 31/255 ≈ 12 % de son taux frais — le revenu ne devrait donc pas être littéralement nul, sauf si la distance ou la quantité est zéro. Si vous voyez £0, vérifiez : (a) la distance n'est pas nulle (une livraison sur la même gare ne paie rien), (b) la quantité n'est pas nulle, (c) le taux de paiement n'est pas nul (certains NewGRF mettent à zéro les cargaisons qu'ils ne veulent pas voir transportées). Sur un navire de 2 000 tuiles × 4 000 jours avec un passager, le revenu sera faible (£94 = floor(2 000 × 31 × 1 × 3 185 / 2 097 152)), mais jamais nul.

Pourquoi CityMania et le graphique en jeu donnent-ils des chiffres légèrement différents ?

L'outil CityMania (citymania.org/tools/profit) reconnaît sur sa propre page que "numbers may not be exactly accurate (they should be pretty close though)" — il utilise une approximation et arrondit les valeurs intermédiaires. Le graphique en jeu utilise exactement la même formule entière que ce calculateur, mais quantifie l'axe Y à basse résolution, donc la valeur lue à l'œil peut s'écarter de ±5 %. Les chiffres de ce calculateur correspondent au moteur à l'unité près, parce que nous reproduisons le décalage de bits à l'identique. Si votre £ en jeu diffère de plus de quelques unités, vérifiez que les "jours en transit" saisis correspondent bien à ce qu'affiche la cargaison du véhicule (la valeur continue de monter tant que la cargaison attend à quai).

L'inflation change-t-elle le résultat ?

Le calculateur renvoie la valeur de l'année de base (1950) en £, exactement la même calibration que le graphique en jeu des taux de paiement. Le multiplicateur d'inflation par défaut d'OpenTTD (~1,5 % par an) met à l'échelle simultanément les coûts et les revenus : votre revenu bancaire réel en 2050 sera environ 4,4 fois la sortie du calculateur, mais votre revenu relatif (ce trajet contre celui-là, cette cargaison contre une autre, cette distance contre une autre) est strictement préservé. Le calculateur ne montre volontairement pas de £ ajusté à l'année, parce que le wiki, le graphique en jeu et economy.cpp sont tous calibrés sur l'année de base 1950.

Quelle est la précision de ce calculateur par rapport au jeu réel ?

Bit pour bit pour OpenTTD 14.x vanilla et JGRPP — la suite de 40 tests QA recoupe chaque sortie avec les mathématiques C++ de src/economy.cpp. Le calculateur ne modélise pas les rappels NewGRF (certains NewGRF ajoutent un multiplicateur via un cargo callback), les chaînes de service d'approvisionnement à revenu négatif, ni le vieillissement de la cargaison au-delà du plafond d'entrée de 4 000 jours. Dans ces limites, le résultat en £ est identique à ce que le moteur inscrit sur votre compte au déchargement du véhicule.

Quelle est la différence entre days1 et days2 ?

days1 est le seuil de décroissance précoce : combien de périodes de transit la cargaison peut rester dans le véhicule avant que son facteur temps ne commence à chuter. days2 est le seuil tardif qui s'ajoute par-dessus — au-delà de days1 + days2, le facteur temps chute deux fois plus vite (la formule soustrait à la fois periodsOverDays1 et periodsOverDays2). Une cargaison avec days2 = 255 (charbon, pétrole, minerai de fer, acier, bois, diamants, minerai de cuivre, sucre, jouets, plastique) n'atteint en pratique jamais la zone de chute raide sur un itinéraire raisonnable. Les passagers (0, 24) se dégradent immédiatement ; les objets de valeur (1, 32) presque aussi vite, et présentent la chute combinée la plus raide du jeu.

Ce calculateur est-il gratuit ?

Le panneau de détail et l'aide-mémoire des cargaisons sont déployés par défaut au lieu d'être cachés derrière un accès payant — ouverts à tous, sans compte, sans limite de débit, sans publicité sur la page de calcul elle-même. Chaque valeur intermédiaire (périodes de transit, facteur temps, numérateur) est visible dès le premier rendu.

Comment comparer deux itinéraires côte à côte ?

Utilisez l'onglet "Comparer deux trajets" en haut du calculateur. Le climat est partagé (comparer des itinéraires entre deux climats n'a pas de sens), mais la cargaison, la quantité, la distance et les jours en transit sont indépendants pour le trajet A et le trajet B. Le calculateur affiche les deux totaux en £ ainsi que l'écart (B − A) avec une bannière verte ou rouge. Par défaut, c'est charbon contre passagers sur le même itinéraire 100 tuiles × 60 jours — la comparaison canonique "quelle cargaison choisir ?" qu'on retrouve dans les fils du forum openttd.fr.

La vitesse influe-t-elle sur le revenu, ou seulement les jours en transit ?

Directement, seuls les jours en transit comptent. La formule du revenu ne lit pas la vitesse du véhicule — elle lit combien de jours calendaires la cargaison a passés à bord. La vitesse n'agit qu'indirectement : un véhicule plus rapide parcourt la même distance de Manhattan en moins de jours, ce qui réduit les périodes de transit et fait remonter le facteur temps. Un train à 100 km/h et un train à 200 km/h sur le même itinéraire gagnent des montants différents uniquement parce que le second livre en deux fois moins de jours. Le wiki note que la vitesse a le plus d'effet sous ~50 km/h et s'aplatit au-dessus ; passer de 200 à 400 km/h apporte un gain bien plus faible que de 25 à 50.


Glossaire des cargaisons et de l'économie d'OpenTTD

Distance de Manhattan

La distance directe entre deux gares sur la grille des tuiles, $|xsrc - xdst| + |ysrc - ydst|$. Utilisée par la formule du revenu de cargaison d'OpenTTD ; n'est pas la longueur réelle de voie que parcourt le véhicule.

Période de transit

L'unité de temps interne avec laquelle OpenTTD compte l'âge de la cargaison. Une période de transit = 2,5 jours calendaires. Stockée dans un compteur d'un octet, donc le maximum est de 255 périodes (≈ 637 jours calendaires) avant que le facteur temps n'atteigne la borne MIN_TIME_FACTOR = 31.

Facteur temps

Le multiplicateur de fraîcheur dans la formule du revenu, plage 0–255 (borne inférieure 31). 255 = parfaitement frais, 31 = plancher d'une cargaison ancienne. Chaque période de transit au-delà de days1 le réduit de 1 ; chaque période au-delà de days1 + days2 le réduit d'un point supplémentaire (soit −2 par période dans la zone de chute lente).

days1

Seuil de décroissance précoce d'une cargaison en périodes de transit. En dessous de days1, la cargaison rapporte au facteur temps maximum 255. Exemples : 0 pour les passagers et la nourriture, 1 pour les objets de valeur, 7 pour le charbon, 25 pour le pétrole et les jouets.

days2

Seuil de décroissance tardive d'une cargaison, ajouté par-dessus days1. Au-delà de days1 + days2, le facteur temps chute deux fois plus vite. Le charbon, le pétrole, le minerai de fer, l'acier, le bois, les diamants, le minerai de cuivre, le sucre, les jouets et le plastique ont tous days2 = 255 (effectivement illimité).

Taux de paiement (paymentRate)

Le taux de paiement de base par cargaison, issu de la table _default_cargo dans src/economy.cpp. Le plus élevé est le bois subtropical (7964), puis les objets de valeur (7509), les boissons gazeuses (6250), les biens et bonbons (6144), le charbon (5916). Le plus bas chez les passagers (3185) ; hors passagers, le plus bas est celui des fruits (4209). Stocké dans le moteur sous forme d'entier au format Q11.4 à virgule fixe.

GetTransportedGoodsIncome()

La fonction C++ dans src/economy.cpp qui calcule le paiement en £ lors du déchargement de la cargaison par un véhicule. Implémente exactement la formule entière que reproduit ce calculateur, y compris le décalage final BigMulS de 21 bits.

JGR's Patch Pack (JGRPP)

Un fork de longue date d'OpenTTD maintenu par Jonathan Rennison, avec des centaines de fonctionnalités supplémentaires (freinage réaliste, signaux programmables, zonage des villes). Le code du revenu de cargaison est octet pour octet identique à la version vanilla — les chiffres de ce calculateur s'y transposent un pour un.

NewGRF

Le format de contenu utilisateur d'OpenTTD pour ajouter véhicules, industries, bâtiments urbains et jeux de cargaison. Les jeux NewGRF de cargaison (FIRS, ECS, YETI) écrasent la table vanilla des taux de paiement (33 lignes : 31 cargaisons uniques plus les lignes séparées du Bois et du Pétrole subtropicaux) ; ce calculateur n'utilise que les taux vanilla.

Climat

L'un des quatre réglages de scénario d'OpenTTD : Tempéré (par défaut), Subarctique, Subtropical, Pays des jouets. Détermine quelles cargaisons sont disponibles — Charbon uniquement en Tempéré/Subarctique, Diamants uniquement en Subtropical, Jouets/Bonbons/Cola uniquement au Pays des jouets.

Vitesse de vieillissement des cargaisons

Un réglage d'économie (economy.cargo_aging_rate) qui met à l'échelle la vitesse à laquelle la cargaison accumule des périodes de transit. 100 % par défaut en vanilla comme dans JGRPP. JGRPP l'expose comme un pourcentage configurable ; vanilla la fige à 100.

Inflation

Le multiplicateur annuel d'OpenTTD appliqué aux coûts et aux revenus (~1,5 % par an par défaut). Le calculateur donne le £ de l'année de base (1950), exactement la même calibration que le graphique en jeu des taux de paiement ; les comparaisons relatives ne sont pas modifiées par l'inflation.


Contenu verifie par Smart Calculators