piątek, 24 lutego 2017

Reguły formalne - wstęp

Cześć wszystkim!

Dzisiaj opiszę pierwsze kroki stawiane przy powstawaniu nowej gry. Nazwijmy ją roboczo "Przywoływacze".

Najwięcej będzie o decyzjach. Praca projektanta gier do w znacznej większości podejmowanie większych i mniejszych decyzji. W toku tworzenia gry są ich setki, a nawet tysiące, od decyzji rzędu grafika 3D czy 2D lub rozgrywka turowa czy w czasie rzeczywistym, aż po pozornie mało znaczące, jak chociażby pauzowanie gry podczas włączania okna ekwipunku.

Na początku skupmy się na najbardziej podstawowych zasadach powstającej gry, tzw. regułach formalnych. W przypadku Przywoływaczy mogłyby wyglądać następująco:
  • Celem gry jest pokonanie wszystkich przeciwników.
  • Pobocznym celem gry jest zdobycie wszystkich dostępnych jednostek i ich rozwijanie.
  • Rozgrywka dzieli się na eksplorację oraz walkę.
  • Podczas eksploracji rozgrywka toczy się w czasie rzeczywistym.
  • Podczas walki rozgrywka toczy się w trybie turowym.
  • Gracz toczy walkę dowodząc posiadanymi przez siebie jednostkami.
  • W jednej bitwie jednocześnie może brać udział kilka jednostek.
  • Jednostki podczas walki zdobywają doświadczenie.
  • Zdobycie pewnej ilości doświadczenia przez jednostkę pozwala jej ewoluować.
  • Podczas rozgrywki gracz zdobywa kolejne jednostki.
Jak widać tych dziesięć zdań pozwala nam już całkiem nieźle wyobrazić sobie tworzoną grę. Jednak każda z podjętych do tej pory decyzji rodzi kolejne. Przyjrzyjmy się dokładniej jednej z reguł:
  • W jednej bitwie jednocześnie może brać udział kilka jednostek.
Ile jednostek jednocześnie? Czy będą mogły się poruszać po polu walki czy tylko atakować? Czy będą ustawione w formacje? Jeśli tak to w jakie? Ile ich będzie? Czy gracz będzie mógł wybrać formację? Jeśli tak to kiedy? Jaki wpływ będzie miało miejsce w formacji na jednostkę? Czy jednostki wpływają na siebie nawzajem? Czy miejsce w formacji będzie ją jakoś ograniczać? I tak to leci dalej. Dopiero się rozkręcam ;)

Dużo tych pytań, prawda? A to dopiero mały kawałek jednej bardzo ogólnej reguły. Ilość decyzji rośnie wykładniczo, a każda z nich może mieć znaczący wpływ na fajność tworzonej gry. Zwłaszcza, jeśli będzie nieprzemyślana.

Mamy już ogólny zarys Przywoływaczy. Są dwa popularne podejścia co robić dalej z projektem. 

W jednym z nich, tzw. kaskadowym zajęlibyśmy się dopieszczaniem szczegółów projektu, czyli odpowiedzieli na te wszystkie przykładowe pytania powyżej i jeszcze wiele kolejnych. Dopiero mając gotowy projekt całości wzięlibyśmy się za zaprogramowanie tego wszystkiego. Jest to dobre podejście, gdy wiemy, że decyzje są słuszne i nie spodziewamy się zmian w projekcie. To niestety w praktyce zdarza się ekstremalnie rzadko.

Stąd też powstało drugie podejście, tzw. zwinne. W tym przypadku mając podstawową wizję tworzymy kawałek naszej gry i sprawdzamy, czy podjęte przez nas decyzje sprawdzają się w praktyce. Może się zdarzyć, że popełnimy błędy, których uniknęlibyśmy poświęcając więcej czasu na planowanie, jak w pierwszym podejściu. Z drugiej strony w tym przypadku jesteśmy w stanie znacznie lepiej radzić sobie z rzeczami, których nie byliśmy w stanie przewidzieć na początku. pozwalamy sobie na błędy, ale czerpiemy z nich naukę i osiągamy większą elastyczność. 

Ten projekt będzie powstawał w drugi z opisanych sposobów.

W następnej notce opiszę powstawanie pierwszej funkcjonalności w Przywoływaczach - eksploracji.

Jakie gry przyszły wam do głowy po przeczytaniu reguł powyżej?

Dzięki za lekturę!

poniedziałek, 13 lutego 2017

Kilka słów na początek

Cześć wszystkim!

Nazywam się Wojtek i założyłem tego bloga przy okazji inicjatywy Daj się poznać 2017. Zdecydowałem się na udział z kilku powodów:
  • Podobno prowadzenie bloga o programowaniu pomaga zostać lepszym programistą. Cóż, warto spróbować. Lubię być coraz lepszy w tym co robię.
  • Prowadząc projekt publicznie można się wiele nauczyć. Lubię zdobywać wiedzę.
  • Może moje wypociny będą mogły komuś pomóc. Mi teksty innych programistów bardzo pomogły, jak zaczynałem przygodę z tym zajęciem.
  • W głowie siedzi mi projekt, który chciałbym od dłuższego czasu wykonać.
To jak już przy tym jesteśmy skrobnę kilka słów o projekcie, którym będę się zajmował w ramach Daj się poznać 2017.

Od dawna marzy mi się zagranie w grę RPG ze znaczącymi elementami strategicznymi, taktycznymi i kolekcjonerskimi. W grze sterowalibyśmy magiem, który podczas walki dowodziłby oddziałem przyzwanych istot. Różnorodność dostępnych stworków poszerzalibyśmy podróżując po nowych krainach, rozwijając już posiadane czy może nawet mieszając je ze sobą.

Może jeszcze kilka słów w porównaniu do już istniejących tytułów. 

Pokemony - Tak, w tych grach mamy dużo eksploracji, zbierania stworków, walki między nimi - super. Gra się bardzo przyjemnie, jednak na dłuższą metę męczyły mnie niewielkie możliwości taktyczne oferowane podczas walki. I w zasadzie każdą można było wygrać czysto siłowo. Meh, to nie jest to, co tygryski lubią najbardziej.

Disciples I i II - Jest podróżowanie, prowadzenie walk i rozwijanie żołnierzy - super. Tylko dlaczego każda jednostka ma tylko jeden rodzaj ataku? Wiele godzin spędziłem przy tych produkcjach, ale za każdym razem pod koniec byłem już z deczko zmęczony powtarzalnością.

Avengers Alliance 1 - świetna gierka taktyczna, ogrom dostępnych bohaterów do zdobycia, każdy z indywidualnymi umiejętnościami, można było stworzyć świetną drużynę na naprawdę niezliczoną ilość sposobów. Największą wadą tej gry było jej przeznaczenie na portal facebook i przez to nastawienie na mikropłatności i krótkie rozgrywki.

Multum gierek mobilnych pasuje do przedstawionego wyżej opisu, jednak wszystkie są one... gierkami mobilnymi, ze wszystkimi tego stanu rzeczy konsekwencjami. Niestety, wszystkie mechanizmy w grze zaprojektowane tak, by generować kolejne transakcje, zamiast dawać maksymalną frajdę z rozgrywki - to jest zupełne przeciwieństwo tego, co chciałbym zrobić.

Co jeszcze mogłoby Was zainteresować odnośnie tego projektu? No tak, technologia. Będę pracował nad tym projektem korzystając z silnika Unity i języka C#. 

Tak, wiem, że gra RPG jest ogromnym przedsięwzięciem, dlatego będę ją tworzył po małym kawałeczku. Myślę, że kilka z tych fragmentów powstanie w ramach wspomnianej już akcji.

Chcielibyście zagrać w taką grę? Zapraszam do komentowania!

Tyle na dzisiaj, dzięki za przeczytanie pierwszego wpisu!

Trzymajcie się!

PS. Gdyby ktoś się zastanawiał, skąd tytuł bloga - otóż, poza projektowaniem i programowaniem gier zajmowałem się już bardzo różnorodnymi rzeczami - pisałem opowiadania, rysowałem, wypalałem w drewnie, tworzyłem rzeczy ze skóry, tańczyłem w zespole tańców dawnych, walczyłem na miecze, strzelałem z łuku, grałem i pisałem larpy i wiele, wiele innych. Może i o tych rzeczach naskrobię tu kiedyś kilka słów.