Kalkulator przychodu z ładunku OpenTTD
Zobacz dokładnie, ile płaci każda dostawa w OpenTTD. Wybierz ładunek, ustaw odległość i dni w podróży, a kalkulator zwróci £ za kurs, £ za kratkę, £ na dzień oraz najbardziej dochodowy ładunek na tej trasie.
Oblicz przychód za jedną dostawę.
Decyduje, które ładunki pojawią się na liście. Wybierz ten sam klimat, co w Twoim zapisie OpenTTD.
Ładunek, który wiezie Twój pociąg, statek, samolot lub ciężarówka. Każdy ładunek ma własną stawkę opłaty i własną krzywą świeżości.
pasażerów
kratek
dni
Jak powstał ten wynik
- Czynnik czasu
- 255 − 24 − 2·0 → 231
- Połowa odległości
- 100 ÷ 2 → 50
- Krok 1 (>> 7)
- 50 × 231 × 100 ÷ 128 → 9023
- Razy stawka opłaty
- × 3185
- Podziel przez 8192 (>> 13)
- ÷ 8192
- Przychód
- £3,508
| Ładunek | Stawka opłaty | Najlepsza przy odległości | Starzeje się po |
|---|---|---|---|
| Kosztowności | 7509 | ≤ 75 kratek | 33 okresów |
| Towary | 6144 | ≤ 375 kratek | 33 okresów |
| Węgiel | 5916 | ≤ 525 kratek | — |
| Stal | 5688 | ≤ 525 kratek | — |
| Ruda żelaza | 5120 | ≤ 675 kratek | — |
| Drewno | 5005 | ≤ 1125 kratek | — |
| Zboże | 4778 | ≤ 300 kratek | 44 okresów |
| Poczta | 4550 | ≤ 1500 kratek | 110 okresów |
| Ropa | 4437 | ≤ 1875 kratek | — |
| Żywiec | 4322 | ≤ 300 kratek | 22 okresów |
| Pasażerowie | 3185 | dowolna odległość | 24 okresów |
Vanilla OpenTTD 14.x i JGRPP. Zestawy NewGRF nadpisują domyślne stawki opłat i nie są jeszcze obsługiwane. Przychody pokazane są w wartościach roku bazowego (1950); inflacja w Twoim zapisie skaluje je proporcjonalnie.
Kalkulator przychodu z ładunku OpenTTD. £ za kurs z ładunku, odległości i dni w podróży.
Czym jest kalkulator przychodu z ładunku OpenTTD?
Jak policzyć przychód z ładunku w OpenTTD (i jak robi to kalkulator)
Przychód z ładunku — całkowitoliczbowy wzór z economy.cpp
- = Przychód w wewnątrzgrowych £ za jedną dostawę (liczba całkowita zwracana przez kalkulator)
- = Odległość manhattańska w kratkach między stacją początkową a docelową — |x_{src} - x_{dst}| + |y_{src} - y_{dst}|
- = Czynnik czasu (0–255), 255 = idealnie świeży ładunek, dolny próg MIN_TIME_FACTOR = 31
- = Ilość dostarczonego ładunku (pasażerowie, tony, worki, litry, sztuki)
- = Bazowa stawka opłaty z tabeli _default_cargo w economy.cpp — 3185 pasażerowie, 5916 węgiel, 7964 tropikalne drewno (rekord), 7509 kosztowności (rekord poza drewnem)
- = Okresy tranzytowe — dni kalendarzowe podzielone przez 2,5 i zaokrąglone w dół. Jeden okres = 2,5 dnia w grze
- = Próg days1 ładunku — wczesna granica utraty świeżości w okresach tranzytowych. 0 dla pasażerów i żywności, 1 dla kosztowności, 7 dla węgla, 25 dla ropy, 30 dla plastiku i napojów gazowanych
- = Próg days2 ładunku — późna granica utraty świeżości. 24 dla pasażerów, 32 dla kosztowności, 40 dla zboża, 255 dla węgla (praktycznie bez limitu)
Przykłady z pełnym rozbiciem
Przykład z wiki — 27 pasażerów, 100 kratek, 60 dni, umiarkowany
Węgiel na długim dystansie — 200 ton, 300 kratek, 200 dni, subarktyczny
Kosztowności na krótkim dystansie — 50 szt., 50 kratek, 5 dni, umiarkowany
Tropikalne drewno — 100 ton, 200 kratek, 80 dni
Porównanie dwóch kursów — węgiel kontra kosztowności na tej samej trasie 100 kratek
Wskazówki planowania przychodu dla weteranów openttd.pl i nowicjuszy ze Steama
- Węgiel płaci 5916 stawki bazowej — to nie rekord — ale para days1/days2 wynosząca 7/255 sprawia, że trzyma się przy niemal pełnej cenie nawet na siatkach 2000 kratek przez całą mapę. Węgiel to ładunek, na którym można położyć krzywe tory i nadal być na plusie. Kosztowności mają 7509 stawki bazowej, ale przy days1 = 1 i days2 = 32 cokolwiek powyżej 80 dni kalendarzowych (czyli days1 + days2 = 33 okresów) ścina czynnik czasu w stronę dolnego progu 31. Kosztowności na trasy do 50 kratek, węgiel na całą resztę.
- Odległość to odległość manhattańska w kratkach, a nie długość torów. Wzór przychodu liczy |xsrc - xdst| + |ysrc - ydst| między dwiema stacjami, niezależnie od tego, ile zakrętów ma trasa. Serpentyna przez góry zarabia tyle samo co prosta, jeśli stacje stoją na tych samych współrzędnych. To najczęstsze nieporozumienie na openttd.pl i polskich serwerach: gracze sądzą, że 200 kratek torów na manhattańskiej trasie 100 kratek przynosi 200 kratek przychodu. Nie przynosi. Stawiaj stacje na przeciwległych końcach obiektów przemysłowych, żeby zmaksymalizować odległość manhattańską.
- Jeden „dzień” na stronie wiki o przychodzie za ładunek to w rzeczywistości 2,5 dnia kalendarzowego w Twoim zapisie. OpenTTD trzyma czas w podróży w jednobajtowym liczniku 0–255, a jednostka 2,5 dnia jest po to, żeby licznik dosięgnął najdłuższych tras morskich. Kalkulator powyżej przyjmuje dni kalendarzowe (te, które pokazuje okno pojazdu w grze) i dzieli przez 2,5 wewnętrznie — ale jeśli bierzesz liczby wprost ze słownej wersji wzoru z wiki, sam pamiętaj o mnożeniu lub dzieleniu przez 2,5.
- Czynnik czasu ma dolny próg 31, a nie zero. MIN_TIME_FACTOR = 31 w src/economy.cpp oznacza, że nawet ładunek, który spędził w drodze kilka lat gry, dalej płaci około 31/255 ≈ 12 procent wartości świeżej. Gracze czasem narzekają „mój stary ładunek nic nie zarobił” — zwykle chodzi tylko o małą liczbę £ (jeden pasażer na statku 2000 kratek po 4000 dniach to floor(2000 × 31 × 1 × 3185 / 2 097 152) = £94), ale to nigdy nie jest dosłowne £0, chyba że odległość albo ilość są zerowe.
- Tropikalne drewno płaci £7964 stawki bazowej — to rekord wszystkich ładunków vanilla, ponad kosztownościami (£7509), porównywalne tylko z napojami gazowanymi (£6250) na krótkich plecach pod kątem £ za kratkę. Ta sama polska nazwa „Drewno” co w klimacie umiarkowanym (£5005), tyle że 59 procent droższe. Jeśli grasz na zapisie tropikalnym, ustaw drewno przed towarami na każdej sensownej trasie tartak → odbiorca. Polska wiki OpenTTD też notuje drewno jako jeden z najcenniejszych ładunków w tropikach.
- JGR's Patch Pack używa tego samego wzoru. Kod przychodu z ładunku w JGRPP jest bajt po bajcie identyczny z vanilla — jedyna różnica ekonomiczna to ustawienie tempa starzenia się ładunku (domyślnie 100 procent w obu wersjach, w JGRPP do regulacji procentem). Liczby z tego kalkulatora przekładają się 1 do 1 na zapis JGRPP, dopóki nie ruszysz parametru economy.cargo_aging_rate. Zestawy NewGRF (FIRS, ECS, YETI) nadpisują tabelę stawek opłat i nie są obsługiwane; na zapisie z NewGRF traktuj wyjście kalkulatora jako linię bazową vanilla i skaluj według współczynnika podanego w README modyfikacji.
- Inflacja skaluje wynik proporcjonalnie. Liczba £ jest podana w cenach roku bazowego (1950), w tej samej kalibracji co wewnątrzgrowy wykres stawek opłat. Domyślna inflacja OpenTTD około 1,5 procenta rocznie skaluje jednocześnie koszty i przychody, więc Twój relatywny zysk wobec kosztów operacyjnych nie zmienia się — £ kalkulatora to nie Twoje realne saldo banku w 2050 roku, ale stosunek między dwoma kursami jest zachowany dokładnie.
- Zerknij na ściągę ładunków pod kalkulatorem, zanim położysz tory. Sortuje wszystkie 33 wiersze vanilla (31 unikalnych nazw plus osobne wiersze dla tropikalnego Drewna i Ropy) po stawce opłaty i każdy oznacza tagiem „najlepsza przy odległości ≤ N kratek” z heurystyki days1 × 75 (30 km/h × 2,5 dnia/okres ≈ 75 kratek na okres przy typowych prędkościach pociągów lat 50.). Ładunki z days2 = 255 dostają etykietę „praktycznie bez limitu” — na trasach lądowych nigdy nie wchodzą w zonę krytycznego starzenia.
Kalkulator przychodu z ładunku OpenTTD — często zadawane pytania
Jaki jest wzór na przychód z ładunku w OpenTTD?
Jak liczona jest odległość dla przychodu z ładunku?
Dlaczego jeden „dzień” na wiki to w grze 2,5 dnia?
Który ładunek najbardziej się opłaca w OpenTTD?
Czy kalkulator działa z JGR's Patch Pack?
A co z zestawami NewGRF jak FIRS, ECS czy YETI?
Dlaczego mój ładunek na długiej trasie morskiej pokazuje „£0”?
Dlaczego CityMania i wewnątrzgrowy wykres dają lekko inne liczby?
Czy inflacja zmienia wynik?
Jak dokładny jest kalkulator wobec samej gry?
Czym różnią się days1 i days2?
Czy kalkulator jest darmowy?
Jak porównać dwie trasy obok siebie?
Czy prędkość wpływa na przychód, czy liczą się tylko dni w podróży?
Słownik ładunków i ekonomii OpenTTD
Odległość manhattańska
Prosta odległość po siatce kratek między dwiema stacjami, |xsrc - xdst| + |ysrc - ydst|. Używana we wzorze przychodu OpenTTD; nie jest tożsama z długością torów, po których faktycznie jedzie pojazd. Polska wiki nazywa ją też „geometrią taksówkarską”.
Okres tranzytowy
Wewnętrzna jednostka czasu, w której OpenTTD liczy wiek ładunku. Jeden okres tranzytowy = 2,5 dnia kalendarzowego. Trzymany w jednobajtowym liczniku, więc maksimum to 255 okresów (~637 dni kalendarzowych), zanim czynnik czasu dotknie dolnego progu MIN_TIME_FACTOR = 31.
Czynnik czasu
Mnożnik świeżości we wzorze przychodu, w zakresie 0–255 (z dolnym progiem 31). 255 = idealnie świeży, 31 = próg dla zalegającego ładunku. Każdy okres ponad days1 obniża go o 1; każdy okres ponad days1 + days2 obniża go dodatkowo o 1 (łącznie −2 na okres w strefie wolnego spadku).
days1
Wczesny próg utraty świeżości ładunku w okresach tranzytowych. Poniżej days1 ładunek zarabia po maksymalnym czynniku czasu 255. Przykłady: 0 dla pasażerów i żywności, 1 dla kosztowności, 7 dla węgla, 25 dla ropy i zabawek.
days2
Późny próg utraty świeżości, dodawany do days1. Po przekroczeniu days1 + days2 czynnik czasu spada dwa razy szybciej. Węgiel, ropa, ruda żelaza, stal, drewno, diamenty, ruda miedzi, cukier, zabawki i plastik mają days2 = 255 (praktycznie bez limitu).
Stawka opłaty (paymentRate)
Bazowa stawka ładunku z tabeli _default_cargo w src/economy.cpp. Najwyższa to tropikalne drewno (7964), dalej kosztowności (7509), napoje gazowane (6250), towary i słodycze (6144), węgiel (5916). Najniższa to pasażerowie (3185); poza pasażerami najtańsze są owoce (4209). W silniku trzymana jako całkowita liczba w formacie stałoprzecinkowym Q11.4.
GetTransportedGoodsIncome()
Funkcja w C++ w src/economy.cpp, która liczy wypłatę £, kiedy pojazd rozładowuje ładunek. Implementuje dokładnie ten sam całkowitoliczbowy wzór, który odtwarza ten kalkulator, łącznie z finalnym przesunięciem BigMulS o 21 bitów.
JGR's Patch Pack (JGRPP)
Długo rozwijany fork OpenTTD autorstwa Jonathana Rennisona z setkami dodatkowych funkcji (realistyczne hamowanie, programowalne sygnały, strefy miast). Kod przychodu z ładunku jest bajt po bajcie identyczny z vanilla — liczby z tego kalkulatora przekładają się 1 do 1.
NewGRF
Format treści użytkownika w OpenTTD do dodawania pojazdów, przemysłów, budynków miejskich i zestawów ładunków. Zestawy NewGRF (FIRS, ECS, YETI) nadpisują tabelę stawek opłat vanilla (33 wiersze: 31 unikalnych nazw plus osobne tropikalne Drewno i Ropa); ten kalkulator używa wyłącznie stawek vanilla.
Klimat
Jeden z czterech wariantów scenariusza w OpenTTD: Umiarkowany (domyślny), Subarktyczny, Tropikalny, Zabawkowy. Decyduje, które ładunki są dostępne — Węgiel tylko w umiarkowanym i subarktycznym, Diamenty tylko w tropikalnym, Zabawki, Słodycze i Cola tylko w Zabawkowym.
Tempo starzenia się ładunku
Ustawienie ekonomii (economy.cargo_aging_rate), które skaluje, jak szybko ładunek zbiera okresy tranzytowe. Domyślnie 100 procent w vanilla i w JGRPP. JGRPP daje regulację procentem; vanilla na sztywno trzyma 100.
Inflacja
Roczny mnożnik OpenTTD nakładany na koszty i przychody (~1,5 procenta rocznie domyślnie). Kalkulator pokazuje £ w cenach roku bazowego (1950), w tej samej kalibracji co wewnątrzgrowy wykres stawek opłat; porównania względne nie zmieniają się od inflacji.
Źródła i odniesienia
- OpenTTD Wiki (PL) — Przychód za ładunek (wzór, progi days1/days2, jednostka 2,5 dnia na okres)
- OpenTTD Wiki (PL) — Ładunek (polskie nazwy wszystkich ładunków według klimatu)
- OpenTTD Wiki (PL) — Geometria taksówkarska (definicja odległości manhattańskiej w OpenTTD)
- Kod źródłowy OpenTTD — src/economy.cpp (funkcja GetTransportedGoodsIncome() i tabela _default_cargo licząca 33 wiersze przy 31 unikalnych ładunkach)
- Wikidata Q725120 — encja OpenTTD (gra wideo, wolne oprogramowanie; oparta na Transport Tycoon Deluxe)
- JGR's Patch Pack — fork społeczności używający tej samej formuły przychodu z ładunku