FAQ 3268 3

O temacie

Autor Sawik

Zaczęty 16.04.2012 roku

Wyświetleń 3268

Odpowiedzi 3

Sawik

Sawik

Moderator działu
Rebel
posty4682
Propsy3024
ProfesjaNierób
  • Moderator działu
  • Rebel

Sawik
Moderator działu

FAQ
Wytłumaczenie słów kluczowych w moddingu.
3ds = Format pliku dla obiektu trójwymiarowego, obiekty, które można zobaczyć w grze, takie jak Miecze, lub pusty świat gry (zanim zostanie wykonany w Zen) często mylony z formatem 3DS który ma bardzo podobną budowę jednak ma większe ograniczenia w długości nazw materiałów.
AI = "Artifical Inteligence" sztuczna inteligencja; Opisuje zachowania NPC.
Ani = Animacja ; Ruchy wykonywane przez postać.
Balancing = Równoważenie poziomu trudności; Zapewnia, że​​ rozgrywka nie jest ani zbyt łatwa ani zbyt trudna.
Betatesty = Testowanie w dużej mierze skończonej modyfikacji, używane do wyłapania ostatnich bugów.
Bug = Błąd w grze,, niekorzystne skutki (np. awaria, brak dialogu / znaków)
dat = Skrypty mogą być skompilowane do pliku DAT tak by Gothic mógł zrozumieć i wykorzystać je w grze; jest to skompilowana wersja plików .d.
Deklaracja= Nazwanie zmiennej, bądź nazwanie i przypisanie wartości stałej, wartości te deklarujemy by parser Gothic wiedział jak ma się zachować napotykając je.
DIA = Dialog;Rozmowa z postacią w świecie gry
FP = Freepoint;punkt w świecie gry używany do wskazania miejsca w którym NPC ma wykonywać swoją codzienną rutynę.
Ini = Rozszerzenie pliku konfiguracyjnego moda, często możemy spotkać się z przypadkiem w którym zamiast pisać “plik konfiguracyjny" modderzy pisza po prostu “plik ini".
Insert = W wolnym tłumaczeniu z angielskiego “włóż",  jest to komenda w konsoli którą możemy przywołać wszelkie przedmioty oraz postaci, używając formy “Insert Instance”
Instance - Unikatowa nazwa przedmiotu bądź NPC używana w celu zidentyfikowania rzeczonego przedmiotu bądź NPC.  
Item = Przedmiot.
Kompilacja = Proces zmiany formatu pliku na format skompilowany używany przez grę.
Mesh = Obiekt 3D; wizualna reprezentacja obiektu w świecie gry
Mob = Monster or Beast czyli potwór lub bestia, jednak w Gothic jest to również termin używany do określenia przedmiotów użytkowych przykładowo łóżko.
Mod = Modyfikacja, najczęściej stworzona przez fanów poprawka, nieoficjalny dodatek bądź całkiem nowa historia przedstawiona na silniku używanym przez grę.
Modder = Osoba zajmująca się moddingiem czyli tworzeniem modyfikacji.
NPC =Non-player charakter, wszystkie postaci (w tym potwory) w grze innym niż ta którą kontroluję gracz.
parsowanie = Proces sprawdzający poprawność plików oraz kompilujący je do formatu .DAT.
PC = Player Character - Postać gracza, postać sterowana przez gracza
PFX = Efekty cząsteczkowe, efekty takie jak dym czy ogień i błyskotliwości są efektami cząsteczkowymi.
Release = Wydawanie modyfikacji.
Spacer = Edytor świata dla silnika ZenGin, to właśnie ten program służy do dodawania wszelkich obiektów wizulanych oraz użytkowych.
Spawn = Dodanie przedmiotu, postaci bądź potwora do świata gry.
Spell = Czar, magiczne zaklęcie w grze, przykład Kula ognia.
TA = Codzienna rutyna, określa co postać ma robić przez cały dzień.
Tekstura =  Dwuwymiarowy obiekt graficzny (rysunek lub fotografia) nakładany na powierzchnię trójwymiarowych elementów.  
Teksturowanie = Proces tworzenia oraz nakładania tekstury na model.
Zmienna = Zmienną nazywamy wartość bez określonej wartości początkowej, wartość zmiennej jest przypisywania w trakcie wykonywania funkcji.
Vob = Visual OBject, jest to w wolnym tłumaczeniu obiekt wizualny, czyli wszystko co widzimy w grze.
WP = Waypoint; Punkt odniesienia dla postaci w grze.
Zen = Świat gry zawierający wszystkie informacje o oświetleniu, vobach i tym podobnych.
ZS = ZS może sie odnosić do dwóch rzeczy, może to być albo specjalne miejsce na modelu gdzie przechowywany jest np. model broni, bądź do czynności wykonywanej.

Pakiety skryptowe.
Ikarus - Zaawansowany pakiet skryptowy rozszerzający możliwości skryptowe.
Floats - Pakiet skryptów pozwalający na dodawanie oraz operacje na liczbach zmiennoprzecinkowych.
Arrays - Pakiet rozszerzający zastosowania tablic w Gothic.
Engine-Hooks - Z  pomocą tego skryptu można rozszerzać funkcje/procedury zawarte w silniku.
LeGo - “Dodatek” do ikarusa rozszerzający jego możliwości jeszcze bardziej, ciągle w fazie bardzo szybkiego rozwoju.

Rozpoczynanie przygody z moddingiem!
Jak zacząć, oraz którą dziedzinę wybrać na swoją specjalizację.

Jeżeli jeszcze niczego nie próbowałeś, spróbuj porobić parę skryptów postaci razem z dialogami, modeli 3D razem z jakąś prostą teksturą, oraz dodaj jakieś obiekty w spacerze (edytor poziomów do Gothic), możesz również spróbować sił jako scenarzysta czyli osoba zajmująca się pisaniem zadań/fabuły. Gdy już to wszystko zrobisz a przynajmniej spróbujesz powinieneś znać podstawy każdej z dziedzin. Czemu polecam zrobić wszystkiego po trochu? Byś wszystkiego doświadczył i sam wybrał co lubisz robić.
Istnieje możliwość że wybierzesz trudną i wolną drogę jaką wybiera niewielu modderów czyli zrobić jakiś projekt samemu i robić każdą z powyżej wymienionych rzeczy osobiście, jednak wygodniejszą opcją, szczególnie na start, jest wybranie jednej i próbowanie opanowania jej do perfekcji.

Słów kilka o wchodzeniu do każdej z dziedzin:
 
Skrypty - Nauki skryptów polecam od edytowania gotowych już skryptów, dokładne czytanie tutoriali  oraz tematów na forum pozornie wyglądających na nudne bądź nieprzydatne, może to nam dostarczyć nowych informacji na przykład na temat jakiejś funkcji. Pomocna okaże się również seria tutoriali zrobiona przez  użytkownika serwisu YouTube czip17 pod tytułem, "Gothic Tworzenie Modów od A do Z".

Grafika 3D - Tutaj polecam obejrzeć tutoriale na YouTube ponieważ nie ma wielu tutoriali pisanych nie tylko tu na forum, ale również w sieci większość jest pokazana na filmach. Jeżeli zdecydujesz się na Blendera polecam tutorial "Gothic II NK Blender tutorial tworzenie map", pierwsze pięć odcinków jest poświęcone omówieniu Blendera.

Grafika 2D - Tutoriale są wszędzie, na różnych forach oraz na YouTube, ale  najlepsze tekstury wyjdą Ci za pomocą prób i błędów oraz własnych eksperymentów. Tutoriale można aplikować z jednego programu do drugiego wystarczy dobrze znać interface wybranego software. Dlatego nie ważne od wybranego programu polecam stronę www.gimpuj.org

Level Designer - Tak zwany spacerzysta, nauka spacera jest dość prosta, wystarczy przyjrzeć się już gotowym obiektom oraz poczytać tutoriale by wiedzieć jak zrobić większość rzeczy. Co do tutoriali polecam przeczytać te znajdujące się w tym dziale.

Scenarzysta - Przez wielu uważana za najłatwiejszą z wszystkich dziedzin potrzebnych do modowania, lecz wbrew pozorom tak nie jest. Napisanie dobrego scenariusza oraz ciekawych zróżnicowanych zadań wymaga sporo czasu oraz wyobraźni.
Fabuła
Tworzenie historii do gry.

Pełna lista tutoriali dotyczących moddingu Gothic z forum rónierz będzie bardzo przydatna, szczególnie na początku.

Darmowe programy
[/size][/b]

Skrypty - Zwykły windowsowy notatnik wystarczy, lecz ja polecam Notepad++, alternatywą może być również GothicSoucer czy inny przyzwoity edytor tekstu.
Grafika 3D - Blender + plugin Kerrax, GMax, Wings3D,
Grafika 2D - Gimp, Paint.Net
Spacerzysta - Spacer dostarczony jest razem z Gothic II Noc Kruka, bądź Gothic Mod Development Kit dla Gothic I.
Scenarzysta - Zwykły kawałek papieru lub windowsowy notatnik.

Przy wyborze darmowego oprogramowania graficznego może pomóc ten temat.
.Temat który może pomóc znaleźć właściwe programy wymagane do rozpoczęcia moddowania. [/size]

Odpowiedzi na najczęściej zadawanie pytania.


Pytanie: Jak dodać teksturę/model/animację do gry?
Odpowiedź: Gothic, posiada “system samoobsługi” jeżeli plik znajduje się w odpowiednim folderze, nawet w wersji nieskompilowanej, Gothic sam zajmie się wszelkimi potrzebnymi “formalnościami”
Odpowiednie ścieżki dla najczęściej dodawanych  plików -
Twój folder gothic\_Work\data\Anims - Animacje oraz modele dynamiczne - Format ASC
Twój folder gothic\_Work\data\Meshes - Modele statyczne - Format 3ds
Twój folder gothic\_Work\data\Textures - Tekstury - Format TGA
Twój folder gothic\_Work\data\Worlds - Światy - Format ZEN - Światy są wyjątkiem dla “systemu samoobsługi” Gothic, świat musi być skompilowany przez nas.

Pytanie: Mój skrypt nie działa. Dostaję błąd [kod błędu]
Odpowiedź: Naprawianie błędów w skryptach.

Pytanie: Zrobiłem nowy model, ale w grze jest zbyt mały/duży, źle jest w złej pozycji niż przewidywane. Jak to naprawić?
Odpowiedź: Eksportując model ze swojego programu do grafiki 3D musisz znaleźć właściwą skalę która przekształci twoje modele do odpowiedniego rozmiaru, najlepszym rozwiązaniem jest metoda prób i błędów, bądź zaimportowanie przedmiotu do programu 3D i robienie używająć danego przedmiotu jako referencja wielkości. Pamiętaj że po każdej edycji modelu musisz albo zmienić nazwę, albo usunąć wersję skompilowaną pliku w folderze _compiled.
Model jest w innej pozycji niż przewidywane - Ustaw model w pozycji 0 0 0.

Pytanie: Zrobiłem model, jednak nie wiem jak zrobić do niego teksturę.
Odpowiedź: UV mapy.

// Ciąg dalszy nastąpi.
 
Życzę wam seksu analnego po stronie biernej.
Dropbox +500 mb na start
LowPoly
Wykonanie modelu niskopoligonowego to sztuka kompromisu. Nie jest to jedynie uproszczenie modelu wysokopoligonowego, ale głęboka modyfikacja oraz podejmowanie decyzji często zmieniających wygląd pierwotny obiektu, tak by przy najmniejszej ilości trójkątów uzyskać jak najwierniej odwzorowany kształt oryginału. Nie można też zapomnieć o tym iż musi nadal wyglądać przekonywająco i tak balansować by uzyskać efekt optymalny.

Podstawowym założeniem jest, że model nie powinien mieć zbędnych, niewidocznych dla gracza detali włączonych w geometrie. Większość obiektów jakie znajdują się w grze powinna prezentować się najlepiej z odległości około 3-5 metrów. Wszelkie detale, które zanikają, wydają się płaskie lub zlewają się z bryłą modelu należy uznać za zbędne i pozostawić je na normal mapie.

Fakt, iż gracz będzie w stanie podejść bliżej do obiektu i zobaczyć go z mniejszej niż 3m odległości nie powinno stanowić większego problemu, gdyż większą rolę odgrywają wtedy tekstury oraz dodatkowy detal zależny od materiału obiektu. To właśnie kompromis między wydajnością, a szczegółowością otoczenia.

Detal, którego nie widać z 3-5 metrów nie powinnien istnieć w geometrii modelu.
Krawędzie znajdujące się blisko siebie, które zlewają się z większej odległości należy uprościć do wspólnej płaszczyzny

Adanos

Adanos

Administrator
Szara eminencja
posty4963
Propsy3434
ProfesjaProgramista
  • Administrator
  • Szara eminencja
Cytuj
Deklaracja= Nazwanie zmiennej, bądź nazwanie i przypisanie wartości stałej, wartości te deklarujemy by parser Gothic wiedział jak ma się zachować napotykając je.
Deklaracja określa dany identyfikator, nie tylko zmienne czy stałe, ale także inne obiekty, jak np. funkcje.
Cytuj
Kompilacja = Proces zmiany formatu pliku na format skompilowany używany przez grę.
Zmiana formatu pliku to raczej konwersja niż kompilacja. W pewnym sensie kompilacja jest konwersją, ale kompilacja to głównie tłumaczenie kodu języka na kod maszynowy zrozumiały dla maszyny, w tym przypadku dla silnika Gothica.
Cytuj
parsowanie = Proces sprawdzający poprawność plików oraz kompilujący je do formatu .DAT.
Parser nie kompiluje plików, tylko sprawdza je pod względem składniowym. Jednak parsowanie jest częścią kompilacji. Więcej o kompilacji: http://pl.wikipedia.org/wiki/Kompilacja_%28informatyka%29
Cytuj
Zmienna = Zmienną nazywamy wartość bez określonej wartości początkowej, wartość zmiennej jest przypisywania w trakcie wykonywania funkcji.
Podczas deklaracji jest przypisywana niejawnie wartość domyślna, np. dla typu int jest nią 0.

Cytuj
takie jak Miecze
Rzeczowniki w języku polskim pisze się z małej litery.

Sawik

Sawik

Moderator działu
Rebel
posty4682
Propsy3024
ProfesjaNierób
  • Moderator działu
  • Rebel

Sawik
Moderator działu

FAQ
Na początku chciałbym prosić o wydzielenie twojego i mojego posta do oddzielnego tematu; jak skończę dalszą część też zapewne znajdą się drobne błędy które ktoś będzie chciał mi wytknąć, niedawno postulowałem o oczyszczenie tutoriali, nie chciałbym być teraz jedną z osób "zaśmiecających" je. Swoją drogą, mogłeś edytować mój post, dodając odpowiednią notkę. No i zanim odpowiem na twojego posta, chciałbym Ci podziękować za poświęcenie swojego czasu na wyłapanie wszystkich błędów.

Cytuj
Deklaracja= Nazwanie zmiennej, bądź nazwanie i przypisanie wartości stałej, wartości te deklarujemy by parser Gothic wiedział jak ma się zachować napotykając je.
Deklaracja określa dany identyfikator, nie tylko zmienne czy stałe, ale także inne obiekty, jak np. funkcje.
Właśnie też tak myślałem, w jednej z książek przeczytałem definicję bardzo podobną do twojej, lecz nie byłem w 100% pewien więc odwołałem się do niemieckiego WoG#msg1032032a i stamtąd jest ta definicja.
Cytuj
Kompilacja = Proces zmiany formatu pliku na format skompilowany używany przez grę.
Zmiana formatu pliku to raczej konwersja niż kompilacja. W pewnym sensie kompilacja jest konwersją, ale kompilacja to głównie tłumaczenie kodu języka na kod maszynowy zrozumiały dla maszyny, w tym przypadku dla silnika Gothica.
Spójrz na swoje wytłumaczenie, potem na moje, i jeszcze raz na swoje. Teraz powiedz które jest bardziej zrozumiałe dla tych dla których jest to napisane? Pisząc te definicje robiłem wszystko by ująć to jak najprościej, fakt, nie ująłbym tego tak jak ty, ale mniej więcej wiem jak to działa.
Cytuj
parsowanie = Proces sprawdzający poprawność plików oraz kompilujący je do formatu .DAT.
Parser nie kompiluje plików, tylko sprawdza je pod względem składniowym. Jednak parsowanie jest częścią kompilacji. Więcej o kompilacji: http://pl.wikipedia.org/wiki/Kompilacja_%28informatyka%29
Powiedz mi Adanosie, jak sparsować skrypty bez kompilowania ich, oczywiście nie licząc sytuacji w której popełnimy błąd. Jak dobrze wiem jedyną opcją jest GothicPreParser z którym są problemy. Gothic odpala kompilator zaraz po zakończeniu parsowania, osoby które chcą wiedzieć co to parsowanie w Gothic, nie muszą sobie kłopotać ich, i tak skołowanej, głowy detalami których nawet nie rozumieją. Osoby które będą chciały wiedzieć więcej, i tak się tego dowiedzą.
Cytuj
Zmienna = Zmienną nazywamy wartość bez określonej wartości początkowej, wartość zmiennej jest przypisywania w trakcie wykonywania funkcji.
Podczas deklaracji jest przypisywana niejawnie wartość domyślna, np. dla typu int jest nią 0.
Jak dobrze rozumiem zasady działania języków, to albo wszystkie zmienne w Gothic są globalnymi (co nie wydaje mi się poprawnym) albo wszystkie są typu static. Nawet jeżeli to co powiedziałem jest poprawne, ponownie, po co dopiero zaczynający skrypter który cieszy się jak po godzinie poprawiania napisze poprawnie skrypt NPC, ma to wiedzieć?
Oraz napisałem wartości początkowej, ponieważ gothic nie napotyka żadnej wartości przypisuje (jak sam zauważyłeś) wartość domyślną, pamiętaj że w Gothic można też deklarować stałe jako zmienne przypisując im od razu wartość, a zatem to co ty napisałeś nie do końca jest poprawne.
Cytuj
takie jak Miecze
Rzeczowniki w języku polskim pisze się z małej litery.
Za błąd przepraszam, zwykły błąd jaki zdarza się, od czasu do czasu, każdemu.

Reasumując mogę to wszystko napisać jeszcze raz, pisząc paragraf o większości z podanych definicji, ale kto to przeczyta? Celem tego "tutoriala" miało być wytłumaczenie podstawowych terminów, w sposób prosty i zrozumiały dla zielonych. I tak wyszło o wiele dłuższe niż zamierzałem na początku, a nawet nie skończyłem! Na swoim komputerze powinienem mieć drugie tyle, głównie odpowiedzi na często zadawane pytania. Długie tutoriale odrzucają czytelników, co jest trochę ironiczne biorą pod uwagę fakt że zazwyczaj są one najprzydatniejsze.

Tutorial poprawię jak tylko będę miał dostęp do swojego komputera, co za tym idzie będę mógł od razu dodać część którą mam na dysku.
 
Życzę wam seksu analnego po stronie biernej.
Dropbox +500 mb na start
LowPoly
Wykonanie modelu niskopoligonowego to sztuka kompromisu. Nie jest to jedynie uproszczenie modelu wysokopoligonowego, ale głęboka modyfikacja oraz podejmowanie decyzji często zmieniających wygląd pierwotny obiektu, tak by przy najmniejszej ilości trójkątów uzyskać jak najwierniej odwzorowany kształt oryginału. Nie można też zapomnieć o tym iż musi nadal wyglądać przekonywająco i tak balansować by uzyskać efekt optymalny.

Podstawowym założeniem jest, że model nie powinien mieć zbędnych, niewidocznych dla gracza detali włączonych w geometrie. Większość obiektów jakie znajdują się w grze powinna prezentować się najlepiej z odległości około 3-5 metrów. Wszelkie detale, które zanikają, wydają się płaskie lub zlewają się z bryłą modelu należy uznać za zbędne i pozostawić je na normal mapie.

Fakt, iż gracz będzie w stanie podejść bliżej do obiektu i zobaczyć go z mniejszej niż 3m odległości nie powinno stanowić większego problemu, gdyż większą rolę odgrywają wtedy tekstury oraz dodatkowy detal zależny od materiału obiektu. To właśnie kompromis między wydajnością, a szczegółowością otoczenia.

Detal, którego nie widać z 3-5 metrów nie powinnien istnieć w geometrii modelu.
Krawędzie znajdujące się blisko siebie, które zlewają się z większej odległości należy uprościć do wspólnej płaszczyzny

Adanos

Adanos

Administrator
Szara eminencja
posty4963
Propsy3434
ProfesjaProgramista
  • Administrator
  • Szara eminencja
Odpisuję dopiero teraz, bo dopiero teraz zauważyłem twojego posta.

Cytuj
Spójrz na swoje wytłumaczenie, potem na moje, i jeszcze raz na swoje. Teraz powiedz które jest bardziej zrozumiałe dla tych dla których jest to napisane? Pisząc te definicje robiłem wszystko by ująć to jak najprościej, fakt, nie ująłbym tego tak jak ty, ale mniej więcej wiem jak to działa.
Nie chodzi o to, które wytłumaczenie jest bardzie zrozumiałe, tylko które bardziej poprawne. Nie ma żadnej potrzeby wprowadzać kogoś w błąd. Czy chciałbyś czytać książkę, w której są błędy tego typu? Raczej nie.
Cytuj
Powiedz mi Adanosie, jak sparsować skrypty bez kompilowania ich, oczywiście nie licząc sytuacji w której popełnimy błąd. Jak dobrze wiem jedyną opcją jest GothicPreParser z którym są problemy. Gothic odpala kompilator zaraz po zakończeniu parsowania, osoby które chcą wiedzieć co to parsowanie w Gothic, nie muszą sobie kłopotać ich, i tak skołowanej, głowy detalami których nawet nie rozumieją. Osoby które będą chciały wiedzieć więcej, i tak się tego dowiedzą.
Tak jak wyżej, nie wprowadzajmy nikogo w błąd. Powtórzę: parsowanie jest częścią kompilacji. Nie na odwrót.
Cytuj
Jak dobrze rozumiem zasady działania języków, to albo wszystkie zmienne w Gothic są globalnymi (co nie wydaje mi się poprawnym) albo wszystkie są typu static. Nawet jeżeli to co powiedziałem jest poprawne, ponownie, po co dopiero zaczynający skrypter który cieszy się jak po godzinie poprawiania napisze poprawnie skrypt NPC, ma to wiedzieć?
W Gothicu są zmienne globalne, nie może być zmiennych statycznych. Oczywiście nie wszystkie zmienne są globalne i nie wszystkie mają ten sam zakres.
Cytuj
Oraz napisałem wartości początkowej, ponieważ gothic nie napotyka żadnej wartości przypisuje (jak sam zauważyłeś) wartość domyślną, pamiętaj że w Gothic można też deklarować stałe jako zmienne przypisując im od razu wartość, a zatem to co ty napisałeś nie do końca jest poprawne.
Skoro deklarujesz i przypisujesz wartość zmiennej (a w przypadku Gothica stałej), to czemu kompilator miałby przypisać wartość domyślną?


0 użytkowników i 1 Gość przegląda ten wątek.
0 użytkowników
Do góry