Prosty przykład
Historia opowiada o podróży. Plusem obok Chapters utwórz Arrival, a przez Add scene dodaj At the gate i At the inn. Otwórz scenę, aby zbudować rozmowę. Kolejność na liście nie łączy rozmów: to Ty określasz przejścia między nimi.
Początek sceny to jej domyślne miejsce rozpoczęcia. Nazwane wejścia pozwalają przejść do innych miejsc w scenie. Strzałka obok Odtwórz historię pozwala rozpocząć test od wybranego wejścia.
Pierwszy węzeł utworzony lub wklejony do pustej sceny staje się jej początkiem. Możesz przenieść początek na inny węzeł. Usuń wejście usuwa tylko dodatkowe wejście, nie sam węzeł.
Characters, Variables i Game actions mają listę z wyszukiwaniem po lewej i szczegóły po prawej. Wybierz wpis, aby go edytować. Wyszukiwanie postaci obejmuje także nazwy grup i grup nadrzędnych. Trzy ikony przełączają porządek alfabetyczny, grupy nadrzędne (domyślne) i grupy postaci. Licznik znajduje się pod listą.
Twórz historię krok po kroku. Opis każdego narzędzia zaczyna się od prostej sytuacji, a następnie pokazuje zastosowanie w projekcie przykładowym. Menu pozwala przejść od razu do wybranego narzędzia.
Nazwy elementów sterujących odpowiadają angielskiemu interfejsowi. Nazwy takie jak Welcome i Received należą do projektu przykładowego. The Harbour Key: pobierz i wypróbuj
Przeciągnij rozdział na nowe miejsce w panelu bocznym. Przeciągnij scenę przed inną scenę lub za nią; jasna linia wskazuje miejsce wstawienia. Upuść scenę na rozdziale, aby dodać ją na jego końcu, nawet jeśli jest zwinięty. Możesz też kliknąć uchwyt przenoszenia rozdziału lub sceny i wybrać miejsce docelowe oraz pozycję. Undo cofa przeniesienie, a Save zachowuje kolejność. Porządkujesz w ten sposób projekt bez zmiany połączeń ani logiki gry.
Wybierz scenę w panelu bocznym lub kliknij nazwę rozdziału. Trzy kropki i uchwyt przenoszenia pojawiają się przy aktywnych wierszach oraz po najechaniu na inny wiersz. Trzy kropki otwierają bezpośrednio edycję. Zmienisz tu nazwę lub grafikę rozdziału; dostępne jest też usuwanie. Delete scene usuwa scenę, jej węzły i punkty wejścia. Delete chapter usuwa także wszystkie sceny w rozdziale. Każde usunięcie wymaga potwierdzenia z nazwą, a dla rozdziału — dokładną liczbą scen. Anulowanie niczego nie zmienia.
Potwierdzenie pokazuje także powiązane przejścia, wywołania pobocznych sekwencji i profile eksportu. Przejścia z innych scen pozostają, ale trzeba później wskazać im nowy cel. Profile eksportu bez punktów wejścia są usuwane. Wspólne teksty, obrazy, postacie i zasoby pozostają. Undo przywraca usuniętą treść razem z odwołaniami. Zapisz wersję, którą chcesz zachować.
Rozdziały porządkują historię. Scena zawiera połączony przebieg rozmowy.
Historia opowiada o podróży. Plusem obok Chapters utwórz Arrival, a przez Add scene dodaj At the gate i At the inn. Otwórz scenę, aby zbudować rozmowę. Kolejność na liście nie łączy rozmów: to Ty określasz przejścia między nimi.
Otwórz Harbour, gdzie zaczyna się rozmowa z Mirą. Mira’s request zawiera jej krótką prośbę, a Warehouse — rozmowę przy magazynie. Wyszukaj Warehouse po lewej, aby otworzyć tę scenę.
Otwórz projekt przykładowy i instrukcję krok po kroku →Obszar roboczy przedstawia historię jako połączone bloki, czyli węzły. Linie pokazują, co następuje po każdym kroku.
Utwórz dwa dialogi: „Cześć!” i „Dobrze cię widzieć”. Kliknij Next po prawej stronie pierwszego, a następnie wejście po lewej stronie drugiego. Linia pokazuje teraz, że druga wypowiedź następuje po pierwszej. Przeciągaj tło, aby przesuwać widok.
Otwórz Harbour i użyj lupy na pasku bloków, aby wyszukać Welcome. Wybierz wynik. VNLE wyśrodkuje powitanie na obszarze roboczym. Podążaj za połączeniami, aby poznać rozmowę z Mirą.
Otwórz projekt przykładowy i instrukcję krok po kroku →Dialog pokazuje wypowiedź lub narrację. Możesz przypisać postać i wyraz twarzy.
Strażnik ma powiedzieć: „Brama zamyka się o zachodzie słońca”. Wybierz Dialog, wpisz zdanie i wybierz mówiącą postać. Połącz następny krok z końcem. Dla dialogu wybierz Ustaw początek sceny, a następnie Odtwórz historię, aby przeczytać pierwszą kwestię.
W Welcome mówi Mira. Później Your remaining gold wyświetla pieniądze przez znacznik powiązany z Gold. Po udanym zakupie pokazuje 5 zamiast 10. Sama liczba wpisana w tekst nie aktualizowałaby się automatycznie.
Otwórz projekt przykładowy i instrukcję krok po kroku →Wybór pokazuje kilka odpowiedzi dla gracza. Każda odpowiedź może prowadzić do innej części historii.
Strażnik pyta: „Dokąd chcesz iść?”. Utwórz Choice z odpowiedziami „Na rynek” i „Do gospody”. Połącz każdą z osobnym dialogiem. Podczas gry ścieżkę wybiera gracz. Odpowiedź bez połączenia nie pozwoli przejść dalej.
Otwórz Choose a reply. Jedna odpowiedź prowadzi do zakupu, druga do pożegnania. Przejdź obie ścieżki. Odpowiedzi mogą mieć warunki; określ też, co ma się stać, gdy żadna nie jest dostępna.
Otwórz projekt przykładowy i instrukcję krok po kroku →Warunek sprawdza wartość i automatycznie wybiera ścieżkę Yes lub No. Na przykład: czy gracz ma wystarczająco dużo złota?
Przewoźnik żąda trzech monet. W Variables utwórz zmienną liczbową Coins. Dodaj Condition sprawdzający, czy Coins wynosi co najmniej 3. Połącz Yes z „Wejdź na pokład!”, a No z „Potrzebujesz więcej pieniędzy”. Ścieżka wybierana jest automatycznie. Sam warunek nie odejmuje monet.
Enough gold? sprawdza Gold ≥ 5. Yes prowadzi do Pay five gold, a No do Not enough gold. Przetestuj oba połączenia, zaczynając z 10 i z 2 sztukami złota.
Otwórz projekt przykładowy i instrukcję krok po kroku →Ten blok zmienia zapisaną wartość. Może np. odjąć złoto albo zapamiętać przyjęcie zadania.
Gracz przekonał strażnika. W Variables utwórz zmienną logiczną GateOpen z początkową wartością false. Wybierz More blocks → Change variable, wskaż GateOpen i ustaw true. Połącz Next z kolejnym dialogiem. Późniejszy Condition może użyć tej zmiennej. Sama zmiana nie wyświetla dodatkowej wypowiedzi.
Pay five gold odejmuje 5 od Gold i zapisuje przyjęcie zadania w QuestAccepted. Później Remember the key ustawia HasKey na true. Jeśli przekazanie klucza się nie powiedzie, Refund the payment zwraca pieniądze. Zakup powinien zostać uznany za udany dopiero po przekazaniu klucza.
Otwórz projekt przykładowy i instrukcję krok po kroku →Akcja gry prosi Twoją grę o wykonanie czynności, np. wydanie przedmiotu. Rozmowa czeka na odpowiedź gry. W podglądzie edytora samodzielnie wybierasz wynik testowy.
Skrzynia ma dodać miecz do ekwipunku. W Game actions zdefiniuj Give item z parametrem przedmiotu i wynikami Received oraz No room. Wybierz tę akcję w bloku Game action i połącz oba wyjścia. W edytorze samodzielnie wybierasz wynik testowy. W gotowej grze akcję trzeba połączyć z ekwipunkiem: VNLE nie tworzy go automatycznie.
Receive the key używa Give item z Warehouse key. Wyniki zdefiniowane w projekcie to Received i Declined. Sprawdź oba. Dołączona gra przykładowa rzeczywiście przekazuje przedmiot; odmowa prowadzi do zwrotu pieniędzy.
Otwórz projekt przykładowy i instrukcję krok po kroku →Skok kontynuuje rozmowę w innym punkcie wejścia. Punkt wejścia może być w innej scenie.
Po rozmowie przy bramie historia ma być kontynuowana na rynku. Utwórz punkt wejścia w scenie rynku. Przez More blocks dodaj Jump i wybierz ten punkt jako cel. Historia będzie kontynuowana tam bez automatycznego powrotu do bramy.
Go to the warehouse prowadzi do Warehouse przez punkt wejścia warehouse. Tam historia sprawdza, czy gracz ma klucz. Wartości takie jak HasKey pozostają zachowane po zmianie sceny.
Otwórz projekt przykładowy i instrukcję krok po kroku →Wywołanie pozwala na chwilę przejść do osobnej sekwencji rozmowy. Potem historia może być kontynuowana od miejsca wywołania.
W kilku rozmowach chcesz użyć tych samych wskazówek dojścia. Zbuduj je w osobnej scenie. Wybierz More blocks → Call substory i wskaż jej punkt wejścia. Połącz After returning z dalszym ciągiem pierwotnej rozmowy. Zakończ wskazówki przez Return, aby móc ich używać wielokrotnie.
Ask Mira wywołuje Mira’s request przez mira_request. Mira opowiada o magazynie, po czym historia wraca do Already have the key?. Zacznij od Harbour, aby przejść całą sekwencję wywołania i powrotu.
Otwórz projekt przykładowy i instrukcję krok po kroku →Return kończy wywołaną sekwencję i wraca do rozmowy, która ją uruchomiła. Miejsce kontynuacji jest zapamiętywane przy wywołaniu.
Wskazówki dojścia są gotowe. Dodaj Return na końcu i połącz z nim ostatni dialog. Pierwotna rozmowa będzie kontynuowana po wywołaniu. Bez wcześniejszego wywołania nie ma dokąd wrócić. Do zwykłego zakończenia rozmowy używaj End.
W Mira’s request blok Return to the question kończy poboczną sekwencję. Uruchom historię od początku Harbour zamiast bezpośrednio od tej sekwencji, aby było wiadomo, dokąd wrócić.
Otwórz projekt przykładowy i instrukcję krok po kroku →End kończy bieżącą rozmowę. Gra może wtedy zamknąć okno dialogu.
Kupiec mówi: „Do jutra!”. Utwórz End i połącz z nim wyjście Next pożegnania. Rozmowa się zakończy. Nie musi to kończyć całej gry: można np. ponownie pozwolić graczowi się poruszać.
Return to the game kończy rozmowę przy magazynie. Mimo nazwy jest blokiem End, nie Return. Sprawdzaj ikonę i typ bloku: sama nazwa nie określa działania.
Otwórz projekt przykładowy i instrukcję krok po kroku →Tutaj określasz mówiącą postać: imię, portret i wyrazy twarzy. Później wybierasz ją w dialogu.
Strażniczka ma mieć imię i portret. Otwórz Characters, utwórz Ada i dodaj portret. W dialogu wybierz Ada w Speaker. Możesz dodać osobny obraz z zaskoczonym wyrazem twarzy i wybrać go dla odpowiedniej wypowiedzi.
Otwórz Mira w Characters, a następnie Welcome. Zobaczysz powiązanie postaci z dialogiem. Nie trzeba ponownie wpisywać imienia i przypisywać obrazu dla każdej wypowiedzi.
Otwórz projekt przykładowy i instrukcję krok po kroku →Zasoby opisują powracające elementy historii: przedmioty, zadania i lokacje. Tworzysz je raz, a potem wybierasz w akcjach gry. Zasób opisuje, czym coś jest, a akcja prosi grę, aby coś z tym zrobiła.
W grze występuje stary klucz. W Resources utwórz przedmiot Old key z nazwą i opisem. Później wybierz go jako parametr akcji gry. Wpis opisuje klucz; za dodanie go do ekwipunku nadal odpowiada akcja w Twojej grze.
Znajdziesz tu przedmiot Warehouse key, zadanie Open the warehouse i miejsce Old warehouse. Receive the key wskazuje ten sam klucz, więc przedmiot pozostaje rozpoznawalny po przetłumaczeniu nazwy.
Otwórz projekt przykładowy i instrukcję krok po kroku →Zmienna to nazwana wartość przechowująca liczbę, tekst lub tak/nie. Na przykład Gold przechowuje ilość pieniędzy, a HasKey — informację, czy gracz ma klucz.
Historia ma pamiętać, czy gracz pomógł strażnikowi? W Variables utwórz zmienną logiczną HelpedGuard, początkowo false. Po udzieleniu pomocy ustaw ją na true przez Change variable. Późniejszy Condition może wybrać przyjaźniejsze powitanie. Dla monet użyj liczby, a dla pseudonimu — tekstu.
Gold zaczyna od 10. HasKey, QuestAccepted i QuestComplete zaczynają od false. Prześledź Gold od warunku zakupu do Your remaining gold: sprawdzanie, zmiana i wyświetlanie korzystają z tej samej zapisanej wartości.
Otwórz projekt przykładowy i instrukcję krok po kroku →Podgląd pozwala przejść historię w edytorze. Project check pomaga znaleźć brakujące połączenia i inne problemy.
Aby sprawdzić obie odpowiedzi, wybierz Play story. Narzędzia testowe pozwalają dodać zakładkę przed wyborem i wrócić do niej, aby wypróbować drugą odpowiedź. Wartości testowe nie zmieniają projektu. Po edycji dialogu uruchom test ponownie, aby uwzględnić zmiany. Project check pomaga znaleźć np. brakujące połączenia.
Uruchom Harbour z harbour_start. Spróbuj kupić klucz z wystarczającą i zbyt małą ilością złota. W akcji gry sprawdź Received i Declined. Czy złoto jest prawidłowo odejmowane lub zwracane? Czy gracz otrzymuje klucz dopiero po udanym przekazaniu?
Otwórz projekt przykładowy i instrukcję krok po kroku →Save zapisuje pracę na Twoim komputerze. Eksport tworzy pakiet do udostępnienia. Okno zespołu w menu projektu służy do wymiany zmian przez GitHub.
Save zachowuje pracę w lokalnym projekcie. Aby udostępnić kopię, otwórz menu projektu w lewym górnym rogu i wybierz Export entire project as ZIP. Ani zapis, ani eksport nie wysyłają zmian zespołowi. Do GitHub używaj okna zespołu: najpierw porównaj zmiany, potem je wyślij.
Pobierz przykład, rozpakuj go i otwórz zawarty w nim folder projektu. Zmień Welcome, zapisz i ponownie otwórz projekt. Tekst pozostanie. Eksport ZIP zawiera edytowalną kopię oraz, dla poprawnej historii, pliki dla gry.
Otwórz projekt przykładowy i instrukcję krok po kroku →Tłumacz jedną historię na wiele języków. Połączenia, wybory i zapisane wartości pozostają wspólne.
Dialog ma pokazywać „Good morning!” po angielsku i „Guten Morgen!” po niemiecku. Otwórz Localization, dodaj język docelowy, wybierz wiersz i wpisz tłumaczenie. Sprawdź oba języki. Tłumaczysz tekst bez budowania rozmowy od nowa.
Przykład zawiera angielski i niemiecki. Porównaj powitanie Miry. Zachowaj znacznik pozostałego złota, aby aktualna ilość pojawiała się w obu wersjach. Translation package pozwala przekazać teksty do tłumaczenia w pliku Excel.
Otwórz projekt przykładowy i instrukcję krok po kroku →Postacie, zasoby, zmienne i akcje gry mają listę po lewej i szczegóły po prawej. Wyszukiwarka znajduje się nad listą. Obszar szczegółów pozostaje widoczny także bez zaznaczenia i wyjaśnia następny krok.
W Resources wybierz u góry Quests, Items lub Locations. Trójczęściowy filtr pokazuje wszystkie, używane lub nieużywane wpisy. Wybierz nazwę po lewej, aby po prawej edytować teksty i sprawdzić miejsca użycia. W Characters przełącznik wybiera kolejność alfabetyczną, grupy nadrzędne lub grupy postaci; wyszukiwanie obejmuje nazwy grup.
Wróć do historii przez Story w lewym menu lub Story editor u góry. Project check na dole lewego menu otwiera konkretne problemy w historii.