Vector
From Atariki
←Older revision | Newer revision→
Planowana, nigdy nie ukończona gra FPP na Atari XL/XE.
Fox zaimplementował silnik 3D wzorowany na Build, wykorzystanym m.in. w grze Duke Nukem 3D na PC. Cechy wspólne tych silników:
- mapa zbudowana z prostopadłościanów ("sektorów"), których ściany mogą być widoczne lub niewidoczne ("portale")
- sprite-y w dowolnych miejscach świata 3D, wyświetlane równoległe do ekranu
- swobodny ruch we wszystkich kierunkach w 3D
- obrót wokół osi pionowej
- symulacja patrzenia w górę i w dół przez przesuwanie linii horyzontu
- mapy tworzone w edytorze "Build" lub pochodnym (np. "Mapster")
- sposoby poruszania: chodzenie, bieganie, latanie, pływanie, skakanie, czołganie
- różne rodzaje drzwi
- windy
Główne różnice:
- brak tekstur w silniku Vector (ściany mają kolor jednolity lub "w kratkę")
- tylko poziome podłogi i sufity w silniku Vector
Silnik pracuje w trybie 9++/10++ w rozdzielczości 80x48. W zależności od stopnia komplikacji widoku na ekranie, renderowanie klatki trwa od trzech do kilkudziesięciu ramek. Ograniczenia dla pojedynczej mapy: współrzędne X i Y 16-bitowe, współrzędna Z (wysokość) 8-bitowa, kąt obrotu 8-bitowy, maksymalnie 256 ścian (w tym portale), 64 sektory, 64 sprite-y.
Silnik Vector został użyty w demie Numen. Oprócz tego, co można zobaczyć w demie, powstał kod obsługujący poruszanie przy pomocy joysticka lub klawiatury, różnego typu drzwi i windy, detekcję kolizji oraz wybór broni. Cały kod można znaleźć w źródłach dema, działa on na komputerach z 64 KB pamięci RAM.
Przygotowanie map
Mapy były tworzone w edytorze Mapster. Edytor ten posiada widok mapy z góry (na obrazku nowsza wersja: Mapster32) oraz widok 3D WYSIWYG. Sprite-y powstały w programach graficznych na PC.
Silnik Build (a tym samym Mapster) wykorzystuje pliki *.map (pojedyncza mapa), tiles*.art (tekstury) oraz palette.dat (kolory). Na potrzeby Vectora powstały konwertery tych plików:
- PCXToArt.java - odczytuje pliki *.pcx i tworzy z nich plik art - pozwala to uniknąć niewygodnego edytora tekstur dołączanego do Build i Mapster.
- MakePatternPCX.java - tworzy pliki *.pcx dla "tekstur" ścian - jednolite kolory i "szachownice" dwóch kolorów.
- ConvArt.c - odczytuje plik art, dokonuje kompresji powtarzających się elementów i zapisuje plik asx (dla xasm). Autorem tego narzędzia jest Eru.
- ConvMap.java - odczytuje plik map i zapisuje plik asx.
- FindAtariColors.java, SetAtariColors.java - narzędzia wspomagające stosowanie określonych kolorów Atari w sprite-ach.
W demie Numen trasy były definiowane w plikach tekstowych track.txt. ConvTrack.java zamieniał je na asx.
Historia
Silnik powstał w sierpniu 2001. Autor nie był zainteresowany tworzeniem gry, lecz za namową Sikora podjął taką próbę. Z powodu braku chętnych do współpracy projekt gry został anulowany w roku 2002, kilka miesięcy po wydaniu dema Numen.