Najciekawsze elementy projektu
Rozgrywka
Gracz steruje lądownikiem marsjańskim, a następnie robotem badawczym. Celem jest podziwianie obcej planety.
Lądownik
Do naszej dyspozycji oddany jest lądownik. Gdy gracz nie naciska żadnego przycisku, utrzymuje on stałą wysokość nad ziemią. Gdy gracz wciśnie przycisk np. latania do przodu, do samolotu zostaje przyłożona siła w odpowiednim kierunku. Jednocześnie jednak pojawi się siła o przeciwnym zwrocie, której wartość jest wprost proporcjonalna do prędkości pojazdu. Można to rozumieć jako lepkość ośrodka, który wyhamowuje lądownik. Dzięki temu nie jest możliwe rozpędzanie się w nieskończoność, a jednocześnie, gdy gracz puści klawisze, samolot sam wyhamowuje do zerowej prędkości. Wpływa to bardzo pozytywnie na przyjemność ze sterowania i kontrolę nad lądownikiem.
Drugą cechą, jaką odznacza się lądownik, jest system wyrównywania lotu. Gdy lądownik wyląduje na stromym wzgórzu, jego dziób będzie na innej wysokości, niż ogon. Gdy wystartuje, system wyrównywania lotu automatycznie sprawi, że samolot znów wróci do poziomej pozycji.
Robot badawczy (w tej roli dzielne amerykańskie humvee)
Po wylądowaniu mamy do dyspozycji robot badawczy. Składa się on z czterech obracających się kół (w tym przednie koła skręcają się na zakrętach), a także nadwozia. Możliwe jest przyspieszanie pojazdem w obu kierunkach (przód i tył), hamowanie, a także skręcanie. Robot badawczy pokona wiele wzgórz, choć widać będzie, że robi to z trudem, jednak na najwyższe góry może mu się nie udać wspiąć, i trzeba będzie wrócić do samolotu i wylądować gdzie indziej.
Teren
Teren został wygenerowany i zapisany w plikach. Sposób przechowywania to mapa wysokości. Położenie kamieni występujących na terenie (a z którymi można wejść w kolizję), także zostało zapisane w plikach. Teren został podzielony na kwadratowe segmenty, które mają różne stopnie szczegółowości, a które w razie potrzeby są doczytywane w miarę zbliżania się lądownika/robota badawczego. Ale o tym w następnym ustępie.
Streaming
Jednym z wymaganich projektowych był streaming. Chodziło o założenie, że cały teren nie mieści się w pamięci komputera, i należy go doczytywać/odczytywać w miarę potrzeb. Założenie to zostało zrealizowane przy pomocy drzewa czwórkowego. Tam, gdzie teren był oddalony, wczytany był wysoki (bliski korzenia) węzeł drzewa, który zawierał tylko ogólną mapę wysokości. Jednak, gdy do tego obszaru zbliża się gracz następuje wczytywanie odpowiednich węzłów drzewa, które zawierają bardziej szczegółowe fragmenty mapy.
Wyświetlanie
Przy pisaniu wyświetlania grafiki przyjęto, że wszystko musi być realizowane zgodnie z obecnymi technikami, dlatego zastosowano w projekcie programowalny potok renderowania i jednocześnie przyjęto założenie, że wykorzystywana będzie biblioteka OpenGL w wersji 3.3. Takie podejście umożliwiło stworzenie dość elastycznego rozwiązania, które przy użyciu shaderów pozwoliło na dostosowywanie ostatecznego wyglądu gry, bez konieczności zmian w samym kodzie a jednocześnie dając większą kontrolę nad ostatecznym efektem. Projekt wykorzystuje możliwości vertex, geometry oraz fragment shaderów.
Skrypty
W projekcie wiele rzeczy można konfigurować bez ponownej rekompilacji projektu. Jest to międzyinnymi klawiszologia gry, czyli który klawisz odpowiada za jakie zachowanie w grze, a także wskazanie ścieżek do map i ustawienie, ile poziomów ma drzewo ósemkowe.