Czym jest OpenTTD?
Dla osób nowych w temacie warto zamieścić krótkie przypomnienie. OpenTTD to open-source'owy klon legendarnej gry Transport Tycoon z 1995 roku wydanej przez firmę Microprose. Wcielasz się w rolę prezesa firmy transportowej i na przestrzeni lat rozwijasz swoje usługi na wyspie z wykorzystaniem samochodów, kolei, statków, samolotów oraz tramwajów. Czekają na nie nie tylko mieszkańcy miast, ale i dziesiątki przedsiębiorstw domagających się regularnych dostaw surowców oraz rozwożenia gotowych produktów.
Wersja 0.7.0
Ostatnio pograłem sobie w wersję rozwojową ściągniętą z SVN-a, aby zobaczyć, jak w rzeczywistości sprawują się nowe dodatki. Znaczących usprawnień jest kilka.
Zacznijmy od pierwszej nowości, czyli NoAI Framework - po wielu miesiącach prac OpenTTD w końcu dorobił się systemu sztucznej inteligencji przeciwników komputerowych z prawdziwego zdarzenia. NoAI jest frameworkiem umożliwiającym relatywnie proste tworzenie i ładowanie nowych skryptów sztucznej inteligencji. Kilka naprawdę ciekawych botów można już znaleźć na oficjalnym forum - kilku użytkowników już dało znać, że zostali pokonani przez komputer w tej jakże pokojowej rozgrywce :). AdmiralAI potrafi nawet budować całkiem rozsądną sieć kolejową, zaś inne boty przeważnie koncentrują się tylko na jednym środku transportu.
Dotychczas ludzie i towary po prostu pojawiali się na stacjach, skąd mogłeś ich zabrać i zawieźć, gdzie Ci się podobało, byleby lokalizacja docelowa akceptowała transport. Wersja 0.7.0 przynosi zmianę, która po aktywowaniu jej w ustawieniach diametralnie zmienia mechanikę rozgrywki, podnosząc jej realizm. Po włączeniu celów podróży, pasażerowie chcą być przewożeni w konkretne miejsca, aczkolwiek lista ich żądań wciąż bazuje na utrzymywanej przez Ciebie ofercie przewozowej. Przykładowo, na stacji w Krakowie czeka 40 pasażerów. Dotąd, jakikolwiek pociąg by nie podjechał, zabierał tych 40 pasażerów i gdzieś wywoził. Teraz może się okazać, że 30 ludzi chce pojechać do Warszawy, a 10 do Katowic. Jeśli podjedzie pociąg, który w swym rozkładzie ma Warszawę, zabierze tę trzydziestkę w miarę wolnych miejsc, zaś pozostała dziesiątka będzie dalej czekać na pociąg do Katowic. Jednocześnie przypuśćmy, że niedaleko Krakowa leżą Myślenice. Jednak gra nie generuje pasażerów chcących tam jeździć, jeśli nie utrzymujemy tam połączeń.
Cele podróży szczególnie uatrakcyjnią rozgrywkę przy pomocy tramwajów, ponieważ wreszcie taka sieć będzie przypominać rzeczywiste systemy pod względem funkcjonowania. Jednak tu z chęcią powitałbym jeszcze narzędzie do zarządzania liniami z prawdziwego zdarzenia. Póki co po prostu robię np. 8 tramwajów, daję im wspólną trasę przejazdu, a na koniec zakładam dla nich grupę o nazwie np. Linia 6. Nie jest to zbyt wygodne, szczególnie gdy chce się powiększyć liczbę brygad, albo chce uzyskać jakieś informacje o samej linii. Myślę, że taka opcja przydałaby się też w pociągach.
Kolejna z nowości pozwala na jeszcze lepsze zarządzanie infrastrukturą kolejową. Istniejąca obecnie sygnalizacja działała na takiej zasadzie, że wpuszczała pociąg na dany segment jedynie w sytuacji, gdy segment ten był wolny. Na prostym odcinku torów ma to jak najbardziej sens, ale problem pojawiał się na stacjach i skrzyżowaniach linii. Przykładowo, mając stację z ośmioma peronami, nie można było sensownie zrobić ośmiu torów postojowych tak, by z każdego z nich dało się wjechać na dowolny peron. Powód: pociąg przejeżdżający z toru 3 na peron 3 blokował cały system rozjazdów nawet dla tych pociągów, które chciały wjechać z toru 6 na peron 6, czyli bez kolizji. Nowe sygnały ścieżki eliminują problem. Pociąg jest wpuszczany na segment, gdy uda mu się zarezerwować wolną trasę przejazdu. Dzięki temu w segmencie może poruszać się kilka pociągów, pod warunkiem, że ich trasy ze sobą nie kolidują. Znacznie powiększa to przepustowość prostych skrzyżowań linii (kolizyjnych), a także umożliwia budowę bardziej realistycznych sieci kolejowych dla amatorów tego typu rozwiązań. Jedyne, do czego mam zastrzeżenia, to interfejs do ustawiania tych sygnałów. Dotychczasowe typy sygnalizacji można łatwo konwertować, klikając "Ctrl" i budując je jeszcze raz. Sygnały ścieżki budowane są niestety całkowicie osobno, choć z użyciem tego samego panelu, a to nieco utrudnia ich ustawianie.
Z innych ciekawszych rzeczy, przemodelowane zostało okno wyboru tras dla pojazdów (pojawiły się m.in. rozkazy warunkowe, ale jeszcze z nich nie korzystałem, więc nie wiem dokładnie, na czym one polegają). Pojawiła się też możliwość budowy stacji, której poszczególne elementy niekoniecznie do siebie przylegają. Można więc zbudować dworzec kolejowy wraz z przystankiem autobusowym, przedzielone np. torem dla pociągów towarowych lub też wybudować lotnisko w nieco dalszej odległości od miasta, zaś bliżej postawić wchodzący w jej skład przystanek. Oczywiście działa to na pewną, dość ograniczoną odległość, ale osobiście mi się podoba. Przyda się to w moim obecnym systemie budowania sieci kolejowych, gdzie buduję dworce prosto na szlaku kolejowym, ale w taki sposób, że po obu stronach takiego obiektu przebiega normalny tor przeznaczony dla pociągów towarowych oraz innych dupereli, które się tam nie zatrzymują. Teraz będę mógł łatwo podłączyć przystanek autobusowy po drugiej stronie takiego toru bez konieczności kombinowania z wprowadzaniem torów do tunelu, odsuwania ich w dziwne miejsca lub puszczania mostem :).
Graaafika!
OpenTTD w dalszym ciągu do poprawnej pracy wymaga plików graficznych i dźwiękowych z oryginalnego Transport Tycoona. Oczywiście są one wykonane bardzo starannie, ale z drugiej strony 8-bitowa paleta kolorów w dzisiejszych czasach wygląda dość dziwnie. Ponadto występują problemy z prawami autorskimi. Taki stan rzeczy trwa niestety od dawna. W dawnych mapach drogowych widoczne były pozycje, które zakładały przejście na grafikę 32-bitową do wersji 0.7.0. I faktycznie, od wersji 0.6 silnik posiada możliwość renderowania grafiki w kolorze 32-bitowym, ale nie ma przygotowanych zbyt wielu sprite'ów dla tego trybu.
Przynajmniej tyle dobrze, że w końcu wzięto się chociaż za grafikę 8-bitową, powołując projekt OpenGFX. Na dzień dzisiejszy ukazała się już wersja alpha-4, która podmienia już jakieś 89% z 6990 sprite'ów. Ale mimo wszystko... choć w 8 bitach można robić już całkiem ładne rzeczy, to z utęsknieniem czekam na dzień, w którym ujrzę OpenTTD w pełnej, 32-bitowej palecie kolorów, z prerenderowanymi obiektami...
Zakończenie
Niestety, OpenTTD to straszny pożeracz czasu. Na kolejną sesję będę musiał chyba przygotować jakąś blokadę uniemożliwiającą włączenie tej gry w tym czasie, a także zaglądanie na stronę projektu (to akurat bardzo prosto mogę załatwić w routerze :)). Teraz mogę mieć tylko nadzieję, że do przyszłego tygodnia ochota na granie mi się w naturalny sposób na jakiś czas wyczerpie, w sam raz, bym mógł się pouczyć do egzaminów :).






Napisał megawebmaster w czwartek, 22 stycznia 2009 o 20:53
Widać, że również lubisz tę grę - i masz rację to straszny pożeracz czasu. Nie próbowałem jeszcze wersji beta, a z tego co piszesz jest już bardzo ciekawa. Dzięki za tą notkę ;)