Tworzenie gier - Omówienie interfejsu Enigmy (część 1)

in #polish7 years ago

Aby zacząć coś tworzyć musimy opanować podstawy środowiska typu RAD. Środowiska te cechują się tym, że podstawowe rzeczy (głównie interfejs) można sobie wyklikać. Enigma to raczej pół-RAD, ale trzeba opanować środowisko, w którym pracujemy.

obraz.png

Tak wygląda interfejs Enigmy (tzw. LateralGM). Omówimy najważniejsze elementy z grupy "Resources".

Z góry zaznaczam - będę informował o najważniejszych rzeczach. Z czasem jak zaczniemy robić małą grę to będziemy naszą wiedzę rozszerzać!

Jak to traktować?

Wszystko w zakładce Resources należy traktować jako zbiór katalogów i plików (jak w eksploratorze Windows). Nie są to pliki "notatnikowe" jak w wielu środowiskach, ale często podzbiory (pliki) należą do zbiorów (np. Sprites).

Oczywiście możemy tworzyć w zbiorach własne "katalogi" - by coś pogrupować. Na przykład postacie z gier możemy oddzielić od potworów itd. ma to efekt ułatwiający nawigowanie, bo nie jest konieczne.

Omawiamy ...

  • Sprites to zbiór zawierający grafiki i animacje do naszej gry.
  • Sounds to zbiór zawierający muzykę i dźwięki.
  • Backgrounds zawiera tła statyczne.
  • Paths przechowuje "ścieżki". Przykładem niech będzie gra Tower Defense, gdzie potwory idą po tej samej ścieżce. W Paths je rysujemy.
  • Scripts działają jak funkcje. Ogólnie wygląda to tak, że jeśli musimy coś wykorzystywać wiele razy z różnych źródeł, możemy to zapisać w skryptach, a potem wywoływać (uruchamiać).
  • Fonts to zbiór czcionek, jakie wykorzystujemy w grach. Przyda się to wtedy, gdy będziemy kazać grze napisać coś inną czcionką niż jest domyślnie. Z czasem mam nadzieję, że się wyjaśni).
  • Objects są to obiekty czyli funkcjonalne ... cosie. Obiekt zawiera (jeśli jest potrzebne) grafikę i wszelkie elementy zdarzeń (tzn. eventów). Na przykład możemy zrobić objekt, który przy powstawaniu ma 100 HP (event Create), jak będzie miał kolizję z obiektem jakimś to straci 20HP, jeśli będzie miał 0HP to zniknie ... i tak dalej.
  • Room należy traktować jako mapę lub pewien pokój (...?). Takim pokojem może być cała mapa gry lub na przykład przestrzeń, gdzie będzie rysowane menu gry.

Na razie może to wydawać się nieintuicyjne, ale mam nadzieję, ze z czasem stanie się zrozumiałe.

Sprites

obraz.png

1 . Nazwa sprite. Czasem zdarza się, że chcemy zmienić sprite obiektu z jednej na drugą (np. kodem). Nazwa wtedy jest potrzebna. Nazwa ta identyfikuje element w zbiorach, więc musi być unikatowa. Dla sprite polecam spr_<COŚ>, np. spr_character.

2 . Transparency pixel to rozwiązanie umożliwiające stworzenie przeźroczystości na podstawie piksela (zwykle jest to lewy dolny róg, ale może da się to ustawiać). Jeśli mamy np. grafikę na fioletowym tle, to tą opcją możemy zamienić owe tło na przeźroczystość.

3 . Origin jest to miejsce od którego zaczyna się rysowanie (że tak powiem). Domyślnie jest 0, 0 czyli rysując grafikę od tego miejsca narysuje się całość w lewym górnym rogu. O wiele częściej ludzie używają przycisku "center", który ustawia "punkt" na środku. Oznacza to, że prosząc grę o narysowanie grafiki w punkcie 0, 0 będzie ucięta gdyż całość będzie przesunięta.

Trochę dziwne, to inaczej. Jest to punkt początku grafiki.

Zwykle ustawia się go na środek, gdyż chcąc go dodać w danym punkcie zwykle musimy obliczyć wszelkie przesunięcia. Tworząc w konkretnym punkcie to środek naszej grafiki tam się pojawi. Jeśli nie rozumiecie to z czasem zrozumiecie :D (chyba)

4 . Punkt czwarty informuje jaką metodą będzie brana kolizja pod uwagę. Najważniejszy jest kwadrat i precyzyjny. W ogólnym rozrachunku jeśli grafika ma przeźroczystości to cała figura grafiki jest brana pod uwagę - nawet jak jest tam przeźroczystość.

W precyzyjnym obliczane kolizje są na podstawie pikseli, więc musi dojść do zderzenia grafiki (bez przeźroczystości) z inną.

Ufff, może coś zrozumiecie.

Na koniec

Do zobaczenia w następnym wpisie. Oczywiście będzie ich parę, z powodu rozległości tego zagadnienia. Myślę, że do 3-4 ...

Sort:  

Co z takim dziełem możemy zrobić na koniec? Wyeksportować do pliku wykonalnego exe?

Tak. Całość jest kompilowana do jednego pliku i możesz wysłać nawet na Steam (przynajmniej w teorii), albo po prostu ludziom :D

Co najlepszego w tym zrobiłeś?

http://ocult.tk/download/occult-win.zip

Coin Marketplace

STEEM 0.17
TRX 0.15
JST 0.028
BTC 60583.13
ETH 2342.84
USDT 1.00
SBD 2.48