Strategiczna gra i SFML
Stronę tą wyświetlono już: 5513 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ę.
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).
Tytuł:
C++ Zbiór zadań z rozwiązaniami
Autor:
Tomasz Jaśniewski
Tytuł:
Mikrokontrolery dla hobbystów. Projekty DIY w języku C i C++
Autor:
Miguel Angel Garcia-Ruiz, Pedro Cesar Santana Mancilla
Tytuł:
Architektura oprogramowania bez tajemnic. Wykorzystaj język C++ do tworzenia wydajnych aplikacji i systemów
Autor:
Adrian Ostrowski, Piotr Gaczkowski
Tytuł:
Wprowadzenie do C++
Autor:
Michał Matlak
Tytuł:
Opus magnum C++ 11. Programowanie w języku C++. Wydanie II poprawione (komplet)
Autor:
Jerzy Grębosz
Tytuł:
Programowanie wieloplatformowe z C++ i wxWidgets 3
Autor:
Bartosz W. Warzocha
Tytuł:
Język C++ i przetwarzanie współbieżne w akcji. Wydanie II
Autor:
Anthony Williams
Tytuł:
C++ dla bystrzaków. Wydanie VII
Autor:
Stephen R. Davis
Tytuł:
Tablice informatyczne. Podstawy C++
Autor:
Radosław Sokół
Tytuł:
Opus magnum C++11. Programowanie w języku C++ (komplet)
Autor:
Jerzy Grębosz