Lekcja 19 – Input gracza

Dzisiejsza lekcja znowu ma charakter głównie teoretyczny, ale jej prawidłowe przyswojenie pozwoli Wam znacząco uatrakcyjnić swoje projekty, dlatego proszę o pełne skupienie.

Przez input gracza rozumiem wszystkie dane, które gracz może „przekazać” programowi. Dobrze skonstruowany projekt powinien w sposób możliwie szeroki reagować na poczynania gracza. To w końcu gra, czyli przede wszystkim możliwość sprawdzenia swoich umiejętności w zmaganiach z programem komputerowym.

Show Choices

Podczas ostatniej lekcji stworzyliśmy gospodę, w której gracz mógł wybrać, czy chce zapłacić X złota za nocleg swojej drużyny. W celu umożliwienia podjęcia decyzji skorzystaliśmy z komendy Show Choices znajdującej się na pierwsze stronie eventu. Przyjrzyjmy się bliżej temu okienku.

Po lewej wpisujemy treść wiadomości, która pojawi się w okienku tekstowym gry jako wybór. Po prawej natomiast ustalamy, co ma się dziać w przypadku wciśnięcia przez gracza przycisku Cancel (np. ESC). Disallow sprawia, że gracz musi dokonać jakiegoś wyboru. Wybranie jednej z opcji Choice sprawi, że gra zachowa się tak, jakby gracz dokonał tego konkretnego wyboru (opcja często stosowana w przypadku prostych decyzji TAK – NIE). Branch to taka jakby opcja ELSE dla wyboru.

Show choices posiada jedną ciekawą opcję, o której mało kto pamięta. Jeśli przed tą komendą wyświetlić jakąś wiadomość komendą Show Text i zostanie Wam odpowiednio dużo miejsca, opcje do wyboru pojawią się w tym samym okienku zaraz pod tą wiadomością! Żeby jednak tak się stało, pomiędzy komendą Show Text a Show Choices nie może znajdować się żadna inna.

Input number

Następna komenda, która umożliwia nam przechwytywanie danych od gracza to Input number znajdujące się zaraz pod Show Choices.

W polu Digits ustalamy, jak długą (dużą) liczbę gracz ma wpisać, a w Variable – zmienną, do której zostanie zapisany wynik. Komenda ta jest często stosowana w zagadkach, których odpowiedzią jest konkretna liczba.

Imię bohatera

Trzecią komendą poświęconą wyłącznie odbieraniu danych od gracza jest Name Input Processing. Umożliwia ona wpisanie własnego imienia dla postaci znajdującej się w bazie danych na podobnej zasadzie, jak robiło się w grach konsolowych.

Z listy Actor wybieramy interesującą nas postać, Initial Entry Mode pokazuje, jaki zestaw znaków gracz zobaczy na początku (może to później zmienić), a zaznaczenie Show Default Name sprawi, że na ekranie wyboru pojawi się wcześniej przygotowane już przez nas imię.

Pamiętacie, jak specjalną komendą wyświetlaliśmy wartość zmiennej w wiadomości tekstowej? To samo można zrobić z imieniem bohatera, korzystając ze wzoru \n[X], gdzie X to numer bohatera w bazie danych.

Naturalny i sztuczny input

Tworząc grę należy pamiętać, że dane wejściowe nasz gracz przekazuje nie tylko wtedy, gdy wywołamy jedną z omówionych wyżej komend. Każde poruszenie bohatera, każda próba rozmowy z NPC-em czy każda podjęta w walce decyzja są, de facto, inputem i można jakoś na niego reagować.

RPG Maker zawiera jeszcze jedną komendę, która przeznaczona jest jednak tylko dla doświadczonych twórców.

Jak sama nazwa wskazuje, Key Input Processing służy do sprawdzania, czy gracz wcisnął konkretny przycisk z listy wymienionej wyżej. Używa się tego najczęściej konstruując własne systemy (menu, walki) lub uniemożliwiając graczowi korzystanie z konkretnych klawiszy, czego może wymagać np. minigierka. Więcej o tej komendzie dowiecie się z powstającego tutoriala poświęconego CMS-om.

Po co przejmować się inputem

Gdyby rozłożyć grę komputerową na czynniki pierwsze, na samym jej podstawowym, prawie filozoficznym poziomie, będzie gracz przekazujący pewne dane programowi komputerowemu i reakcja na nie programu. Do tego sprowadza się techniczny aspekt gier, na którym można budować większą gamę doznań.

Dlatego warto świadomie podchodzić do tematu inputu w naszej grze. Wprowadzenie opcji dialogowych sprawi, że odbiorca projektu będzie czuł większa siłę sprawczą w związku z tym, co dzieje się na ekranie. Wpisywanie liczb to świetny element warsztatu z minigierkami, podobnie jak wpisywanie imienia postaci, która, mała podpowiedź, wcale nie musi być przecież grywalnym członkiem drużyny.

Co stoi na przeszkodzie, żeby różne elementy otoczenia reagowały na to, gdy gracz do nich podejdzie? Niech jeden z NPC-ów mówi coś do bohatera zawsze wtedy, gdy ten odwróci się do niego plecami. Nagrodźmy (lub ukarzmy) gracza, gdy ten zacznie pchać się tam, gdzie nie powinien.

Gdy w ten sposób zaczniecie podchodzić do robienia gier, światy będące Waszym dziełem nabiorą zupełnie nowych barw.

Michał „Michu” Wysocki

Dodaj komentarz

This site uses Akismet to reduce spam. Learn how your comment data is processed.