Estetyczne kodowanie gier w klikach

Klikipedia - klikowa encyklopedia
Skocz do: nawigacji, wyszukiwarki
Slimaczek.jpg
Pierwotna wersja tego artykułu pochodzi z 2. numeru Ślimaczka (zobacz oryginalny artykuł).


Autor.jpg
Autorem tego artykułu jest
Kamil

Dzisiaj zajmiemy się jedną z najważniejszych zasad BHP (Bezpieczeństwo i Higiena Pracy w Klikach). Mianowicie, postaramy się tak zaplanować kod, by tworzenie gry było jak najłatwiejsze, najwygodniejsze, najestetyczniejsze i inne ejsze. Zwróciłem na to uwagę przy projekcie Osady - tam silnik był monstrualny. Gdyby nie to, że stosowałem się do tych reguł, nic bym nie osiągnął. Przedstawiam więc kilka praktycznych reguł i zasad pięknego pisania w The Games Factory. Zaczynajmy!

Edytor scenariusza

Tutaj to właściwie tylko jedną mam sugestię. Nazywaj poziomy! Miniatury mówią tyle, co pojawiające się wszędzie Untitledy. Postaraj się o coś mówiące nazwy, czyli nie "poziom1", tylko "poziom1;walka z kogutem" itd.

Ach, i jeszcze jedno. Staraj się o chronologię w swoich grach. Bo co to za gra o takiej konstrukcji:

  1. 1. poziom
  2. Menu
  3. Sterowanie
  4. 2. poziom
  5. 10. poziom
  6. Creditsy
  7. 3. poziom
  8. 6. poziom
  9. itd

Najlepiej dać ekran wprowadzenia na początek, potem menu i jego pozycje, a dopiero potem po kolei wszystkie poziomy. Tyle w scenariuszu.

Edytor etapu

Tutaj jest ważne kilka spraw, które ułatwią potem pracę z grą, zmiany w niej, a nawet jej kodowanie. Kilka sugestii:

  • Nazywaj przedmioty! Ile ma być Obiekt Aktywny x? To strasznie utrudnia dalszą pracę w kodzie. Staraj się także o rzeczowe nazywanie - Zamiast Wróg 1, Wróg 2 itd. to np. Zły Kogut, Wściekły Gryzli itd. Skutki mogą być piorunujące. Chyba, że masz bardzo dobrą pamięć, wtedy nie musisz zmieniać ;). Poza tym, nie zmieniaj nazw tylko obiektów aktywnych. Także obiektów tła, liczników, tekstów itd. Może to nie bardzo ułatwia kodowanie, ale na pewno poprawia estetykę gry. Następna kwestia.
  • Staraj się robić własne miniaturki dla obiektów! Zwykle te miniaturki, które tworzy TGF są niezbyt rzeczowe. Nie musi to być konkretny obiekt, wystarczy jakiś symbol, który powie Ci, co to za obiekt. Bardzo ważna jest też zmiana ikonek w licznikach. Wszystkie mają jeden wizerunek, więc licznik np. przechowujący wartość X obiektu możesz określić w miniaturce jako X lub pionową kreskę. Gdy mamy wiele obiektów aktywnych w grze to bardzo to poprawia ich wyszukiwanie przy kodowaniu.
  • Staraj się używać jak najmniej obiektów! Ograniczenie obiektów tła to tylko kwestia estetyczna, ale ograniczenie obiektów aktywnych ma ogromne znaczenie! Głównie dla szybkości gry. Poza tym, gdy masz 20 rodzajów obiektów aktywnych, to musisz mieć niezły zamęt w kodzie. I pamiętaj - zamiast robić 3 liczniki skorzystaj z 3 wartości zmiennych jakiegoś mniej ważnego obiektu.

Edytor zdarzeń

Tutaj najważniejsze kwestie. Gdy zastosujesz się do tych zasad to nie dość, że będzie Ci wygodniej pracować, to gra będzie chodzić szybciej i nie zniechęcisz się przy jej tworzeniu. Tak więc, zaczynamy.

  • Unikaj zbędnych zdarzeń! Zamiast robić 6 alwaysów, daj wszystkie do jednego i do tego wszystkie akcje. Przyspiesza to grę i ułatwia prace w kodzie.
  • Obierz jakiś schemat w swoim kodzie! Bardzo wygodny jest schemat proponowany w przykładowych grach dołączonych do TGF. Grupujemy zdarzenia na różne grupy, m.in. zdarzenia na początku poziomu, zdarzenia w czasie gry, zdarzenia zwycięstwa i przegranej. To prawdziwa bomba pozytywów. Dzięki temu ułatwisz sobie pracę. Wielu zniechęciło się, bo nie stosowało żadnych schematów. Innym schematem jest grupowanie zdarzeń ze względu na ilość razy, w jakiej występują w grze. Zatem, mamy grupy zdarzeń działających ciągle, działających raz, dwa, czy na początku lub końcu etapu. To zalecenie jest głównie dla silnika gry. Jeszcze inny schemat to grupowanie zdarzeń ze względu na ich charakter. Mamy zdarzenia obsługujące silnik, planszę, wrogów, ruch bohatera itd. Ja zwykle stosuję ten schemat. Ostatnim typem jest używanie komentarzy do oddzielenia danych grup zdarzeń. Nie polecam.
  • Używaj komentarzy! To prawdziwe dobrodziejstwo, nie dość, że oddzielisz od siebie zdarzenia o różnym charakterze, to je opiszesz. Jeżeli zrobisz sobie przerwę na jakiś miesiąc, to jak wrócisz do pracy, to zapewne wszystko zapomnisz! Komentarze pozwolą Ci odświeżyć pamięć.
  • Staraj się streszczać w działaniach! Zamiast robienia 4 liczników i po kolei, w jednym odejmując wartość, w drugim dodając, w trzecim ją dzieląc, a w 4 dodając wartość z 1, lepiej wykonać to działanie w 1 liczniku. Przyspiesza to grę i zwiększa wygodę i czytelność kodu.
  • Jeżeli używasz szybkich pętli, nie nadawaj im kosmicznych wartości powtórzeń! Co z tego, że u Ciebie przy 1000 pętlach w pętli chodzi ok. Inni mogą mieć słabszy komputer, respektuj to.

Inne

  • A teraz co nie co o rozdzielczości. Pamiętaj, wciąż wielu ma rozdzielczość 800x600. Nie rób gier w rozdzielczości większej od 800x600, bo to okropnie spowalnia grę.
  • Scrolling... Najbardziej pamięciożerny proces w całym TGF. Pamiętaj, wielu ma wciąż słabe maszyny. Przewijanie przy ekranie 640x480 to już zarzynanie kompa, a co dopiero na ekranie większym niż 800x600! Jak już chcesz zrobić przewijanie, to zrób na ekranie mniejszym niż 640x480, a jak już ma być na większym, to zrób przewijanie skokowe. To prawdziwe dobrodziejstwo dla każdego gracza.
  • Nie dawaj zapowiedzi swojej gry! Już wiele osób poruszało ten wątek, więc zapraszam na http://www.fg.prv.pl.

Gra na papierze

A na koniec, kilka praktycznych wskazówek dot. konspektu gry na papierze. Staraj się robić to zawsze, nawet gdy to niewielki projekt. Ułatwi Ci to pracę i doda więcej chęci do ukończenia gry. Co musisz zachować? Przede wszystkim, opis wszelkich funkcji, zmiennych i flag w swoim silniku. Możesz to zrobić w komentarzach, ale ja wolę na papierze. Każdą zmienną opisz, co oznacza jej wartość, tak samo flagi i inne. W przypadku skomplikowanych silników może to urosnąć do kilku kartek, ale się nie martw - płyną z tego działania tylko dobrodziejstwa. Poza tym, możesz zachować podstawowe informacje o grze - ja robię zwykle tytuł, autorów, datę rozpoczęcia pracy, pomysły i inne. Nie jest to obowiązkowe, ale może się przydać.

Zakończenie

No, cóż by jeszcze napisać. Nie wyczerpałem chyba do końca tematu, ale jest ok. Stosowanie się do tych wskazówek może Ci nie jednokrotnie uratować życie. :-) A przecież to nie boli, nic nie kosztuje. Stosuj się - warto!