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
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
| Cargaison | Taux de paiement | Meilleure à une distance | Périme à |
|---|---|---|---|
| Objets de valeur | 7 509 | ≤ 75 tuiles | 33 périodes |
| Biens | 6 144 | ≤ 375 tuiles | 33 périodes |
| Charbon | 5 916 | ≤ 525 tuiles | — |
| Acier | 5 688 | ≤ 525 tuiles | — |
| Minerai de fer | 5 120 | ≤ 675 tuiles | — |
| Bois | 5 005 | ≤ 1 125 tuiles | — |
| Céréales | 4 778 | ≤ 300 tuiles | 44 périodes |
| Courrier | 4 550 | ≤ 1 500 tuiles | 110 périodes |
| Pétrole | 4 437 | ≤ 1 875 tuiles | — |
| Bétail | 4 322 | ≤ 300 tuiles | 22 périodes |
| Passagers | 3 185 | n'importe quelle distance | 24 périodes |
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.
Calculateur de revenu de cargaison OpenTTD. £ par trajet à partir de la cargaison, de la distance et des jours en transit.
Qu'est-ce que le calculateur de revenu de cargaison OpenTTD ?
Comment calculer le revenu de cargaison OpenTTD (et comment le calculateur procède)
Revenu de cargaison — la formule entière d'economy.cpp
- = Revenu en £ du jeu pour une livraison (l'entier que renvoie le calculateur)
- = 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}|$
- = Facteur temps (0–255), 255 = cargaison parfaitement fraîche, borne inférieure MIN_TIME_FACTOR = 31
- = Quantité de cargaison livrée (passagers, tonnes, sacs, litres, unités)
- = 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)
- = 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
- = 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
- = 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é)
Exemples avec le détail complet du calcul
Référence du wiki — 27 passagers, 100 tuiles, 60 jours, tempéré
Charbon longue distance — 200 tonnes, 300 tuiles, 200 jours, subarctique
Objets de valeur sur courte distance — 50 unités, 50 tuiles, 5 jours, tempéré
Bois subtropical — 100 tonnes, 200 tuiles, 80 jours
Comparer deux trajets — charbon contre objets de valeur sur la même route de 100 tuiles
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