środa, 15 marca 2017

Adventure war


Dobra więc, skoro powiedziało się A, należy też powiedzieć B a minęło już dość sporo czasu od ostatniego wpisu, a strona straszy pustką co przyprawia mnie o smutny nastrój. Czas w końcu z tym skończyć, uzupełnić wpisy, podjąć się wyzwania, do którego się przystąpiło i coś zrobić - Bo warto coś robić!

Cel: Strategia

Tak, więc w sumie będzie to coś bliskie temu, przed czym byliśmy przestrzegani. Więc czemu nie... w końcu to nie może się skończyć źle, prawda? prawda? Może pomińmy tę kwestię i przejdźmy do szczegółów, co chcę? czego chcę? i jak to zrobić? Pozwoli to na zebranie burzy pomysłów i poskładanie tego w jakąś logiczną całość, którą będzie można z czasem rozwinąć o kolejne elementy.
Więc czego chcemy? Może kojarzycie dość starą, bo wydaną w 2001 roku grę Adventure war na konsolę Game Boy Advance? Gra mojego dzieciństwa, na podstawie której chciałbym stworzyć coś podobnego z tym wyjątkiem, by docelowo można było zagrać na PC wraz z znajomymi. Cel wydaje się ambitny ze względu na konieczność nie tylko stworzenia gry na nowo, ale również ogarnięcie balansu rozgrywki (w końcu nikt nie chciałby oberwać spamem ciężkich, niezbalansowanych czołgów) oraz stworzenia przynajmniej kilku podstawowych map do gry.
Więc w sumie na co się piszę:
  • Odtworzenie logiki rozgrywki
  • Stworzenie generatora poziomów
  • Dodanie szeregu jednostek oraz interakcji między nimi
  • Balans tego wszystkiego
Więc w sumie... dużo tego. Więcej niż myślałem na samym początku, no ale cóż... do odważnych świat należy. A jeśli chciałbym kierować się w branżę game developmentu, to warto stawiać sobie wyzwania - w końcu na nich można nauczyć się najwięcej.


Screen z adventure war 2. Źródło: http:cdn.gamer-network.net

Jak to zrobimy? Monogame

No właśnie.. czemu nie Unity? Ostatecznie dla tego dość popularnego silnika powstała już cała masa... w sumie wszystkiego co pozwala na ogromne wsparcie w przypadku jakichkolwiek problemów. To oczywiście racja, jednakże moje doświadczenia z Unity pozwalają póki co wysnuć wniosek, iż głównie gry się składa niż generuje. Moja pierwsza gra z wykorzystaniem Unity sprowadzała się do kilkudziesięciu linijek kodu, kilku klas i obiektów, do których wszystko zostały poprzypinane. "San Escobar must by stoped!" stanowił więc zbiór luźnych elementów, które jakoś na siebie oddziaływały - no, ale o tym kiedyś. Później.
W Monogame stworzyłem już pierwszą grę właściwie bez większej pomocy, w oparciu o swoją wiedzę i mniej więcej wiem czego mogę się spodziewać - choć i tak przypomina to bardziej elektryka, który nie wie co robi - o... poszły iskry i nie działa... lepiej cofnę zmiany i spróbuję inaczej.
Kolejną istotną rzeczą jest to, że Monogame stanowi opensourcowy framework (co spodoba się pewnemu zielonemu kotu jeśli przeboleje myśl o Windows'ie :v ), który umożliwia pisanie gier pod Windowsa, Linuxa, Maca oraz... platformy mobilne, a przeniesienie kodu z Windy na mobilne ponoć sprowadza się do zmiany platformy docelowej, sterowania... i gotowe. A o tym w sumie przekonam się dopiero jak skończę tworzenie gry.

Cu robimy? Czyli wersja podstawowa

No właśnie... co chcemy osiągnąć? W pierwszej kolejności chciałbym się zająć od wyświetlania mapy - a co się z tym wiążę - stworzenia podstawowych terenów (póki co nie muszą być ładne) i ogarnięcie ich wyświetlania, tak by tworzyły siatkę. Kolejna kwestia to kursor i sterowanie, które pozwoli na zmianę terenu na danym polu. To w ostateczności w podstawowej wersji powinno nam zapewnić podstawowy generator plansz. A to raczej jest istotne! Gdy będziemy mieli generowalne plansze - będziemy mogli pomyśleć nad stworzeniem jednostek, które będą między sob toczyć boje.

Tak więc co przewiduję na najbliższe tygodnie:
  • Wyświetlanie podstawowego terenu
  • Wyświetlanie i poruszanie kursora
  • Kliknięcie kursora musi zmieniać rodzaj terenu
  • Wymyślenie i implementacja zapisywania map
  • Wczytywanie map
Wykonanie tych elementów już będzie dla mnie sukcesem, lecz chciałbym to wzbogacić i pójść dalej dodając jednostki, budynki itp. Póki co pierwsze dwa punkty mam już wykonane ale z biegiem czasu liczę, że każdy kolejny zalśni na zielono. Gdy wszystkie będą zielone. Mogę powiedzieć o pierwszym ogromnym sukcesie i przejścia do kolejnego etapu rozgrywki/prac nad grą.

Tak więc wydaje mi się dużo jak na dwie godziny implementacji z określeniem, czego właściwie będę potrzebował w pojedynczym obiekcie terenu. Co sądzisz o projekcie? Następny raport w przeciągu tygodnia (mam nadzieję). 


Dobra, więc to na tyle bo ciężko pisze się kopytami. Znikam wylegiwać się na chmurach - w końcu wiosna! Słonko wyszło! Jest już ciepło.

1 komentarz:

  1. Jej, jest postęp. Wklej tylko jeszcze link do repozytorium, żeby było można obserwować na bieżąco. Pozdrawiam.

    OdpowiedzUsuń