Autor podstrony: Krzysztof Zajączkowski

Stronę tą wyświetlono już: 5998 razy

Krótki opis

Od jakiegoś czasu tworzę samodzielnie grę strategiczną z wykorzystaniem grafiki 2W w układzie izometrycznym, która przy odpowiednim zaimplementowaniu algorytmu daje pewne wrażenie trójwymiarowości. Gra operuje na mapie zapisanej na dysku twardym oraz plikach zawierających definicje wszystkich obiektów i tekstur.

Działanie programu pod Linuksem z wykorzystaniem Wine:

Działanie programu pod Windowsem:

Algorytm znajdowania najkrótszej ścieżki

Wewnątrz programu wykorzystałem mój własny algorytm znajdowania najkrótszej ścieżki w bitmapie składającej się z prostokątnych pól. Program pokazujący działanie tego algorytmu został już wcześniej przeze mnie opracowany i znajduje się Programowanie → Projekty C++ → PathFinder - znajdowanie najkrótszej ścieżki.

Zastosowanie polimorfizmu

Gra jest oparta na prostym mechanizmie polimorfizmu, który okazał się niezwykle przydatny w celu przechowywania w pamięci komputera danych o obiekcie. W obecnej postaci obiekty mogą być trojakiego typu:

  • budynki (klasa building) - obiekty nieruchome;
  • czołgi (klasa tank) - obiekty ruchome;
  • podłoże (klasa ground) - obiekty opisujące podłoże danego pola mapy.

Obiekty klas wyżej wymienionych dziedziczą po wspólnym interfejsie Object.

Grafika

Tworzona przeze mnie grafika na potrzeby gry w większości tworzona była techniką pixel art. Czołg jedynie został narysowany w Inskcap-ie. Poniżej zamieszczam screen z gry, na którym widać gmach głównego bosa, oraz jego warownię.

Screen gry strategicznej tworzonej przeze mnie w C++ z wykorzystaniem biblioteki SFML
Rys. 1
Screen gry strategicznej tworzonej przeze mnie w C++ z wykorzystaniem biblioteki SFML

Dodane menu i akceleratory

Czym są akceleratory? Są to obiekty, które co jakiś odstęp czasu będą umieszczały na mapie dodatkowe obiekty. Do tych obiektów należą:

  • apteczki - które będą leczyły czołg;
  • paliwo - ponieważ czołg nie jest perpetuum mobile więc musi zużywać paliwo, a skoro zużywa paliwo to trzeba mieć możliwość jego uzupełniania;
  • amunicja - zapasy amunicji trzeba też odnawiać, wiadoma sprawa;
  • mapy i inne przydatne obiekty.

Zaznaczenie obiektu spowoduje pojawienie się jego w menu po prawej stronie okna gry. W menu na razie wyświetlana jest nazwa obiektu, jego grafika, oraz podstawowe parametry, takie jak:

  • helth (zdrowie) - punty zdrowia obiektu;
  • fuel (paliwo) - ilość litrów paliwa (dotyczy tylko obiektów ruchomych).

Już wkrótce dodane zostaną dane dotyczące dodatkowego wyposażenia jak amunicja, mapy lub inne obiekty wzbogacające np. funkcjonalność obiektów ruchomych.

Poniżej krótki filmik z gry (trochę przycina, ale to spowodowane jest przez program nagrywający).

Layout wykonany przez autora strony, wszelkie prawa zastrzeżone. Jakiekolwiek użycie części lub całości grafik znajdujących się na tej stronie bez pisemnej zgody jej autora surowo zabronione.