Piszemy RPGo-Platformówkę (0) – reboot

Obiecany reboot serii „Piszemy platformówkę” oraz „Piszemy grę RPG”

Słowem wstępu


Cześć wszystkim, mam przyjemność ogłosić [obiecany] reboot serii: Piszemy Platformówkę oraz Piszemy grę RPG.

Tradycyjnie zaczniemy sobie od krótkiego wprowadzenia, w którym opowiem co i jak po czym bezpośrednio przejdziemy do konkretów, a więc pierwszej (zerowej) części projektu.

 

RPGo – Platformówka, a co to?

Jak wspomniałem we wpisach zapowiadających serię (link wyżej) zrobimy sobie mały miks tych dwóch typów gier, poprzez:

  1. Stworzenie „gry” platformowej;
  2. Stworzenie „gry” RPG bazując na platformówce.

Więc mamy do czynienia z pisaniem gry od zera, jednakże tym razem nie będę skupiał się na użytej technologii, a raczej będę starał się skupić głównie na samym pisaniu gry. Użyty silnik będzie czymś dodatkowym, pokazującym że to o czym mówię faktycznie ma szanse zadziałać (o rzeczach „technicznych” później).

Nie bez powodu słowo gra zawarłem w cudzysłowie, a jest to spowodowane, że do nazwania naszego tworu grą będzie brakowało pewnego drobnego szczegółu: dopracowanych poziomów (map), my stworzymy sobie jedynie parę sandboxowych poziomów (leveli), na których będziemy tworzyli i testowali tworzone przez nas feature’y.

 

Sprawy techniczne

Dla dobra wyższego i pewnej wygody nasz projekt będzie krył się pod nazwą „proj_platf_rpg” (wybaczcie za brak weny), jeżeli macie jakąś propozycją na „poetycką” nazwę to zachęcam do podzielenia się nią w komentarzach). Pod tą samą nazwą kod będzie dostępny na Github: [/sheadovas/proj_platf_rpg].

Jeżeli mowa o kodzie źródłowym to ostatecznie zdecydowałem się na pisanie gry w [Unity] (podkreślam, że omawiany kod będzie korzystał z Unity w bardzo znikomym stopniu). Powody wybrania Unity, a nie np SFML są niezmienne względem tego co zapowiadałem. Chciałbym także podkreślić, że ta seria nie będzie serią poradników Unity.

Kontynuując temat kodu, to będzie on dostępny na licencji open-source, zachęcam także do tworzenia pull-requestów w sytuacjach gdy coś można zrobić lepiej.

Jeżeli chodzi o kolejne części to liczę że będą się pojawiały w miarę regularnie 1-2 razy na 2 tygodnie.

Co do używanego przeze mnie oprogramowanie to korzystam z Windowsa 10, Unity 5.5.2f1 oraz Visual Studio Community 2015.

 

Dlaczego Unity?

Pewnie sporo osób wciąż ma mi za złe, że nie robię tego projektu w SFML, dlatego powstał ten paragraf. Dalsze pytanie o to samo nie ma sensu, cała odpowiedź znajduje się tutaj.

Unity ma tą przewagę nad SFML, że faktycznie będę mógł się zająć pisaniem gry bez tracenia czasu na pisanie wszystkiego w SFML (na co po prostu nie mam czasu). Oprócz tego pisze się w tym całkiem przyjemnie i intuicyjnie.

Jeżeli ktoś się martwi, że nie zna C#, to w przypadku pisania pod Unity wystarczy wiedzieć, że wszystkie obiekty są wskaźnikami (coś jak w Javie) i pewnie jeszcze z jakieś 2 drobnostki.

 

proj_platf_rpg


W zerowej części (tradycyjnie) zajmiemy się rozrysowaniem ogólnego szkicu tego co chcemy osiągnąć. Do tego celu ja wziąłem sobie kartkę A4 i narysowałem coś w rodzaju „mapy myśli” z hasłami głównymi oraz elementami składającymi się na te elementy.

Chcemy stworzyć projekt implementujący:

  • system pozwalający przypisać zasady wygranej do poziomu (np. aby wygrać zbierz 3 gwiazdki);
  • postacie (posiadające wspólne cechy np. poziom zdrowia, sterowanie): gracz, wrogowie (różne typy przeciwników);
  • elementy typowo platformówkowe:
    • specjalne bloki (drzwi na klucze, pułapki, zniszczalne elementy, obiekty interaktywne),
    • różne sposoby przemieszczania odblokowujące się po jakimś czasie (podwójne skoki, odbijanie się od ścian);
  • walkę;
  • elementy charakterystyczne dla gry RPG:
    • rozwój umiejętności (drzewko umiejętności),
    • handel,
    • postacie niezależne (NPC),
    • dialogi,
    • zadania do wykonania,
    • elementy wyposażenia.

Konkretne elementy omówimy sobie na dalszych częściach serii, nie chciałbym zbytnio przeciążać wstępu do serii zbędą ilością treści.

 

Zakończenie


Na koniec chciałbym podziękować wszystkim, którzy mają swój udział w tym że jednak ta seria powstaje, a także stałym bywalcom tego forum.

Jeżeli macie jakieś pytania, uwagi, sugestie to oczywiście zapraszam do komentarzy, do przeczytania w kolejnej części.

Code ON!


  • Szymon

    Takie platformówki pozytywnie kojarzą mi się z grą „Child of Light” :_) Kiedyś to się miało dużo czasu na granie w gry :_)
    Powodzenia w projekcie :)

  • Powodzenia w projekcie. Pozdrawiam