Spis treści:

Kurs z zatrudnieniem: „Zawód projektanta gier od podstaw do PRO”
Dowiedz się więcejRen’Py to jedno z najpopularniejszych narzędzi do tworzenia interaktywnych historii i powieści wizualnych. Jeśli chcesz stworzyć własną powieść wizualną, ale przeraża Cię złożoność nauki języków programowania i silników gier, możesz rozważyć Ren’Py. Ren'Py oferuje intuicyjny interfejs i prostą strukturę, dzięki czemu jest przystępny nawet dla początkujących. Dzięki Ren'Py możesz łatwo wcielić swoje pomysły w życie i stworzyć wciągającą historię, która zaangażuje graczy.
W tym artykule zespół redakcyjny Skillbox Media „GameDev” szczegółowo omawia kluczowe funkcje i główne funkcje kreatora, wykorzystując jako przykład własną interaktywną historię. Przeanalizujemy, jak to narzędzie umożliwia tworzenie angażujących treści i jakie korzyści oferuje użytkownikom.
Zapraszamy do subskrypcji naszego kanału „Checkpoint” na Telegramie, gdzie publikujemy cenne zasoby dla początkujących deweloperów. Na naszym kanale znajdziesz artykuły na temat projektowania gier, przydatne poradniki dotyczące oprogramowania oraz wywiady z deweloperami, którzy już wydali swoje gry. Dołącz do nas i poszerz swoją wiedzę na temat tworzenia gier.
Czym jest Ren'Py
Ren'Py to darmowy silnik gier przeznaczony do tworzenia powieści wizualnych. Dzięki niemu możesz stworzyć wciągającą interaktywną historię, wykorzystując grafikę 2D, efekty dźwiękowe i muzykę, a także integrując filmy. Ren'Py oferuje użytkownikom różnorodne narzędzia do pisania skryptów, tworzenia postaci i zarządzania rozgrywką, co czyni go idealnym wyborem zarówno dla początkujących, jak i doświadczonych deweloperów. Wykorzystaj Ren'Py do realizacji swoich kreatywnych pomysłów w formacie powieści wizualnej.
Kreator jest zaimplementowany w Pythonie i oferuje rozbudowane możliwości tworzenia projektów interaktywnych. Obsługuje integrację wielu okien dialogowych, nieliniowe gałęzie i system parametrów typowy dla symulatorów życia. Dodatkowo, użytkownicy mogą implementować minigry. Każdy projekt automatycznie zawiera menu główne, system zapisu i wbudowaną przeglądarkę historii dialogów, co znacznie upraszcza zarządzanie rozgrywką. Korzystanie z tego kreatora pozwala deweloperom tworzyć unikalne i angażujące scenariusze, urzekające użytkowników.
Ukończona gra może zostać wydana na różnych systemach operacyjnych PC, w tym Windows, Linux i macOS, a także na urządzeniach mobilnych z systemami iOS i Android. Technologia tworzenia powieści wizualnych Ren'Py istnieje od prawie 20 lat i stale się rozwija. Aktualna wersja Ren’Py to 8.1.3, wydana 18 września 2023 roku, oferująca nowe funkcje i ulepszenia dla twórców gier.
Czy do tworzenia gier w Ren’Py konieczna jest nauka Pythona?
Początkujący, otwierając skrypt powieści wizualnej, mogą czuć się zdezorientowani dużą liczbą linii kodu i nieznanymi poleceniami. Jednak stworzenie prostej gry na platformie Ren’Py nie wymaga dogłębnej znajomości Pythona. Większość funkcji i poleceń jest dostępna w oficjalnej dokumentacji, co znacznie upraszcza proces. W praktyce programowanie często sprowadza się do prostych czynności, takich jak kopiowanie i wklejanie z kilkoma zmianami parametrów. Dzięki temu tworzenie powieści wizualnych jest dostępne nawet dla osób dopiero rozpoczynających przygodę z tworzeniem gier.
Dzięki zaawansowanej znajomości Pythona możesz znacznie ulepszyć swój projekt, dodając różne funkcje — od efektów, takich jak drgania ekranu, po złożone systemy interakcji z postaciami. Możliwa jest również integracja pełnoprawnego inwentarza. Wdrożenie tych rozszerzeń często nie wymaga pomocy profesjonalnego programisty, ponieważ społeczności Ren'Py obecne w wielu sieciach społecznościowych, w tym VKontakte, oferują gotowe rozwiązania i pomocne wskazówki.
Wady Ren'Py
Praca z Ren'Py ma naprawdę niską barierę wejścia, co czyni ją dostępną dla początkujących twórców powieści wizualnych. Mimo to liczba znanych projektów korzystających z tego silnika pozostaje ograniczona. Przyczyny tego stanu rzeczy mogą być różne, od braku oryginalnych pomysłów i wysokiej jakości treści, po trudności w marketingu i promocji gier. Aby osiągnąć sukces, deweloperzy muszą nie tylko opanować narzędzia Ren'Py, ale także skupić się na stworzeniu unikalnej historii, rozwijaniu postaci i skutecznej strategii promocyjnej swojego projektu. Wielu graczy zna jedynie popularne powieści wizualne, takie jak Doki Doki Literature Club!, Everlasting Summer, Tiny Bunny, Katawa Shoujo i Milk Inside a Bag of Milk. Na rynku dostępnych jest jednak wiele innych gier, stworzonych zarówno przez doświadczonych, jak i początkujących deweloperów. Projekty te są zazwyczaj mniej znane i najczęściej omawiane w wąskich kręgach tematycznych. Oferują jednak unikalne doświadczenia i ciekawe historie, które mogą przyciągnąć uwagę szerszej publiczności. Odkrywanie mniej znanych powieści wizualnych może otworzyć nowe horyzonty i pozwolić graczom cieszyć się oryginalnymi historiami i kreatywnym podejściem do rozgrywki.

Ren'Py to proste narzędzie do tworzenia powieści wizualnych, ale ta wygoda ma swoje wady. Wielu początkujących deweloperów, zdając sobie sprawę z dostępności platformy dla projektów komercyjnych, często zaniedbuje jakość zawartości gry, w tym grafikę i programowanie. W rezultacie na forach regularnie pojawiają się dyskusje na temat licznych błędów w większości gier Ren'Py, a także na temat faktu, że projekty o naprawdę wysokiej jakości, wykorzystujące ten silnik, są niezwykle rzadkie. Aby skutecznie stworzyć grę, ważne jest, aby skupić się nie tylko na dostępności narzędzia, ale także na jakości zawartości, która pomoże Ci wyróżnić się na tle konkurencji i przyciągnąć odbiorców.
Wiele powieści wizualnych kładzie nacisk na „dojrzałą” treść, co kreuje negatywny wizerunek gatunku. Specjalistyczne media często wyrażają opinie, że wielu graczy nie postrzega powieści wizualnych jako pełnoprawnych gier. Być może jednak Twoje dzieło stworzone za pomocą tego silnika okaże się przełomem i zmieni utarte stereotypy.
Przyjrzyjmy się praktycznemu zastosowaniu funkcji konstruktora.
Instalacja i interfejs Ren'Py
Autorzy Ren'Py zdecydowanie zalecają zainstalowanie najnowszej wersji silnika, w szczególności wersji 8, ponieważ zapewnia ona obsługę Pythona 3. Na stronie pobierania klienta wybierz preferowany format archiwum i rozpakuj je na dysk twardy. Następnie uruchom plik renpy.exe, wybierz język aplikacji i zapoznaj się z interfejsem programu uruchamiającego. Dzięki temu będziesz mógł szybko rozpocząć pracę z silnikiem i tworzyć powieści wizualne.
Ta aplikacja wykonuje wszystkie niezbędne czynności w projektach opracowanych na platformie.

Po lewej stronie znajduje się menu Projekty. Ren’Py ma dwa domyślne szablony: Tutorial i The Question. Możesz wybrać dowolny z nich i kliknąć Launch Project. Szablon Tutorial oferuje postać, która wprowadza użytkownika w podstawowe funkcje silnika. Projekt „The Question” ilustruje prosty model nieliniowej historii romantycznej, który pozwala lepiej zrozumieć możliwości Ren'Py w zakresie tworzenia interaktywnych historii.


Po wybraniu projektu w programie uruchamiającym Ren'Py na ekranie pojawia się seria menu. Dobrze. Przyjrzyjmy się im bliżej.
Funkcja „Otwórz katalog” umożliwia użytkownikowi uruchomienie Eksploratora plików w celu wyświetlenia zawartości wybranego folderu. Funkcja ta upraszcza dostęp do plików i podfolderów, umożliwiając szybkie znalezienie potrzebnych informacji. Otwieranie folderu jest intuicyjne, co sprawia, że interakcja z systemem plików jest wygodniejsza i bardziej efektywna. Użytkownicy mogą łatwo zarządzać dokumentami, przenosić pliki i organizować je w kategorie, co przyczynia się do lepszej organizacji przestrzeni roboczej.
- game – zawiera całą zawartość gry;
- base – główny folder z klientem gry;
- images – zawartość z wizualnymi komponentami gry (tła, awatary postaci, filmy itp.);
- gui (skrót od Graphical User Interface) – kolejny folder z obrazami, tym razem przeznaczonymi do interfejsu gry;
- audio – dźwięki i muzyka.
Ren'Py automatycznie tworzy wszystkie niezbędne foldery podczas tworzenia nowego projektu. Dlatego po otwarciu dowolnego projektu powieści wizualnej stworzonego za pomocą tego silnika, zobaczysz podobne katalogi. Upraszcza to organizację plików i pozwala programistom łatwo poruszać się po strukturze projektu.
Sekcja „Edytuj plik” umożliwia przeglądanie wszystkich plików z rozszerzeniem .rpy, które zawierają kod różnych elementów gry. Po pierwszym uruchomieniu Ren'Py i przejściu do tej sekcji, kreator zaoferuje wybór jednego z kilku edytorów skryptów. Pozwala to programistom na wygodną edycję i dostosowywanie skryptów gry, co jest ważnym krokiem w tworzeniu interaktywnych treści. Wybór odpowiedniego edytora może znacznie uprościć pracę z kodem i zwiększyć efektywność tworzenia.
Programiści zalecają używanie Visual Studio Code jako preferowanego edytora tekstu. Silnik ten automatycznie zainstaluje wybrany edytor po instalacji. Następnie kliknij nazwę edytora skryptów, aby określić go w ustawieniach. Zoptymalizuje to Twój przepływ pracy i poprawi interakcję z kodem.


Wybór edytora tekstu to ważny krok podczas pracy z plikami .rpy. Otwarcie takiego pliku automatycznie uruchamia wybraną aplikację do edycji skryptów. W tym przypadku wykorzystano Visual Studio Code, który zapewnia przyjazny dla użytkownika interfejs i potężne narzędzia programistyczne.

Sekcja Akcje projektu interfejsu udostępnia różnorodne narzędzia do efektywnej pracy z kodem projektu. Ta sekcja oferuje użytkownikom dostęp do kluczowych funkcji, które ułatwiają zarządzanie projektem i optymalizują przepływy pracy.
- Nawigacja po skrypcie. Edycja i porządkowanie istniejących segmentów.
- Sprawdzenie skryptu. Sprawdź kod pod kątem ewentualnych błędów za pomocą narzędzia Lint. Warto zauważyć, że Lint automatycznie sprawdza projekt pod kątem błędów krytycznych podczas uruchamiania.
- Zmiana/aktualizacja interfejsu graficznego. Nadpisanie ustawień interfejsu graficznego.
- Usunięcie trwałych danych. Usunięcie zduplikowanych danych. Na przykład, niewyświetlanie prologu historii przy każdym uruchomieniu.
- Wymuszenie ponownej kompilacji. Wymuszenie ponownej kompilacji kodu.
Po prawej stronie znajduje się lista opcji wymaganych do ukończenia projektu.
- Kompilowanie dystrybucji. Otworzy się okno, w którym można wybrać platformę i wygenerować archiwum ZIP kompilacji gry, które można uruchomić ręcznie.
- Android, iOS, Web (wersja beta). Tworzy port dla określonych platform. Wymaga instalacji dodatkowych programów do kompilacji.
- Generuj tłumaczenia. Funkcja tworzenia lokalizacji, jeśli deweloper chce wydać grę w kilku językach.
- Wyodrębnij dialogi. Eksportuj dialogi z gry w formacie TAB lub TXT.
Ustawienia programu uruchamiającego, znajdujące się w prawym dolnym rogu, zapewniają dostęp do głównych funkcji edytora. Można w nim wybrać folder dla projektu, określić edytor tekstu dla skryptów oraz skonfigurować różne funkcje nawigacji i wyświetlania informacji w programie uruchamiającym. Dostępne są również opcje zmiany motywu, instalowania bibliotek, w tym obsługi Steam, oraz wykonywania podstawowych operacji projektu. Te ustawienia pozwalają zoptymalizować przepływ pracy i dostosować program uruchamiający do indywidualnych potrzeb.
Po opanowaniu podstawowych elementów interfejsu klienta Ren'Py możesz przejść do nauki jego podstaw.
Pierwsze kroki
Najpierw musisz utworzyć nowy projekt w Ren'Py. Aby to zrobić, kliknij przycisk „+ Utwórz nowy projekt”. Kreator powiadomi Cię, że język projektu będzie zgodny z domyślnymi ustawieniami programu uruchamiającego. W naszym przypadku wybrany jest język rosyjski, ale możesz również używać łaciny do pisania wierszy.
Kliknij przycisk „Kontynuuj”. Następnie wprowadź nazwę projektu i określ jego rozdzielczość. W tym przykładzie wybraliśmy uniwersalne ustawienie dla aplikacji desktopowej o rozdzielczości 1920x1080, co zapewnia optymalną jakość wyświetlania. Ren'Py poprosi Cię następnie o wybranie schematu kolorów dla interfejsu graficznego gry. Zmiany będą widoczne w czasie rzeczywistym. Paleta podstawowa wykorzystuje ciemne lub szare odcienie, a kolor drugorzędny podkreśla kluczowe elementy interfejsu. Schemat kolorów można zmienić w dowolnym momencie w menu ustawień, wybierając opcję „Zmień/Aktualizuj GUI”. W tym samym oknie możesz dostosować tryb ekranu i szybkość wyświetlania tekstu, co pozwala dopasować interfejs do preferencji użytkownika.

Jeśli użytkownik nie określił ścieżki do przyszłej kompilacji w ustawieniach programu uruchamiającego przed utworzeniem projektu, silnik poprosi go o wybranie katalogu, w którym będą przechowywane pliki projektu. Wybór właściwego folderu do przechowywania plików projektu jest ważny dla uproszczenia dalszej pracy i uporządkowania struktury projektu.
Po zakończeniu wstępnych ustawień, w programie uruchamiającym pojawi się nowy projekt. Możesz go otworzyć, wybierając opcję „Uruchom projekt”. Załaduje się wygenerowane menu główne, w którym rozpocznie się nowa gra. Po załadowaniu, postać fikcyjna powie kilka kwestii, a gra się zakończy.

Teraz, z fundament nadchodzącego projektu. Możemy znacząco dostosować treść do naszych celów.
Wyjście tekstowe
Aby edytować projekt w Ren'Py, wybierz jego nazwę w programie uruchamiającym i otwórz plik script.rpy w sekcji „Edytuj plik”. Ten plik zawiera główny kod projektu. Pamiętaj, że wiersze rozpoczynające się symbolem # to komentarze. Możesz je usunąć lub pozostawić dla wygody, ponieważ nie wpływają one na funkcjonalność projektu.

Usuń wszystkie dane po etykiecie początku segmentu gry i skup się na stworzeniu prostego elementu narracyjnego na ciemnym ekranie. Tę technikę można skutecznie wykorzystać na początku gry lub w innych kluczowych momentach fabuły, na przykład gdy bohater wchodzi do ciemnego pokoju i jeszcze nie zapala światła. Tworzy to atmosferę napięcia i oczekiwania, pomagając graczom w pełni zanurzyć się w historii.
Aby wyświetlić tekst na ciemnym ekranie w programie Visual Studio Code, należy ująć ciągi narracyjne w cudzysłów. Te cudzysłowy są dodawane automatycznie po naciśnięciu klawisza „”. Podczas pisania tekstu należy pamiętać, że cały ciąg zostanie wyświetlony na ekranie od razu. Jeśli fragment jest zbyt długi, należy podzielić go na logiczne części, tak jakby postać wypowiadała tekst w rzeczywistości. Każda nowa fraza powinna zaczynać się w nowym wierszu, pamiętając o składni – dodaj tabulator na początku nowego wiersza. Po zakończeniu edycji zapisz zmiany i wyświetl podgląd rezultatu.

Aby wskazać osobę, z której ustnaiana jest historia, należy umieścić imię i nazwisko narratora w cudzysłowie przed odpowiadającym mu wyrażeniem. Pomoże to czytelnikowi lepiej zrozumieć punkt widzenia i kontekst prezentacji. Prawidłowe formatowanie imienia narratora przyczynia się do przejrzystości i poprawia zrozumienie tekstu.

Pamiętaj, że domyślnie projektant używa schematu kolorów określonego w ustawieniach interfejsu graficznego. Stworzymy skrypt, który zdefiniuje kolor dla konkretnej postaci na podstawie wzorca już zaimplementowanego dla postaci zastępczej. W ten sposób zastąpimy wartość „Eileen” wartością „Author”.
- Polecenie „define” określa, co powinno zostać zdefiniowane.
- au to zmienna, którą zdefiniowaliśmy dla konkretnej postaci (może to być dowolna kombinacja liter).
- Character to klasa definiująca postać.
- Nawiasy kwadratowe zawierają cechy postaci. W tym przypadku imię wyświetlane w grze i kolor (ten ostatni można łatwo wybrać, najeżdżając kursorem na ikonę w programie Visual Studio Code).
Teraz możemy pominąć cudzysłowy przed liniami tej postaci, co upraszcza tekst i czyni go bardziej czytelnym. Pozwala nam to skupić się na treści dialogu i nadaje mu naturalny przepływ. Korzystanie z tego podejścia poprawia percepcję tekstu i czyni go wygodniejszym dla czytelnika.

Należy zauważyć, że jest to Nie jest to wyczerpująca lista manipulacji dostępnych do pracy z tekstem w grze. Aby uzyskać więcej informacji na temat formatowania dialogów, zapoznaj się z oficjalną dokumentacją. Ważne jest, aby zapoznać się z różnymi opcjami efektywnego wykorzystania elementów tekstowych w grze.
Uwaga: Ten tekst zawiera ważne informacje, które mogą być pomocne w zrozumieniu tematu. Zwróć uwagę na kluczowe punkty, aby lepiej zrozumieć przedstawiony materiał. Dokładamy wszelkich starań, aby dostarczać istotnych i przydatnych informacji, które pomogą Ci zrozumieć zagadnienia związane z tematem. Prosimy o poświęcenie czasu na dokładne zapoznanie się z informacjami.
Aby zaznaczyć słowo lub frazę cudzysłowem w wierszu, należy dodać symbol \ przed cudzysłowem, jak pokazano w poniższym przykładzie. Pozwoli to na poprawne wyświetlenie tekstu i uniknięcie błędów w interpretacji cudzysłowu. Korzystanie z tej metody jest istotne dla poprawnego formatowania dialogów i cytatów w treści HTML.
Tworzenie powieści wizualnej
Rozpoczynamy tworzenie powieści wizualnej z perspektywy pierwszej osoby. Powieść będzie zawierać krótkie wprowadzenie, kilka scen z rozgałęziającymi się wątkami fabularnymi oraz wiele postaci oprócz narratora. Stworzy to interaktywne i angażujące doświadczenie dla gracza, zanurzając go w historii i pozwalając mu podejmować decyzje wpływające na bieg wydarzeń. Nacisk zostanie położony na dynamiczne interakcje postaci i budowanie napiętej atmosfery, która przyciągnie uwagę odbiorców i zapewni wysoki poziom zaangażowania.
Podczas tworzenia powieści wizualnej, posiadanie gotowego scenariusza, kluczowych zasobów, takich jak obrazy tła, postacie, dźwięki i muzyka, oraz prototypu znacznie upraszcza proces. Tworzenie prototypu w Twine pozwala lepiej zrozumieć, jak strukturować tekst w scenach i jakich mediów użyć do jego wizualnego i dźwiękowego akompaniamentu. Szczegółowe informacje na temat Twine i jego możliwości można znaleźć w naszym dedykowanym artykule. Tworzenie powieści wizualnej z wykorzystaniem gotowych zasobów i narzędzi poprawi jakość projektu i przyspieszy jego wdrożenie.
Przygotowywanie zasobów
Najpierw przenieśmy zasoby utworzone dla nadchodzącego projektu do odpowiednich katalogów. W sekcji „Otwórz katalog” otwórz żądane foldery i przenieś do nich gotową zawartość. Umieść wszystkie pliki dźwiękowe i muzyczne w folderze „audio”, a obrazy, takie jak tła i awatary, w folderze „images”. Uporządkuje to strukturę projektu i uprości dostęp do niezbędnych zasobów. Prawidłowa organizacja zasobów jest ważnym krokiem w procesie rozwoju, ponieważ sprzyja wydajniejszej pracy i zmniejsza prawdopodobieństwo wystąpienia błędów.
Aby uniknąć nieporozumień podczas tworzenia skryptów i wybierania zasobów do scen, ważne jest, aby w nazwach plików używać pełnych opisów zawartości obrazów. Należy przestrzegać ustalonej hierarchii nazewnictwa. Przykłady prawidłowych nazw zasobów można znaleźć we wspomnianych wcześniej projektach samouczka Ren'Py. Pomoże to uprościć organizację plików i usprawnić interakcję z treścią.
W folderze „images” projektu „Question” każdy obraz ma unikalny tag i atrybuty, co ułatwia ich używanie i identyfikację. Na przykład obrazy tła używają ogólnego tagu (bg – tło), po którym następuje nazwa lokalizacji. W związku z tym pliki noszą nazwy „bg club”, „bg lecturehall”, „bg meadow” itd. Nazwy zasobów bohaterki zawierają imię postaci, kolor jej ubrania (ponieważ zmienia ona wygląd w trakcie historii) oraz jej stan emocjonalny: standardowy (sylvie blue normal), chichoczący (sylvie blue giggle), zaskoczony (sylvie blue surprise) i inne emocje. Takie podejście do nazewnictwa obrazów nie tylko usprawnia organizację plików, ale także przyczynia się do lepszego SEO, ponieważ ułatwia indeksowanie i wyszukiwanie treści.
Postacie powinny być reprezentowane wyłącznie przez pliki z przezroczystym tłem w formatach PNG lub WEBP. W przypadku dużej liczby postaci zaleca się uporządkowanie ich awatarów w oddzielnych podkatalogach, ale ważne jest, aby wszystkie pliki pozostały w folderze „images”. Hiperłącza nie są wymagane, ponieważ projektant automatycznie określi ścieżkę do wszystkich niezbędnych plików.
Jeśli nie masz jeszcze własnych zasobów, możesz pobrać symbole zastępcze z platformy itch.io. Ten zasób oferuje szeroki wybór darmowych i shareware'owych awatarów postaci, teł, a nawet próbek muzycznych. To doskonałe rozwiązanie dla deweloperów poszukujących wysokiej jakości zasobów graficznych i dźwiękowych do swoich projektów bez ponoszenia znacznych kosztów.
W tym przykładzie przyjrzymy się wykorzystaniu renderów modeli i scen 3D. Głównym akompaniamentem muzycznym będzie utwór „Leaving The World Behind” zespołu Koala Vert, dostępny na licencji CC BY 4.0. Pozwala to na stworzenie atmosfery wizualizacji, zwracając uwagę na detale i cechy obiektów 3D. Rendery modeli 3D stanowią ważne narzędzie w projektowaniu i animacji, umożliwiając prezentację pomysłów i koncepcji w wysokiej jakości.
Opracowywanie wstępu
Po narracji na czarnym tle pojawia się obraz z projektem tła i akompaniamentem muzycznym. Można go zaprojektować w następujący sposób.
Na tym etapie przeanalizujemy uzyskane wyniki i przeprowadzimy ich analizę.
- Wiersze rozdzielone cudzysłowami stanowią nasz wstęp.
- Odtwórz to polecenie odtwarzania pliku multimedialnego, w tym przypadku utworu muzycznego (muzyki) z folderu audio. Nazwa pliku musi być podana w cudzysłowie i zawierać rozszerzenie.
- Scena — uruchamia scenę, tj. ładuje tło; w tym przykładzie jest to plik „bg road”. Rozszerzenie pliku obrazu nie jest wymagane.
- Z — akompaniament. W tym przypadku „zanikanie” to płynne ładowanie obrazu trwające 0,5 sekundy. Ta opcja jest opcjonalna, ale zwiększa efektywność zmiany sceny.
Rozpoczęcie projektu w jego obecnym stanie spowoduje jego zakończenie natychmiast po rozpoczęciu sceny. Aby tego uniknąć i uczynić go bardziej interesującym, zaleca się dodanie co najmniej jednej linijki narracji. Rezultatem będzie pełniejsza i bardziej przyciągająca wzrok treść.
Tworzenie pierwszego wyboru
Wystarczy kilka linijek kodu, a stworzyliśmy już atmosferę gry. Teraz nadchodzi najciekawszy etap — globalny wybór fabularny, który tworzy się za pomocą polecenia menu. Visual Studio Code posiada funkcję, która pozwala szybko generować wszystkie niezbędne opcje. Po rozpoczęciu wpisywania słowa „menu” pojawi się menu podręczne, z którego można wybrać element oznaczony etykietą „Choice Menu”. To narzędzie znacznie upraszcza proces tworzenia i pozwala skupić się na tworzeniu angażującej historii dla graczy.
Edytor automatycznie utworzy następujące linijki kodu:
- optional_name — nazwa wyboru, wpisz ją według własnego uznania.
- «Say Statement» — wpisz frazę (lub więcej niż jedną), która będzie stanowić warunek wstępny wyboru. W naszym przypadku możemy dodać pytanie „Dokąd mam iść?”.
- „Wybór 1” i „Wybór 2” to nazwy opcji, na przykład „Tak”/„Nie”.
Po każdej linii wyboru należy wskazać działania, które doprowadzą do określonego rezultatu. Na przykład, jeśli narrator pozostanie na bieżącej ścieżce, gra się zakończy. Jeśli ścieżka zostanie wybrana, załaduje się kolejna scena. Pomaga to stworzyć interaktywne i angażujące doświadczenie dla gracza, zapewniając ekscytujący rozwój fabuły i zaangażowanie w proces podejmowania decyzji. Każdy wybór powinien mieć wpływ na dalszy rozwój wydarzeń, co zwiększy zainteresowanie i zaangażowanie odbiorców.
Aby przenieść gracza do konkretnego etapu, użyj słowa kluczowego „jump” i określ nazwę punktu kontrolnego. Dzięki temu gracz może przejść do następnego etapu po podjęciu decyzji. Takie podejście zapewnia płynne przejście między różnymi częściami gry i poprawia rozgrywkę, umożliwiając graczom szybsze postępy w scenariuszu.
Podsumujmy wszystko, czego się do tej pory nauczyliśmy. Na poniższym kolażu możesz zobaczyć, jak linie kodu wymienione powyżej wyglądają w rozgrywce.

Teraz musimy opisać konsekwencje każdego wyboru w odpowiedniej kolejności. W tym celu, po wierszach, w których występuje wybór, określimy nowe punkty kontrolne dla programu (etykiety), które utworzą nowe segmenty gry. Pozwoli to graczowi lepiej zrozumieć wpływ swoich decyzji i poprawi interakcję z grą, czyniąc ją bardziej angażującą i dynamiczną.
Wcześniej doszliśmy do wniosku, że jeśli narrator nie zboczy z wybranej ścieżki, gra się zakończy. Jeśli jednak zdecyduje się kontynuować, rozpocznie się nowa scena, a narracja będzie się rozwijać. Poniżej znajduje się kod demonstrujący ten proces.
Po uruchomieniu gry i wybraniu drugiej opcji ze ścieżką otworzy się nowa scena, specjalnie zaprojektowana dla tej ścieżki. Ponieważ jednak ten segment nie ma jeszcze zakończenia, po jego ukończeniu rozpocznie się odtwarzanie wcześniej niezaznaczonego segmentu. Na końcu skryptu znajduje się polecenie return, które zawsze kończy grę, jeśli znajduje się w ostatnim segmencie etykiety. Tworzy to wyjątkowe doświadczenie dla graczy, pozwalając im eksplorować różne scenariusze, ale także podkreśla potrzebę pewnego dopracowania logiki gry w celu płynniejszego zakończenia.
Dodawanie obrazów NPC
Kontynuujmy rozwijanie koncepcji sekwencji ścieżek i integrujmy postać z fabułą. Aby dodać obraz postaci, użyj polecenia show
Podczas dialogu, gdy postać wyraża różne emocje, dodajemy nowy obraz przed każdym wersem związanym z daną reakcją. Poniżej znajduje się przykład ilustrujący implementację tego w kodzie i rozgrywce. Litera «o» przed początkiem wiersza wskazuje zmienną znakową ustawioną zgodnie z opisem w poprzednim rozdziale.
Dopracowanie zakończenia
Sformułujemy ostateczny dylemat przez analogię do początkowego wyboru w grze. Jednak biorąc pod uwagę, że historia dobiega końca, konieczne jest dodanie innej opcji zakończenia, która będzie istotna, jeśli gracz udzieli odpowiedzi twierdzącej.
Jeśli postać podejmie decyzję negatywną, ponownie opisujemy sytuację, w której kontynuuje ona poruszanie się drogą, nie zbaczając z zamierzonego szlaku. Ten fragment będzie reprezentował alternatywne złe zakończenie, podkreślając konsekwencje wyboru bohatera.
Zrzut ekranu pokazuje rozkład nieliniowych segmentów. Ten skrypt używa formatowania {b}, które pozwala na wyróżnienie tekstu pogrubieniem. To formatowanie można skutecznie wykorzystać do tworzenia podpowiedzi i podkreślania słów kluczowych.

Na koniec przyjrzyjmy się, jak wszystkie W grze przedstawiono rozwidlenia fabuły. Te rozwidlenia odgrywają kluczową rolę w tworzeniu unikalnego doświadczenia rozgrywki i pozwalają graczom podejmować decyzje wpływające na bieg wydarzeń. Eksplorując różne ścieżki, gracze mogą lepiej zrozumieć fabułę i postacie, co czyni grę bardziej wciągającą i wielowymiarową. Każde rozwidlenie drogi otwiera nowe możliwości i podkreśla znaczenie wyboru w rozgrywce.
Po ukończeniu projektu można go skompilować do wersji kompilacji za pomocą funkcji dystrybucji kompilacji. Ten proces utworzy archiwum zawierające aplikację, którą można uruchomić niezależnie od programu uruchamiającego. Kompilacja projektu do dystrybucji zapewnia wygodne wdrażanie i korzystanie z aplikacji na różnych urządzeniach.
Podsumowanie
Korzystając z prostej składni Pythona, stworzyliśmy krótką historię na platformie Ren’Py. Projekt zawiera dźwięk i muzykę, unikalne elementy graficzne oraz ciekawe rozwidlenia fabuły, które pozwalają graczom podejmować decyzje i wpływać na bieg wydarzeń.
Tę minigrę można ulepszyć zarówno pod względem funkcjonalności, jak i kodu. Efekt końcowy stanowi tylko niewielką część możliwości silnika Ren’Py. Na przykład, możesz zintegrować iluzję animacji GIF za pomocą skryptu, który wyświetla obrazy klatka po klatce. Warto również ulepszyć interfejs, zwłaszcza menu główne gry, i dodać miniportrety postaci do dialogów. Jeśli fabuła jest bardziej złożona, możesz użyć flag — zmiennych, które pozwalają zmieniać bieg wydarzeń i stosunek postaci do gracza poprzez śledzenie określonych wartości w kodzie. Aby ostatecznie ustalić, czy ten silnik jest dla Ciebie odpowiedni, ważne jest rozważenie jego zalet i wad.
- Łatwy do nauczenia. Dotyczy to osób nie tylko nieznających Pythona, ale także podstaw programowania w ogóle. Ta technologia daje osobom bez umiejętności technicznych możliwość stworzenia własnej gry.
- Duża liczba materiałów referencyjnych. Wiele samouczków dotyczących silnika jest dostępnych online, w tym w formie wideo.
- Możliwość publikacji gry na platformach stacjonarnych i mobilnych.
- Ograniczony zakres gatunków. Ren'Py jest przeznaczony przede wszystkim do powieści wizualnych, gier point-and-click i symulatorów życia.
- Im bardziej projekt wykracza poza standardową powieść wizualną, tym bardziej dogłębna będzie wymagana znajomość Pythona.
- Ogromna konkurencja na rynku powieści wizualnych. Nie zapominajmy też, że większość graczy ma tendencję do dewaluowania tego gatunku. Udowodnienie tego będzie wymagało dużego wysiłku.
- Oficjalna dokumentacja Ren'Py. Ogromna baza danych wszystkich funkcji silnika. Znalezienie konkretnej funkcji może być trudne.
- Forum Lemma Soft. Społeczność twórców powieści wizualnych, w której można znaleźć wiele przydatnych informacji. Ponieważ forum istnieje już od dłuższego czasu, niektóre rozwiązania skryptowe Ren'Py opisane w wątkach zostały opublikowane kilka lat temu i są obecnie nieaktualne. Dlatego podczas czytania prosimy o zwracanie uwagi na datę publikacji. Aby uzyskać bardziej aktualne informacje, warto dołączyć do kanału Discord forum.
- Feniks Development. Spojrzenie na Ren'Py z perspektywy programisty. Ten zasób zawiera bogactwo informacji o silniku, w tym glosariusz, przydatne narzędzia i samouczki.
- Playlista z samouczkami dotyczącymi tworzenia powieści wizualnej dla początkujących z kanału YouTube Zeil Learnings. Kanał zawiera również wiele innych przydatnych informacji o Ren'Py, w tym dla zaawansowanych użytkowników. Feniks Development zauważa, że niektóre samouczki zawierają błędy w kodzie, ale nie są one krytyczne.
Ren'Py to potężne narzędzie stworzone, aby uprościć proces wizualizacji istniejących historii, zamiast pisać je od podstaw. Powieści wizualne to złożone dzieła o wielowarstwowej strukturze, a ich długość tekstu może przekraczać 100 000 słów. Skuteczne przekazanie wciągającej narracji za pomocą tekstu i nieruchomych obrazów wymaga specjalistycznych umiejętności i doświadczenia. Korzystając z Ren'Py, należy pamiętać, że sukces powieści wizualnej zależy nie tylko od fabuły, ale także od wysokiej jakości implementacji wszystkich elementów, w tym grafiki, dźwięku i interfejsu.
Zawód projektanta gier od podstaw do PRO
A Projektant gier tworzy strukturę gry. Opracowuje koncepcję, zasady i rozgrywkę, a także decyduje, jakie emocje historia wywoła u graczy. Poznasz zasady projektowania gier od podstaw i nauczysz się pracować z popularnymi silnikami, takimi jak Unity i Unreal Engine. Dowiesz się, jak utrzymać zaangażowanie graczy i monetyzować swoje gry. Pomożemy Ci rozpocząć karierę w branży gier.
Dowiedz się więcej
