Blog (8)
Komentarze (30)
Recenzje (0)

Project Spark - kurs tworzenia gier część 2, projektowanie lokacji w grze

@GameDevProject Spark - kurs tworzenia gier część 2, projektowanie lokacji w grze17.01.2014 00:32

W pierwszej części kursu poznaliśmy podstawy programowania logiki w grach. W tej części naszym zadaniem będzie wymodelowanie jakiegoś prostego świata. W kolejnych lekcjach chciałbym zachować ten rytm. Jedna lekcja o programowaniu, jedna lekcja o modelowaniu. Tak by całość pozwalała na sprawną naukę. Bo tak jak wcześniej napisałem Project Spark to wehikuł czasu który cofa nas do lat 90-tych gdy gry pisane były przez jedną lub dwie osoby. Musimy wiec nie tylko potrafić programować logikę gry ale także stworzyć własne poziomy. Jedno bez drugiego nie może istnieć. Naszym dzisiejszym zadaniem będzie zbudowanie domu Bag End należącego do Bilbo Bagginsa.

Project Spark posiada bardzo zaawansowany edytor do modelowania przestrzeni z pełnym zestawem narzędzi wymaganych do stworzenia dowolnego poziomu. Mamy narzędzia do dodawania/usuwania bloków terenu, do łagodnego rozszerzania/drążenia, wygładzania/wyostrzania a nawet specjalny filtr który przekształci nasz poziom na podobieństwo Minecraft. W ramach poziomu możemy dodawać setki obiektów gdzie przy każdym możemy definiować nie tylko jego kolory ale także zasady fizyki a nawet skrypty sterujące. Zapomnijmy o krzesłach, stolikach których bohater nie mógł przewrócić, jedna zmiana parametru i na element będą działały prawa fizyki które dodatkowo możemy modyfikować. Poza możliwością modelowania terenu i używania obiektów możemy także w pełni kontrolować oświetlenie. Od prostych spraw takich jak wybór pory dnia, pozycji słońca po pojedyncze źródła światła. Gdzie każde źródło światła poza podstawowymi parametrami może mieć własny skrypt sterujący jego zachowaniem. Ostatnim elementem jest obsługa kamery co także jest częścią modelowania świata ponieważ w poszczególnych miejscach możemy ustawiać konkretne ujęcia. Kto pamięta Alone in the Dark ten wie jak ważna jest odpowiednia praca kamery by budować klimat lub kierować gracza w odpowiednie miejsca. Możliwości są więc nieograniczone i bardzo trudno będzie je wszystkie opisać. Ale postaram się pokazać przynajmniej podstawy

Modelowanie terenu

Tworzymy nowy projekt i wybieramy pędzel ADD który służy do dodawania lub odejmowania pełnych fragmentów terenu. To najprostszy pędzel który w przeciwieństwie do pozostałych nie posiada parametru intensywności. Teren jest dodawany lub odejmowany a więc pędzel idealnie nadaje się by wymodelować wzgórze. Następnie wybieramy pędzel EXPAND odpowiedzialny za rozszerzanie by zapełnić braki terenu i całość wyglądała porządnie. Gdy nasza górka jest gotowa wracamy do pędzla odejmowania by wydrążyć w niej naszą willę Bag End. Najlepiej zrobić to pędzlem w kształcie walca ponieważ najłatwiej się go kontroluje. Możemy także użyć wygładzania co jest przydatne jeżeli zrobiły nam się schodki przy modelowaniu ścieżek które zmieniają wysokość

Ważna uwaga praktyczna. Project Spark obsługuje każdy rodzaj kontrolera. Możemy modelować za pomocą myszki czy gamepada ale ja osobiście polecam tą drugą metodę. Modelowanie przestrzeni 3D jest dużo wygodniejsze jeżeli możemy się naszym pędzlem poruszać wygodnie w trzech wymiarach co jest niemożliwe w przypadku myszki. W przypadku kontrolera mamy dwa analogi które pozwalają nam wygodnie poruszać się w poziomie, rozglądać, przybliżać. Wszystko kilka razy szybciej bo bez konieczności przełączania trybów obsługi myszy. Oczywiście w dalszym ciągu warto mieć pod ręką klawiaturę by nadawać nazwy zmiennym ale sam gamepad jest dużo wygodniejszym narzędziem do modelowania 3D niż myszka. Pełny układ kontrolera jest następujący:

  • X/Y - przesuwanie pędzla w pionie (niezależnie od kierunku obrotu kamery)
  • Lewy analog - poruszanie pędzla w poziomie (niezależnie od obrotu kamery)
  • RB + Lewy analog - przybliżanie oddalanie kamery
  • Prawy analog - rozglądanie się kamerą
  • LB + Prawy analog - zwiększa lub zmniejsza pędzel
  • LB + Krzyżak na boki lub lewy analog - wybieranie skalowania lub rotacji obiektów
  • Prawy trigger - selekcja obiektów oraz wybieranie
  • Lewy trigger - przyciągnięcie obiektu do terenu
  • Krzyżak lewy i prawy - wybieranie obiektów z menu
  • Krzyżak w górę - otwiera galerię obiektów i tekstur
  • Krzyżak w dół przez 1 sekundę - aktywowanie grida
  • Select - wycofywania poleceń
  • Start - menu aplikacji
  • RB + A - centruje kamerę na graczu
  • RB + B - szybki wybór kilku widoków na zaznaczony obiekt
  • LB + Y - edytor skryptów czyli Brain
  • LB + B - edytor bohatera
  • LB + X - usunięcie obiektu
  • LB + A - edytor właściwości obiektów

Teksturowanie terenu

Teksturowanie w przypadku Project Spark jest banalnie proste. Mamy kilkanaście slotów do których przypisujemy wybrane tekstury. Co jest dosyć nietypowe to takie tekstury to nie tylko płaski kolor jak w klasycznych narzędziach ale także animowane obiekty 3D. Dodatkowo taka trójwymiarowa tekstura dostosowuje się do powierzchni. Tak wiec wybierając jedną z nich możemy malować trawę na powierzchniach poziomych podczas gdy ta sama tekstura użyta na powierzchni pionowej rysuje animowane trójwymiarowe pnącza. Bardzo przyspiesza to modelowanie poziomów. Pędzel teksturowania posiada współczynnik intensywności więc możemy łatwo mieszać nasze tekstury. Przykładowo rysując łąkę a następnie z mniejszą intensywnością porozrzucać kamienie lub inne obiekty powiązane z teksturami. Kolorujemy więc nasz teren zgodnie z naszym gustem. Warto pamiętać że zmiana zawartości slotu zmienia nam wszystkie jego użycia w ramach poziomu co ułatwia testowanie. Można przykładowo zmienić trawę w śnieg itp.

Korzystanie z obiektów

Gdy mamy już zarys naszego wzgórza to zaczyna się najważniejsza faza modelowania terenu czyli umieszczanie obiektów. Od prostych obiektów typu kamienie i drzewa bo skomplikowane złożenia które sklejamy w całość. W Project Spark nie możemy tworzyć własnych obiektów więc musimy składać interesujące nas przedmioty z innych. Tak jak w przypadku kloców LEGO. Przykładowo na naszym poziomie potrzebowałem okrągłych drzwi które są charakterystycznym elementem Hobbitonu. Jednak wszystkie dostępne drzwi są prostokątne. Robimy więc złożenie kamiennego okręgu z klasycznymi drzwiami. Puste przestrzenie po bokach uzupełniamy obiektami desek. Gotowy obiekt sklejamy w nasz własny Assembly i zapisujemy go w naszej galerii. Od tej chwili możemy w każdym domu hobbita dodawać okrągłe drzwi.

Drugą ważną opcją jest edycja właściwości. Project Spark pozwala nam nie tylko na zmianę takich prostych właściwości jak kolekcja kolorów. Mamy pełną możliwość edytowania zachowania takiego obiektu. Możemy modyfikować jak działa na dany obiekt fizyka przykładowo wysadzając na kawałki drzwi które przed chwilą skonstruowaliśmy. Ewentualnie definiować pełne skrypty modyfikując mózg danego elementu. Obiekt jabłko domyślnie posiada skrypt pozwalający na jego zjedzenie który uzupełni nam żywotność. Jest to gotowy skrypt który oczywiście możemy dowolnie zmieniać. W naszym poziomie głownie zmieniamy kolory poszczególnych obiektów oraz ich wielkość. Dodajemy obiekty tak by wynik był zbliżony do naszej wizji domu hobbita

Ustawianie parametrów świata

Ostatnim elementem którym będziemy się zajmowali w trakcie dzisiejszej lekcji jest światło. Nasz dom posiada latarnię ale jest to tylko obiekt trójwymiarowy który nie jest źródłem światła. By latarnia świeciła musimy umieścić osobny niewidoczny obiekt symbolizujący źródło światła. Taki obiekt posiada sporo właściwości dzięki któremu możemy zmieniać jego kolor itp. Jak każdy obiekt w Project Spark posiada on także własny skrypt mózgu więc źródło światła możemy ręcznie oprogramować tak jak tylko sobie to wyobrazimy. Gotowe światło możemy połączyć z obiektem latarni i zapisać w jak nasz Assembly. Jest to szczególnie przydatne jeżeli zdecydowaliśmy się dodać jakąś bardziej zaawansowaną logikę. Ułatwi nam to dodawanie wielu obiektów tego samego typu oraz ich szybką modyfikację

I to byłoby na tyle. Wymodelowanie domu naszego hobbita zabrało mi dwie godziny od pomysłu do działającej gry. Zrobienie całego miasteczka z gotowych prefabrykatów które stworzyliśmy zabrałoby jeden weekend. A później wystarczyłoby wymyślić jakieś ciekawe zadania, dialogi i po tygodniu mielibyśmy naszą własną grę przygodową. Gra posiada także masę gotowych skryptów wzorcowych które pozwalają nam na szybką naukę programowania ale tym zainteresujemy się w kolejnej lekcji.

W następnym odcinku...

Plan na kolejny odcinek kursu to ścieżki ruchu które możemy wykorzystać do kontrolowania działań postaci NPC, poruszania mechanizmów typu windy lub ruchu kamery. Dodatkowo omówiłem także działanie systemu przekazywania energii który jest odpowiedzialny za aktywowanie się skryptów. Trzecia część kursu znajduje się pod tym linkiem. Zapraszam także do przeczytania poprzedniego wpisu o programowaniu logiki

Od dziś Project Spark jest dostępny dla każdego za darmo

Od 18 marca 2014 nie są wymagane klucze beta. Każdy może ściągnąć aplikację i tworzyć własne gry bez potrzeby wcześniejszej rejestracji. Zlikwidowano także abonament Spark Time który wcześniej ograniczał możliwość grania w gry używające DLC. Teraz każdy może grać we wszystko za darmo nawet jeżeli nie odblokował samemu zawartości DLC.

Project Spark - Sklep Windows 8.1

Na potrzeby tego kursu założyłem dodatkowe konto w grze gdzie będę publikował kod dla poszczególnych lekcji. Aktualnie są tam tylko najnowsze lekcje. Zapraszam. SatiricalCrab94.

Szanowna Użytkowniczko! Szanowny Użytkowniku!
×
Aby dalej móc dostarczać coraz lepsze materiały redakcyjne i udostępniać coraz lepsze usługi, potrzebujemy zgody na dopasowanie treści marketingowych do Twojego zachowania. Twoje dane są u nas bezpieczne, a zgodę możesz wycofać w każdej chwili na podstronie polityka prywatności.

Kliknij "PRZECHODZĘ DO SERWISU" lub na symbol "X" w górnym rogu tej planszy, jeżeli zgadzasz się na przetwarzanie przez Wirtualną Polskę i naszych Zaufanych Partnerów Twoich danych osobowych, zbieranych w ramach korzystania przez Ciebie z usług, portali i serwisów internetowych Wirtualnej Polski (w tym danych zapisywanych w plikach cookies) w celach marketingowych realizowanych na zlecenie naszych Zaufanych Partnerów. Jeśli nie zgadzasz się na przetwarzanie Twoich danych osobowych skorzystaj z ustawień w polityce prywatności. Zgoda jest dobrowolna i możesz ją w dowolnym momencie wycofać zmieniając ustawienia w polityce prywatności (w której znajdziesz odpowiedzi na wszystkie pytania związane z przetwarzaniem Twoich danych osobowych).

Od 25 maja 2018 roku obowiązuje Rozporządzenie Parlamentu Europejskiego i Rady (UE) 2016/679 (określane jako "RODO"). W związku z tym chcielibyśmy poinformować o przetwarzaniu Twoich danych oraz zasadach, na jakich odbywa się to po dniu 25 maja 2018 roku.

Kto będzie administratorem Twoich danych?

Administratorami Twoich danych będzie Wirtualna Polska Media Spółka Akcyjna z siedzibą w Warszawie, oraz pozostałe spółki z grupy Wirtualna Polska, jak również nasi Zaufani Partnerzy, z którymi stale współpracujemy. Szczegółowe informacje dotyczące administratorów znajdują się w polityce prywatności.

O jakich danych mówimy?

Chodzi o dane osobowe, które są zbierane w ramach korzystania przez Ciebie z naszych usług, portali i serwisów internetowych udostępnianych przez Wirtualną Polskę, w tym zapisywanych w plikach cookies, które są instalowane na naszych stronach przez Wirtualną Polskę oraz naszych Zaufanych Partnerów.

Dlaczego chcemy przetwarzać Twoje dane?

Przetwarzamy je dostarczać coraz lepsze materiały redakcyjne, dopasować ich tematykę do Twoich zainteresowań, tworzyć portale i serwisy internetowe, z których będziesz korzystać z przyjemnością, zapewniać większe bezpieczeństwo usług, udoskonalać nasze usługi i maksymalnie dopasować je do Twoich zainteresowań, pokazywać reklamy dopasowane do Twoich potrzeb. Szczegółowe informacje dotyczące celów przetwarzania Twoich danych znajdują się w polityce prywatności.

Komu możemy przekazać dane?

Twoje dane możemy przekazywać podmiotom przetwarzającym je na nasze zlecenie oraz podmiotom uprawnionym do uzyskania danych na podstawie obowiązującego prawa – oczywiście tylko, gdy wystąpią z żądaniem w oparciu o stosowną podstawę prawną.

Jakie masz prawa w stosunku do Twoich danych?

Masz prawo żądania dostępu, sprostowania, usunięcia lub ograniczenia przetwarzania danych. Możesz wycofać zgodę na przetwarzanie, zgłosić sprzeciw oraz skorzystać z innych praw wymienionych szczegółowo w polityce prywatności.

Jakie są podstawy prawne przetwarzania Twoich danych?

Podstawą prawną przetwarzania Twoich danych w celu świadczenia usług jest niezbędność do wykonania umów o ich świadczenie (tymi umowami są zazwyczaj regulaminy). Podstawą prawną przetwarzania danych w celu pomiarów statystycznych i marketingu własnego administratorów jest tzw. uzasadniony interes administratora. Przetwarzanie Twoich danych w celach marketingowych realizowanych przez Wirtualną Polskę na zlecenie Zaufanych Partnerów i bezpośrednio przez Zaufanych Partnerów będzie odbywać się na podstawie Twojej dobrowolnej zgody.