Hexcasting

Wprowadzenie

Mod Hexcasting pozwala na tworzenie własnych zakleć poprzez rysowanie symboli różdżką.

UWAGA 1: W artykule opisywane są koncepty ściśle związane z matematyką i informatyką, jednakże używane słownictwo i opisy są często specjalnie uproszczone, tak by informacje były jak najbardziej zrozumiałe dla osób niezaznajomionych z tymi dziedzinami.

UWAGA 2: Artykuł jest ciągle w budowie i jego jakość może być wątpliwa. Więcej informacji zostanie dodane wkrótce.

Teoria

Składanie zaklęć ma formę pseudo języka programowania, opartego na stosie.

Stos

stos

Stos to pojęcie informatyczne, oznaczające pewien sposób ułożenia danych (strukturę danych). Jak sama nazwa wskazuje, dane są w nim ułożone jak na stosie.

A mówiąc prościej:

  • Stos to sposób ułożenia rzeczy.
  • Jeśli chcemy dodać nową rzecz do stosu (tak zwany push), to kładziemy ją na górę.
  • Jeśli chcemy zabrać rzecz ze stosu (tak zwany pop), to zabieramy ją z góry.
  • Nie można wyciągać rzeczy bezpośrednio od dołu stosu.

stos2

Struktury danych (takie jak stos) służą do przechowywania informacji w różnym ułożeniu. Struktury różnią się od siebie funkcjonalnością i sposobem ułożenia danych. Niektóre dane łatwiej ułożyć w jednej strukturze, a niektóre w innej. Drzewo genealogiczne łatwiej zrealizować korzystając ze struktury typu drzewo, niż ze stosu. Dokonywanie operacji na danych w różnych strukturach różni się również szybkością (w zależności od dopasowania danych do struktury).

Operacje

Zaklęcia w Hexcasting bazują na operacjach na stosie. Nazwa symbolu mówi jaką operację na stosie wykonuje (tj. dodaje jakąś rzecz lub zabiera):

Nazwa Operacja
Zabiera Dodaje
Reflection 0 1
Purification 1 1
Distillation 2 1
Exaltation 3+ 1
Decomposition 1 2
Disintegration 1 3+
Gambit Inna

Wobec tego np. symbol Mind's reflection nie zabierze nic ze stosu i doda do niego jedną rzecz (w tym przypadku gracza).

Argumenty, Ioty

W książce od Hexcastingu częstym pojęciem jest Iota, jest to po prostu określenie na rzeczy dodawane do stosu, profesjonalnie nazywane również argumentami lub parametrami.

Rzeczy, jakie możemy dodawać i zabierać ze stosu są różne i najlepiej skorzystać z książki, która opisuje na jakich typach rzeczy pracuje dany symbol, np:

Symbol Compass' purification zabiera ze stosu rzecz typu entity (gracz, mob, item), robi coś z nimi, a następnie dodaje do niego wektor.

Wektory

Książka Hexcastingu linkuje obszerne wyjaśnienie odnośnie wektorów, dostępne również z polskimi napisami: Link.

Jednak ci, którzy niespecjalnie chcą pogłębiać wiedzę z zakresu matematyki/fizyki/informatyki, mogą przyjąć, że wektor w dużym uproszczeniu to po prostu lista liczb.

stos

Rzecz znajdująca się na dole stosu na powyższym screenie to wektor, w tym przypadku oznaczający pozycję gracza w świecie, a więc tak zwane kordy. Kordy można podawać (np. na czacie) tak jak to się zwyczajnie robi (np. X:0, Y:0, Z:0), ale można równie dobrze przedstawić je w postaci listy (wektora), tak jak na screenie. Oczywiście tracimy w ten sposób część informacji podanej wprost, bo nie wiemy, które liczby oznaczają którą współrzędną (X, Y czy Z), ale możemy założyć, że podane są właśnie w tej kolejności, bo taka kolejność jest z reguły standardem.

Wektor nie musi oznaczać koordynatów, może oznaczać również np. kierunek patrzenia, choć ciężko zobrazować taki przypadek w prostych słowach, ponieważ to konkretne zastosowanie wektora dotyczy bardziej teorii matematycznej.

Ciekawostka: wektor w zastosowaniach informatycznych jest strukturą danych, podobnie jak stos.

Po co zabierać coś ze stosu?

Zabieranie ze stosu nie powoduje wyrzucenia zabranej rzeczy. Najczęściej dany symbol zabiera coś ze stosu, by coś z tym zrobić i dodać do stosu wynik przeprowadzonej operacji.

Powyższy symbol zabierze ze stosu dany entity (np. gracz, mob, item), obliczy jego współrzędne i doda je na stos. W rezultacie na stosie pozostaną nam współrzędne danego entity.

Praktyka

Podstawowe informacje:

  • Do tworzenia zaklęć potrzebna jest różdżka (Staff).
  • Menu różdżki otworzyć można klikając nią prawym.
  • Niektóre zaklęcia będą wymagać ametystu ekwipunku gracza jako paliwa.
  • Kolejność rysowanego symbolu ma duże znaczenie i warto zwracać uwagę na to, jak symbole są rysowane w książce, w poniższym poradniku nie ma przedstawionej kolejności rysowania symbolu.
  • W przypadku pomyłki można wyczyścić różdżkę klikając shift + prawy.
  • Nie ma znaczenia, w którym miejscu rysowane są poszczególne symbole, znaczenie ma jedynie ich kolejność.

Zaklęcia odkrywa się najciekawiej samemu, dlatego w tym artykule przedstawione są jedynie podstawy, które powinny wystarczyć do dalszych eksperymentów.

Proste zaklęcie teleportacyjne

Do wykonania tego zaklęcia potrzebny będzie 1 kawałek zwykłego ametystu na każde 2 przemierzone bloki w teleportacji (w tym konkretnym przypadku 2 kawałki, bo przemierzamy 4 bloki).

Użyteczne zaklęcia (np. teleportacja) w książce znajdują się w menu, dostępnym po kliknięciu ikonki książki na powyższym zdjęciu.

Bazą tego zaklęcia będzie powyższy symbol, przenosi on entity (w tym przypadku akurat gracza) w kierunku patrzenia o daną odległość. Potrzebować będziemy zatem gracza i odległość.

Gracza możemy dodać do stosu stosując powyższy symbol.

Liczby mogą się wydawać bardziej skomplikowane i mało intuicyjne, dlatego na ogół lepiej stosować do nich Abascus. W tym przypadku jednak ograniczymy się do dodania liczby symbolem, by to zrobić, należy wykonać powyższy symbol, a następnie (nie odrywając myszki) 4 linie proste w prawo. Każda linia prosta w prawo dodaje 1 do liczby.

Na stosie mamy już gracza i liczbę, teraz należy narysować wspomniany wcześniej symbol Blink. Jeśli wszystko zostało wykonane poprawnie i w ekwpipunku gracza były 2 kawałki ametystu, to powinna nastąpić teleportacja.

Tworzenie innych zaklęć wygląda analogicznie (wkrótce być może pojawi się więcej przykładów).

Zapisywanie zaklęć do ponownego użycia

Pisanie od zera tych samych zaklęć nie ma sensu, dlatego istnieje sposób na zapisywanie zaklęć, by potem je użyć (nie mylić z zaklinaniem itemów). Do zapisu zaklęć służy Focus i Spellbook. Zapisywanie zaklęć zostanie szerzej opisane wkrótce, ale wykorzystuje symbole Intro/Retrospection, Scribe Reflection/Gambit oraz Hermes' Gambit.