Kalkulačka příjmu z nákladu v OpenTTD
Zjistěte přesně, kolik vydělá každá doručená zásilka v OpenTTD. Vyberte náklad, nastavte vzdálenost a dny na cestě — kalkulačka vrátí £ za jízdu, £ za pole, £ za den a nejvýdělečnější náklad pro tuto trasu.
Spočítejte příjem za jednu doručenou zásilku.
Určuje, jaké náklady se objeví v seznamu. Vyberte stejné klima, jaké máte v hře OpenTTD.
Náklad, který veze váš vlak, loď, letadlo nebo nákladní auto. Každý náklad má vlastní sazbu platby a vlastní křivku čerstvosti.
cestujících
polí
dní
Jak vzniklo toto číslo
- Faktor času
- 255 − 24 − 2·0 → 231
- Poloviční vzdálenost
- 100 ÷ 2 → 50
- Krok 1 (>> 7)
- 50 × 231 × 100 ÷ 128 → 9 023
- Krát sazba platby
- × 3 185
- Děleno 8192 (>> 13)
- ÷ 8192
- Příjem
- £3,508
| Náklad | Sazba platby | Nejlepší při vzdálenosti | Stárne po |
|---|---|---|---|
| Cennosti | 7 509 | ≤ 75 polí | 33 period |
| Zboží | 6 144 | ≤ 375 polí | 33 period |
| Uhlí | 5 916 | ≤ 525 polí | — |
| Ocel | 5 688 | ≤ 525 polí | — |
| Železná ruda | 5 120 | ≤ 675 polí | — |
| Dřevo | 5 005 | ≤ 1 125 polí | — |
| Zrní | 4 778 | ≤ 300 polí | 44 period |
| Pošta | 4 550 | ≤ 1 500 polí | 110 period |
| Ropa | 4 437 | ≤ 1 875 polí | — |
| Dobytek | 4 322 | ≤ 300 polí | 22 period |
| Cestující | 3 185 | libovolná vzdálenost | 24 period |
Vanilla OpenTTD 14.x a JGRPP. Sady NewGRF přepisují výchozí sazby platby a zatím nejsou podporované. Příjmy jsou uvedené v hodnotách bazického roku (1950); inflace ve vašem uložení je škáluje úměrně.
Kalkulačka příjmu z nákladu v OpenTTD. £ za jízdu z nákladu, vzdálenosti a dní na cestě.
Co je kalkulačka příjmu z nákladu v OpenTTD?
Jak spočítat příjem z nákladu v OpenTTD (a jak to dělá kalkulačka)
Příjem z nákladu — celočíselný vzorec z economy.cpp
- = Příjem v herních £ za jedno doručení (celé číslo, které kalkulačka vrátí)
- = Manhattanská vzdálenost v polích mezi výchozí a cílovou stanicí — |x_{src} - x_{dst}| + |y_{src} - y_{dst}|
- = Faktor času (0–255), 255 = dokonale čerstvý náklad, dolní mez MIN_TIME_FACTOR = 31
- = Množství doručeného nákladu (cestující, tuny, pytle, litry, kusy)
- = Základní sazba platby nákladu z tabulky _default_cargo v economy.cpp — 3185 u cestujících, 5916 u uhlí, 7964 u subtropického dřeva (rekord), 7509 u cenností (rekord mimo dřevo)
- = Transportní periody — kalendářní dny dělené 2,5 a zaokrouhlené dolů. Jedna perioda = 2,5 herního dne
- = Práh days1 nákladu — raná hranice úbytku čerstvosti v transportních periodách. 0 u cestujících a jídla, 1 u cenností, 7 u uhlí, 25 u ropy, 30 u plastu a limonády
- = Práh days2 nákladu — pozdní hranice úbytku. 24 u cestujících, 32 u cenností, 40 u zrní, 255 u uhlí (prakticky bez limitu)
Příklady s kompletním rozkladem výpočtu
Referenční příklad ze specifikace — 27 cestujících, 100 polí, 60 dní, mírné klima
Uhlí na dálkové trase — 200 tun, 300 polí, 200 dní, subarktické klima
Cennosti na superkrátké trase — 50 kusů, 50 polí, 5 dní, mírné klima
Subtropické dřevo — 100 tun, 200 polí, 80 dní
Porovnání dvou jízd — uhlí proti cennostem na stejné 100polní trase
Tipy pro plánování příjmu pro veterány OpenTTD CZ/SK a nováčky ze Steamu
- Uhlí má základní sazbu 5916 — ne nejvyšší v tabulce — ale dvojice days1/days2 v hodnotách 7/255 ho drží téměř na plné ceně i na sítích přes celou mapu s 2000 poli. Uhlí je náklad, na kterém můžete pokládat křivé koleje a stejně být v plusu. Cennosti platí 7509 základní sazby, ale s days1 = 1 a days2 = 32 cokoli nad 85 kalendářních dní (34 transportních period) sráží faktor času směrem k dolní mezi 31. Cennosti na trasy do 50 polí, uhlí na všechno ostatní.
- Vzdálenost je manhattanská v polích, ne délka kolejí. Vzorec příjmu počítá |xsrc - xdst| + |ysrc - ydst| mezi oběma stanicemi, ať se trasa kroutí jakkoli. Klikatá trať přes hory vydělá stejně jako rovná, pokud souřadnice stanic zůstanou stejné. Tohle je nejčastější omyl v české Facebookové skupině OpenTTD CZ/SK a na Discordu Český OpenTTD Server: hráči si myslí, že 200 polí kolejí na manhattanské trase 100 polí přinese 200 polí příjmu. Nepřinese. Stanice umisťujte na nejvzdálenější konce průmyslových budov, abyste maximalizovali manhattanskou vzdálenost.
- Jeden „den“ na wiki stránce o příjmu z nákladu je ve vaší uložené hře 2,5 kalendářního dne. OpenTTD ukládá dobu na cestě v jednobajtovém čítači 0–255 a jednotka 2,5 dne tu je proto, aby čítač dosáhl i na nejdelší námořní trasy. Kalkulačka výše bere kalendářní dny (to, co ukazuje okno vozidla ve hře) a interně dělí 2,5 — ale pokud taháte hodnoty přímo ze slovní verze vzorce na wiki, dělte nebo násobte 2,5 ručně.
- Faktor času má dolní mez 31, ne nulu. MIN_TIME_FACTOR = 31 v src/economy.cpp znamená, že i náklad, který je na cestě roky herního času, stále platí asi 31/255 ≈ 12 procent své čerstvé hodnoty. Hráči si občas stěžují „můj starý náklad nic nevydělal“ — obvykle jde jen o to, že číslo £ je malé (jeden cestující na 2000polní lodi po 4000 dnech dá floor(2000 × 31 × 1 × 3185 / 2 097 152) = £94), ale nikdy to není doslova £0, pokud nejsou nulové vzdálenost nebo množství.
- Subtropické dřevo platí £7964 základní sazby — rekord ze všech vanilla nákladů, nad cennostmi (£7509) a porovnatelné jen s limonádou (£6250) na krátkých trasách u £ za pole. Stejný český název „Dřevo“ jako u mírného (£5005), ale o 59 procent dražší. Pokud hrajete subtropické uložení, dejte dřevu přednost před zbožím na každé použitelné trase pila → příjemce. Komunita JGRPP (vlákno JGR's Patch Pack na tt-forums.net a README projektu JGRennison/OpenTTD-patches na GitHubu) na to pravidelně upozorňuje při plánování megabází.
- JGR's Patch Pack používá stejný vzorec. Kód příjmu z nákladu je v JGRPP bajt po bajtu shodný s vanillou — jediný ekonomický rozdíl je nastavení rychlosti stárnutí nákladu (výchozí 100 procent v obou verzích, v JGRPP nastavitelné procentem). Čísla z této kalkulačky se přenesou jedna ku jedné do uložení JGRPP, pokud jste výslovně neměnili economy.cargo_aging_rate. Sady NewGRF (FIRS, ECS, YETI) přepisují tabulku sazeb platby a nejsou podporované; pro uložení s NewGRF berte výstup kalkulačky jako vanilla základ a škálujte poměrem zveřejněným v README sady.
- Inflace škáluje výsledek úměrně. Zobrazená £ je hodnota bazického roku (1950), shodně kalibrovaná jako herní graf sazeb platby. Výchozí inflace OpenTTD zhruba 1,5 procenta ročně škáluje současně náklady i příjmy, takže váš relativní zisk vůči provozním nákladům zůstává stejný — £ z kalkulačky není vaše skutečné £ na bankovním účtu v roce 2050, ale poměr mezi dvěma jízdami zůstává přesně zachován.
- Než položíte první koleje, kouknete na tahák pod kalkulačkou. Třídí všech 33 řádků vanilly (31 unikátních názvů plus samostatné řádky pro subtropické Dřevo a Ropu) podle sazby platby a každý označuje štítkem „nejlepší při vzdálenosti ≤ N polí“ podle heuristiky days1 × 75 (30 km/h × 2,5 dne/perioda ≈ 75 polí za periodu při typických rychlostech vlaků 50. let). Náklady s days2 = 255 dostanou nálepku „prakticky bez limitu“ — na pozemních trasách se do kritického stárnutí nedostanou.
Kalkulačka příjmu z nákladu v OpenTTD — nejčastější dotazy
Jaký je vzorec pro příjem z nákladu v OpenTTD?
Jak se měří vzdálenost pro příjem z nákladu?
Proč je jeden „den“ na wiki ve skutečnosti 2,5 dne ve hře?
Který náklad se nejvíc vyplatí v OpenTTD?
Funguje kalkulačka s JGR's Patch Pack?
A co sady NewGRF jako FIRS, ECS nebo YETI?
Proč můj náklad na dlouhé námořní trase ukazuje „£0“?
Proč CityMania a herní graf dávají mírně odlišná čísla?
Mění inflace výsledek?
Jak přesná je tato kalkulačka oproti reálné hře?
Jaký je rozdíl mezi days1 a days2?
Je tato kalkulačka zdarma?
Jak porovnat dvě trasy vedle sebe?
Má rychlost vliv na příjem, nebo jen dny na cestě?
Slovník nákladu a ekonomiky OpenTTD
Manhattanská vzdálenost
Přímá vzdálenost mezi dvěma stanicemi po mřížce polí, |xsrc - xdst| + |ysrc - ydst|. Používá ji vzorec příjmu z nákladu v OpenTTD; není rovna skutečné délce kolejí, po kterých vozidlo jede.
Transportní perioda
Vnitřní časová jednotka, v níž OpenTTD počítá stáří nákladu. Jedna transportní perioda = 2,5 kalendářního dne. Uložená v jednobajtovém čítači, takže maximum je 255 period (≈ 637 kalendářních dní), než faktor času dosedne na dolní mez MIN_TIME_FACTOR = 31.
Faktor času
Násobič čerstvosti ve vzorci příjmu, rozsah 0–255 (s dolní mezí 31). 255 = dokonale čerstvý, 31 = mez pro zatuchlý náklad. Každá perioda nad days1 ho sníží o 1; každá perioda nad days1 + days2 ho sníží o další 1 (celkem −2 za periodu v pomalé zóně).
days1
Raný práh úbytku čerstvosti nákladu v transportních periodách. Pod days1 vydělává náklad při maximálním faktoru času 255. Příklady: 0 u cestujících a jídla, 1 u cenností, 7 u uhlí, 25 u ropy a hraček.
days2
Pozdní práh úbytku, přidávaný nad days1. Za days1 + days2 klesá faktor času dvakrát rychleji. Uhlí, ropa, železná ruda, ocel, dřevo, diamanty, měděná ruda, cukr, hračky a plast mají days2 = 255 (prakticky bez limitu).
Sazba platby (paymentRate)
Základní sazba nákladu z tabulky _default_cargo v src/economy.cpp. Nejvyšší je subtropické dřevo (7964), pak cennosti (7509), limonáda (6250), zboží a bonbony (6144), uhlí (5916). Nejnižší u cestujících (3185); mimo cestující jsou nejnižší ovoce (4209). V enginu uložená jako celé číslo ve formátu pevné řádové čárky Q11.4.
GetTransportedGoodsIncome()
C++ funkce v src/economy.cpp, která spočítá výplatu v £, když vozidlo vyloží náklad. Implementuje přesně stejný celočíselný vzorec, který tato kalkulačka replikuje, včetně závěrečného posunu BigMulS o 21 bitů.
JGR's Patch Pack (JGRPP)
Dlouhodobě vyvíjený komunitní fork OpenTTD od Jonathana Rennisona se stovkami doplňkových funkcí (realistické brzdění, programovatelné signály, městské zóny). Kód příjmu z nákladu je bajt po bajtu shodný s vanillou — čísla z této kalkulačky se přenesou jedna ku jedné.
NewGRF
Formát uživatelského obsahu v OpenTTD pro přidání vozidel, průmyslu, městských budov a sad nákladů. Sady NewGRF (FIRS, ECS, YETI) přepisují vanilla tabulku sazeb platby (33 řádků: 31 unikátních nákladů plus samostatné subtropické Dřevo a Ropa); tato kalkulačka používá pouze vanilla sazby.
Klima
Jedno ze čtyř scénářových nastavení OpenTTD: Mírné (výchozí), Subarktické, Subtropické, Hračkářské. Určuje, které náklady jsou dostupné — Uhlí jen v Mírném/Subarktickém, Diamanty jen v Subtropickém, Hračky/Bonbony/Kola jen v Hračkářském.
Rychlost stárnutí nákladu
Nastavení ekonomiky (economy.cargo_aging_rate), které škáluje, jak rychle náklad sbírá transportní periody. Výchozí 100 procent ve vanille i v JGRPP. JGRPP ji vystavuje jako konfigurovatelné procento; vanilla ji má napevno na 100.
Inflace
Roční násobič OpenTTD aplikovaný na náklady i příjmy (~1,5 procenta ročně ve výchozím nastavení). Kalkulačka vrací £ v cenách bazického roku (1950), shodně kalibrovaná jako herní graf sazeb platby; relativní porovnání inflace nemění.
Zdroje a reference
- OpenTTD Wiki (CZ) — Průmysl (české názvy nákladů a obecný popis, že společnost dostává zaplaceno za transport surovin a zboží)
- OpenTTD Wiki (CZ) — Nádraží (umístění stanic, manhattanská vzdálenost a vliv na platbu)
- OpenTTD Wiki (EN) — Cargo income (formule, prahy days1/days2, jednotka 2,5 dne na periodu)
- Jazykový soubor OpenTTD — src/lang/czech.txt (oficiální české překlady názvů nákladů)
- Zdrojový kód OpenTTD — src/economy.cpp (funkce GetTransportedGoodsIncome() a tabulka _default_cargo s 33 řádky pokrývajícími 31 unikátních nákladů)
- Wikidata Q725120 — entita OpenTTD (videohra, svobodný software; vychází z Transport Tycoon Deluxe)
- JGR's Patch Pack — komunitní fork používající stejný vzorec příjmu z nákladu