[1. Projektowanie gry]
Wstęp
Witam Cię w kolejnej lekcji kursu [Piszemy platformówkę 2D].
W tej lekcji wciąż nie napiszemy żadnego kodu, jednak zastanowimy się co właściwie chcemy osiągnąć. Przy małych produkcjach np game jam’owych planowanie ogranicza się do prostego szkicu o czym będzie gra, w przypadku większych dojdzie rozplanowanie głównych modułów.
Ta lekcja jedynie dotyka tematu projektowania gier (zachęcam cię do samodzielnego pogłębienia tego tematu), skupimy się wyłącznie na ogólnym rozrysowaniu rozgrywki, odpowiemy sobie także na kilka istotnych (z punktu widzenia kodu) pytań oraz zastanowimy się jak będzie wyglądał schemat klas w naszej grze.
Zestaw uniwersalnych pytań
Przy designie każdej gry warto zadać zestaw pytań, które mają na celu ułatwienia programiście/zespołowi pracy nad grą. Dzięki odpowiedziom na te pytania nie musimy wszystkiego wymyślać „na żywo”, uzyskamy także ogólny zarys gry, a przy samym pisaniu będziemy czuli się mniej „zagubieni”.
Odpowiedzi na te pytania powinny być niczym „kamienie węgielne” tzn stałe (constance), ponieważ ich zmiana będzie wiązała się ze zmianą sporej części kodu (czego oczywiście nie chcemy robić). Więc warto zastanowić się nad nimi chwilę, zgodnie z powiedzeniem:
Think twice, code once ~Bill Chapman
Wracając do meritum, pytania na które dobrze jest znać przynajmniej ogólną odpowiedź (kolejność przypadkowa):
- O czym jest gra? (klimat gry; ogólny zarys „fabularny” gry, nie chcemy gry o niczym, gra powinna trzymać się jednej ustalonej koncepcji)
- Jaki jest cel gry? (co gracz musi zrobić, żeby wygrać, przejść poziom)
- Jaka jest podstawowa mechanika i sterowanie?
- Czy w grze są jakieś przeszkadzajki/wrogowie? Jeżeli tak to jakie? (ogólny szkic zachowań wrogów, obiektów które mogą skrzywdzić gracza)
- Za co nagradzamy gracza?
Zazwyczaj tych pytań zadaje się więcej (np. o znajdźki, ekwipunek, otd.), jednak w naszym przypadku nie miałyby one znaczenia, a to dlatego że dążymy do prostej gry pozbawionej wielu elementów, które mogłyby zaciemnić obraz w tym kursie.
...
(Czytaj więcej)