Zarejestruj Zapomniałeś hasła?
Kurs RPG: Część 6
Dodany 20 maja 2009, 12:11 Odsłon 1559
Edytory Ocena
 (4 głosy)
Kategoria Silnik Poziom (Dla n0... początkujących)
Podążanie za fabułą i składanie w całość


Witam wszystkich

Jeśli śledziłeś ten kurs RPG od początku powinieneś być w stanie:

* opracować całą grę na papierze
* stworzyć silnik ruchu do swojej gry
* stworzyć silnik ekwipunku do swojej gry
* stworzyć system walki w stylu Final Fantasy dla swojej gry
* stworzyć interakcje z NPC opartą o tekst
* zdecydować o poziomie trudności zagadek logicznych dla swojej gry
* stworzyć ekran tworzenia postaci
* rozumieć PODSTAWY tworzenia gier dla wielu graczy

W okresie pisania poprzednich części kursu, opisałem wszystkie te aspekty z bardzo dużym naciskiem na szczegóły. Jednak jeśli śledziłeś kurs RPG od początku i jesteś w stanie zrobić wszystko co opisałem, to jesteś również w stanie stworzyć:
* warstwowanie z 90% efektywnością
* stworzyć silnik ruchu podążania za przywódcą
* stworzyć silnik ruchu w rzucie izometrycznym
* stworzyć silnik ruchu w rzucie z lotu ptaka
* pracować z plikami INI z łatwością (których nauczyłem się pisząc część 3)
* stworzyć silnik walki w stylu FF
* wiedzieć jak budować strukturę SI komputera
* znać pewne techniki matematyczne
* układać zdarzenia w logicznym porządku
* używać funkcji paragrafu w obiektach tekstowych
* dodawać opcje do rozmowy tekstowej
* używać przycisków radio (system tworzenia postaci)
* używać obiektów EDYCJI TEKTU (system tworzenia postaci)
* przenosić dane z jednej ramki/poziomu to następnego przy pomocy obiektu INI
* rozumieć jak TGF (i inne programy klikowe) działają

I Bóg wie co jeszcze opisałem przez te ostatnich kilka odcinków. Więc nie tylko nauczyłeś się jak tworzyć RPGa, ale także nauczyłeś się dużo o obsłudze i działaniu TGFa.

I teraz dochodzimy do końca mojego kursu RPG. To jest część 6 i zamierzam pokazać ci jak wszystko czego nauczyłeś się przez ostatnich kilka miesięcy połączyć w jedną grę. Nie tylko to, ale także pokażę kilka sztuczek działających z TGF i pokaże jak stworzyć opcję wczytania/zapisu w swojej grze, jak również jak stworzyć strukturę historii w waszych grach tak aby podążała tak jak to zaplanowałeś.

Mam tą całą wiedzę, lecz gdzie zacząć?

Więc, już wiesz jak stworzyć każdy aspekt swojego RPGa, ale gdzie zacząć budowę gry RPG? Wierz lub nie, ale zaczynasz znowu od papierkowej roboty. Tak, pamiętasz tą całą papierkową robotę którą robiłeś w pierwszej części tego kursu? Więc, odkop ją, weź długopis i jeszcze kilka kartek papieru. Masz ostatnie zadanie do zrobienia z swoją fabułą zanim zaczniesz prace w TGF.

Teraz, jeśli śledziłeś część pierwszą mojego kursu RPG, to powinieneś mieć opisaną całą historię zawartą w grze na papierze. Problem pojawia się kiedy chcesz aby gracz, podążał za tą historią. Jeśli umieścisz gracza na jednym końcu mapy, a głównego wroga na drugim, a resztę mapy wypełnisz miastami i ich mieszkańcami, nic nie powstrzymuje gracza od po biegnięcia prosto w dół, do głównego złego, aby go pokonać, i wygrać grę.

Ok, możesz stworzyć przeszkody które zmuszą gracza do zwiedzenia konkretnych miast w twojej grze, aby dostać się na drugi koniec mapy, ale co jeśli stworzyłeś bardzo szczegółową linię fabularną i chcesz aby gracz po niej podążał?

Final Fantasy VII

Czy kiedykolwiek grałeś w Final Fantasy VII? Jeśli tak, powinieneś zauważyć, że gra była bardzo liniowa. Ale ukrywała to bardzo dobrze, pozwalając graczowi podążać za fabułą, ale także wędrować gdziekolwiek chciał.

Przykład:

W jednym miejscu w grze, spędziłeś noc w Złotym Spodku, parku rozrywki. Liniowa fabuła podążała do tego abyś odkrył że Cait Seith jest zdrajczynią. Jednak, było to tak zakryte, że mogłeś zwiedzić cały park i się zabawić, zanim podążyłeś dalej drogą fabularną...

Ale co do ma do rzeczy z moim RPGiem?

Więc, jest to naprawdę prosto, zrób swojego RPGa wielkim i pełnym przygód poprzez stworzenie go liniowym.

Czekaj! Nie chcę tworzyć liniowego RPGa!

Więc, nie musisz. Widzisz, możesz zrobić liniową fabułę, ale może zawierać wiele wątków pobocznych, którymi gracz mógłby podążać podczas podróży przez twoją grę. To może spowodować, że gra będzie bardzo łatwa do stworzenia, pełna przygód i ogromna za jednym razem. Spójrzcie na ten diagram:



Podążaj za diagramem i nie wchodź ani do miasta, ani do podziemi. Zobaczysz, że jest prosta liniowa ścieżka prowadząca do końca gry. Jednak, są opcje wejścia do miasta i/lub podziemi które poszerzają obszar rozgrywki. Ale, wiem co myślicie, nie ma nic, co by mogło powstrzymać gracza przed podążeniem od razu do końca gry! Więc, aby do tego nie doszło, możesz spowodować, że podróż do miasta i/lub podziemi będzie konieczna. Na przykład, mógłbyś ją tak zmienić, że gracz nie może pokonać głównego złego bez magicznego pancerza do ochrony. To zmusza gracza do podróżowania do podziemi. A także możesz zrobić, że gracz nie potrzebuje, czaru leczącego z miasta, ale jeśli go będzie posiadał, pomoże on mu w podziemiach. I proszę bardzo; masz wolną rozgrywkę dla gracza która zawiera liniowy scenariusz.

Jeśli pomyślisz o tym, każda gra w którą kiedykolwiek grałeś, jest liniowa z jednej strony lub drugiej. Wszystkie zawierają fabułę prowadzącą do zakończenia w pewnym punkcie i pokonania konkretnego wroga. Wszystkie zawierają miejsca, których nie musisz odwiedzać, ale jeśli je odwiedzisz możesz znaleźć przedmioty i informacje które pomogą ci w twojej przygodzie. Wszystkie zawierają miejsca do których nie możesz wejść dopóki nie dojdziesz do konkretnego stadium rozwoju w grze. Wszystkie zawierają wrogów którzy wymagają konkretnego przedmiotu lub czaru albo porcji informacji aby ich zabić. Jedynym powodem dla którego nie wyglądają liniowo to, to ponieważ zawierają tak dużo pobocznych zadań i wątków, że są nie widoczne.

Ok. Więc liniowa fabuła jest drogą wyjścia. Ale jak napisać taką fabułę by nie była zbyt duża i zarazem nie wyglądała liniowo dla gracza?

Spójrz na historię którą napisałeś na papierze którą gracz miał podążać w twoim RPG. Teraz, jak ją przeczytałeś, wybierz najkrótszą i najszybsza drogę do końca swojej historii. Zignoruj wszystkie możliwe zadania poboczne i miasta, i podziemia które gracz może zwiedzić. Po prostu przeczytaj ją i zobacz jak szybko gracz może ukończyć główny wątek fabularny.

Czy był długi? Założę się, że nie był. Więc co z tym zrobisz? Spójrz na wszystkie zadania poboczne które dodałeś do swojej gry, jak również na wszystkie swoje miasta i podziemia które masz w swojej grze a do których gracz nie musi wchodzić, aby dojść do końca twojej gry. Teraz spytaj się siebie "Jak mogę dodać zadania poboczne które poszerzą rozgrywkę?".

I pozwól zaszaleć swojej wyobraźni! Na przykład, możesz zrobić tak, że potrzebujesz konkretnego przedmiotu aby przejść strażnika. Po wywalczeniu sobie drogi przez podziemia, gracz zdobywa potrzebny przedmiot. Kiedy podąża do strażnika, zostaje zaatakowany przez gigantycznego ptaka, który zamierza ukraść przedmiot i zabrać go do swojego gniazda. Co mu się udaje. Gracz odwiedza miasto i dowiaduje się, że gniazdo tego ptaka znajduje się na szczycie wysokiej góry. Gracz walczy całą drogę do szczytu góry, gdzie poskramia ptaka i odzyskuje przedmiot. Jednak, również w gnieździe znajduje informacje, że znajduje się wielki skarb w kanionie znajdującym się na południe od gracza.

Tutaj, gracz musi wyruszyć do miasta, aby dowiedzieć się gdzie znajduje się ptak. Potem musi wyruszyć do góry. Ale po odzyskaniu przedmiotu, dowiaduje się także o zadaniu pobocznym w kanionie którego nie musi robić, ale jeśli zrobi, może zdobyć coś.

Widzisz? Twoja historia się poszerzyła i oferuje o wiele więcej dodatkowej rozgrywki i zadań pobocznych. Nie rób tak aby każde zadanie poboczne było konieczne do wykonania. To spowoduje, że twoja gra będzie zbyt liniowa. Ale poprzez oferowanie ich graczowi, on sam może zdecydować czy chce w nich wziąć udział czy nie. To urozmaica twoją historię.

Kiedy już jesteś zadowolony z długości swojej historii, jesteś już prawie gotowy do rozpoczęcia prac w TGF. Została już tylko jedna rzecz do zrobienia w papierkowej robocie i jest to prawdopodobnie najważniejsza rzecz jaką zrobisz tworząc swoją grę.

Ponumerować swoją opowieść

Teraz już masz wszystko czego potrzebujesz do rozpoczęcia prac nad swoim RPG. Masz swoją fabułę; całą z niezbędnymi pobocznymi zadaniami i opcjonalnymi pobocznymi zadaniami0, swoje postacie, przedmioty, lokacje, wiesz jak stworzyć ruch, ekwipunek, system walki, ekran tworzenia postaci, interakcje z NPC, itd. Ale jedna ostatnia rzecz pozostaje ci w głowie; jak zrobić aby twoja historia była rozwiązywana w TGF tak jak ją zaplanowałeś na papierze? Mam na myśli, weź nasz przykład pokazany wcześniej... Jak zrobić aby gracz odwiedził miasto i dowiedział się, że ptak żyje w na szczycie góry zamiast po prostu wyruszyć do góry? Musisz ponumerować całą swoją fabułę.

Co to oznacza?

Musisz zrobić listę całej swojej gry. Na przykład, kiedy wracasz do domu, podłączasz swojego peceta, włączasz komputer i zaczynasz prace. Jako lista będzie to wyglądać tak:

1> Podłączenie komputera
2> Włączenie komputera
3> Rozpoczęcie pracy
Nie możesz zrobić ich w kolejności 1, 3 i 2. Musisz to zrobić w tej jednej konkretnej kolejności. Aby rozwiązywać twojego RPGa w takiej kolejności w jakiej go zaplanowałeś, musisz zrobić listę wszystkiego, tak jak ja to zrobiłem przed chwilą.

Poczekaj chwilę! Wylistować całego mojego RPGa!!! Przecież to ogromna praca!!!

Tak, może być, jednak jest to najłatwiejsza droga aby zrobić RPGa w taki sposób aby rozegrać go tak jak to sobie zaplanowaliśmy. Są dwie metody na zrobienie tej roboty, zrobić ją zanim zaczniesz tworzyć RPGa w TGF, albo zrobić to kiedy robisz swojego RPGa. Ja zazwyczaj korzystam z pierwszej opcji jest łatwiejsza do zrobienia, ale nie ma nic co by powstrzymywało cię od skorzystania z drugiego wariantu. Po prostu strzeż się, że możesz stanąć przed problemami później w grze kiedy będziesz zdezorientowany lub źle wpiszesz numer albo zapomnisz o jakimś.

Zapomnij o tym PAUL! Mówisz o przeogromnej pracy zanim nawet włączę swojego PeCeta! Ta praca zajmuje zbyt wiele czasu! Użyję innej metody zrobienia mojego RPGa tak jak mnie się podoba.

Nic w tym złego. Są inne metody poustawiania tego w TGF. Możesz powstrzymać gracza przed podróżą w góry dopóki nie kupi liny z miasta. Ale to znaczy, że zawsze będziesz musiał ekwipować gracza w przedmiot który pozwoli mu iść w nowe miejsce. Wylistowanie swojego RPGa od początku do końca jest najłatwiejszą metodą zrobienia gry. Nauczyłem się tego po latach tworzenia I teraz używam listowania, nie tylko w RPGach ale także w wielu innych moich grach, włączając w to platformówki, przygodówki, strzelanki, samochodówki itd.

Ale rozumiem to. Patrzysz na swoją fabułę i widzisz w swoim umyśle około 4000+ przedmiotów do wylistowania. Ale nie musi być to 4000+ linijek. Może to być tylko 10+ linijek.

Nie ma mowy!!! Mój RPG jest rozpisany na wiele kartek. To zajmie więcej niż 10+ linii!

Nie koniecznie. Spójrzmy po raz kolejny na mały przykład.

Gracz podnosi przedmiot aby przejść strażnika.
SET COUNTER TO 1

Gigantyczny ptak kradnie przedmiot od gracza.
SET COUNTER TO 2

Gracz dochodzi do gór i counter = 2.
Gracz mówi "Nie jestem wstanie wspiąć się po tej górze.".

Gracz wchodzi do miasta. Dowiaduje się, że ptak żyje na górze.
SET COUNTER TO 3

Gracz kupuje zapasy.

Gracz dochodzi do gór i counter = 3.
Gracz wspina się na górę i pokonuje ptaka. Ustaw licznik na 4.

Ta cała historia, została rozpisana w około 4 linijkach listy. Nie musisz robić listy wszystkiego co gracz robi, ale tylko najważniejsze rzeczy które popchną fabułę do przodu.

A co jeśli chce mieć wiele ścieżek w mojej fabule?

Żaden problem. Po prostu zacznij nową listę. Na przykład; jeśli gracz zniszczy kamień w podziemiach, możesz ustawić counter 2 na 1. Wtedy na górze, jeśli counter 2 = 1, Kamienny Golem atakuje gracza, bo tamten kamień tak naprawdę był jajem golema.

Jak utrzymywać oko na tych licznikach listy w mojej grze?

Są dwie metody aby to zrobić, użyć pliku INI albo globalnych liczników w TGF. Oba mają swoje dobre punkty i złe punkty. Z INI, możesz zachować niezliczoną ilość liczników, jednak, będzie trudniej nimi operować. Z globalnymi licznikami, masz ograniczenie do 16 ale jest o wiele łatwiej na nich operować.

Moja radą jest aby użyć liczników globalnych. Są łatwe do operowania, wymagają mniej kodowania, i jest mało prawdopodobne, że kiedykolwiek będziesz potrzebował więcej niż 16 list jednocześnie. Pamiętaj kiedy jedna lista się skończy możesz ją nadpisać i użyć do czegoś innego.

Ok PAUL, zaczynam rozumieć i widzieć logikę w tworzeniu listy. Jednak, by się przydał jakiś przykład, na który mógłbym spojrzeć i przestudiować w własnym zakresie.

Nie ma problemu. W tym archiwum do ściągnięcia, znajdziesz mały podstawowy plik stworzony w TGF i plik tekstowy zawierający listę liczników dla gry. Zajrzyj do nich obu i zobaczysz jak są użyte.

Ściągnij kurs listy zadań (dostępny na moim portfolio - dop. Fanotherpg)

Rozumiem, co masz na myśli. W porządku zrobiłem moją listę, mogę ją teraz wczytać do TGFa?

Tak. Jesteś teraz gotów rozpocząć pracę na PC.

Gdzie zacząć?

Gdziekolwiek chcesz! Masz wszystkie narzędzia, i całą wiedzę i teraz nic nie powinno cię zatrzymać. Ok., może mógłbyś zacząć od głównego menu, trochę tekstu, może grafika czy dwie, parę przycisków; Nie zamierzam opisywać tu jak zrobić menu. Nie powinno to być zbyt trudne, by złożyć jedno z drugim w całość.

Czekaj! Właśnie sobie zdałem sprawę, że moja gra jest bardzo duża! Wątpię aby gracz mógł przejść ją za jednym podejściem. Jak to obejść?

Są trzy metody aby stawić czoło temu problemowi.

1> Tak zmienić swoją grę aby była wystarczająco mała aby ukończyć ją za jednym podejściem. Nie za bardzo dobra opcja.

2> Jeśli, twoja gra rozgrywana jest w rozdziałach, to możesz dodać system haseł z łatwością na końcu każdego rozdziału, co by oznaczało, że gracz musi podczas sesji zaliczyć tylko 1 rozdział. Bardzo łatwe do zaimplementowania.

3> Stworzyć silnik wczytywania/zapisywania. Łatwe do zaimplementowania, zależnie od tego jak to zaplanujesz.

Silnik odczytu/zapisu

Są dwie metody zaimplementowania systemu odczytu/zapisu w twojej grze.

Zapis gdziekolwiek

Ten system pozwoli graczowi, zapisywać swoją pozycję i statystyki w grze w każdej chwili. Mimo, że ten system pozwoli zapisać graczowi grę i odejść od komputera w każdej chwili, jest on najtrudniejszy do stworzenia. Pozwalając graczowi zapisać, gdziekolwiek chce, wymaga od ciebie zapisania informacji i stworzenia kodu w każdej lokacji w twojej grze. Jeśli jesteś pewien, że będziesz chciał wykonać tą pracę zaimplementuj ten system. Ale zostałeś ostrzeżony, ten system wymaga o wiele więcej czasu aby był w pełni sukcesywny.

Punkty zapisu

Teraz jest to system zapisu w sam raz do gier. Nie tylko powstrzyma gracza przed zapisywaniem zanim wejdzie do nieznanego miejsca, ale również doda wyzwania do twojej gry. I jest o wiele łatwiejszy do zaprogramowania, niż opcja systemu "zapis wszędzie".

System z punktami zapisu, jest tym który zamierzam tutaj opisać, jednak jeśli chcesz zrobić opcje zapisu w każdym miejscu, system jest ten sam ale wymaga więcej kodowania. Zostałeś ostrzeżony!

Tworzenie silnika zapisu

System odczytu/zapisu jest tworzony przy pomocy obiektu INI. Musisz mieć dobrą wiedzę na temat tego obiektu, mimo, że go opisywałem szczegółowo przez cały kurs a zwłaszcza w części 3 mówiącej o silniku ekwipunku.

Kiedy tworzysz system odczytu/zapisu, musisz go najpierw bardzo dokładnie rozplanować. Zrobienie jednego błędu w jakikolwiek miejscu gdzie pozwolisz graczowi zapisywać (powiedzmy zapomnienie dodania jednego kawałka informacji do zapisu) i cały system będzie nieskuteczny.

Zanim zaczniesz implementować system odczytu/zapisu w swojej grze, powinieneś, zrobić przerwę od kodowania, wyłączyć komputer, wziąć całą swoją papierkową robotę, długopis i opracować cały system najpierw na papierze. Co musisz zrobić to dobrze się przyjrzeć swojej grze i wynotować które informacje są ważne dla twojego systemu odczytu/zapisu. Twoja lista może zawierać coś jak to:

* pozycja gracza na planszy
* numer ramki w której jest gracz
* punkty życia/magii/doświadczenia gracza
* zawartość ekwipunku
* wartość liczników (wyjaśnione powyżej)
I jakiekolwiek inne informacje których używasz i które są potrzebne. Opcje odczytu/zapisu działają w bardzo podobny sposób jak silniki pokazane w systemie ekwipunku i tworzenia postaci które zostały opisane w 3 i 5 części tego kursu.

QUEST
I tak powoli dochodzimy do końca mojego kursu RPG. Ale co z QUESTem; grą która była oparta na tym całym kursie? Więc po bardzo poważnych problemach z plikiem jest nareszcie skończona. I oto ona.

Ściągnij grę Quest (dostępna na moim portfolio - dop. Fanotherpg)

Ta mała gra pokaże ci jak wszystko opisane w moim kursie RPG pasuje do siebie i działają jako jedna gra. Nie jest to duża gra, albo graficznie zaawansowana, ale nie tego chcieliście. Jedyne co musicie widzieć, to jak wszystko pasuje do siebie, i to jest to co ta gra prezentuje.

Podsumowanie

I tak doszliśmy do końca mojego kursu RPG. Z wszystkim co opisałem, powinieneś być w stanie stworzyć w całość pełnoprawnego RPGa. Rozpocząłem od podstaw budowy fabuły, poprzez działający system walki w stylu Final Fantasy łącząc je razem ostatecznie w pełni funkcjonalną grę. Jedyną rzeczą która pozostała to wziąć wszystko czego się nauczyłeś i dodać do tego nieco swojej wyobraźni by stworzyć własną grę...

Mam nadzieję, że mój kurs RPG był pomocny. Nie zwracając uwagi na to, że straciłem pliki QUESTa i musiałem je odtwarzać, budowa tego kursu przysporzyła mi wiele zabawy. Oczywiście, jeśli masz jakieś pytania wyślij mi email na adres:

pkb@iol.ie (piszcie po angielsku)

Postaram się dołożyć starań by wam pomóc. A teraz, jeśli mi wybaczycie, ale okropnie potrzebuje wakacji.


P.S.

Cały kurs został napisany przez Paula Bolanda z for Clickteamu i został przetłumaczony i umieszczony na Fabryce Gier przeze mnie za wiedzą i zgodą autora.

Pozostałe części kursu:

Pierwsza - Papierkowa Robota
Druga - Jaka grafika?
Trzecia - Nasz ekwipunek
Czwarta - Silnik walki w stylu Final Fantasy
Piąta - Coś o postaciach, rozmowach, zagadkach i multi
Ostatnio edytowane 20 maja 2009, 12:21 przez Fanotherpg
Komentarze
mardox10 @ 11 lutego 2010, 21:33
dzięki bardzo za kurs! pozdro!;)
Nastion @ 21 czerwca 2009, 13:00
Świetny kurs! Wiem, że to tylko tłumaczenie, ale dla mnie to i tak wiele. Dzięki bardzo za profesjonalne wykonanie! :)
Dodaj komentarz
Kolor:   Rozmiar:

Twoja ocena
^ Do góry
© 2009 - 2012 Fabryka Gier. Publikowanie materiałów tylko za zgodą autorów.
Realizacja: Maciej Lamberski *-: