Pytanie: do uniona przed jego wgraniem coś potrzeba ?
Union bez pluginów jest po prostu SystemPackiem w wersjach nowszych od 1.8, więc musisz jedynie zainstalować patch Gothic 2.6 (fix) oraz GothicStarter.
i czy np taki mod jak Randomizer jest na ikarusie zrobiony czy unionie ?
Ikarus + LeGo
ikarus to taka hmm brudna forma rozbudowy silnika
To nie jest żadna rozbudowa, ponieważ nie dodaje on nic nowego. Pozwala jedynie za pomocą luki w parserze skryptów uzyskać dostęp do pamięci, a tym samym wykorzystać praktycznie wszystkie możliwości silnika z poziomu samych skryptów. Ale poszerzyć jego możliwości już nie. Rozbudować możesz go na przykład poprzez wstrzyknięcie kodu z własnej dll-ki. Ikarus ma jedynie możliwość ładowania plików dll, ale zwykły loader każdy może sobie zrobić w kilka minut. Przykładowy kod łatwo znaleźć w internecie.
że union lepszy bo pozwala własne pluginy pisać
To, że pozwala to jedna sprawa. Ale istotne jest też to kto ten plugin tworzył. Widziałem kody źródłowe paru pluginów pewnych osób i mogę z pewnością stwierdzić, że z użyciem pakietów skryptowych zrobiłbym to lepiej... Istnieje też ryzyko konfliktów niektórych pluginów, co zresztą nietrudno zauważyć na niektórych gothicowych serwerach Discord czy facebookowych grupach. Ludzie potrafią mieć nasrane kilkadziesiąt pluginów, a potem pytać czemu gra się sypie.
bo niby union nie ma limitów
To C++ nie ma limitów. W tym zakresie Union oferuje jedynie loader dynamicznych bibliotek, trochę gotowych rozwiązań ułatwiających pracę i w pełni zreversowane klasy. To co chcesz zrobić nie jest zależne od Uniona, tylko od twoich umiejętności. Jak jesteś na tyle zdeterminowany, to możesz nawet zmienić API renderujące z DirectX 7 na DirectX 12 lub Vulkan i dodać sobie do tego ray tracing, wielowątkowość i inne pierdoły.
Splash, Tobie się nawet nie chce zainstalować visual studio, aby zrobić plugin XD
Niektóre rzeczy jest łatwiej zrobić na pakietach skryptowych, ale to tylko, że powstało X gotowych rozwiązań np. z Lego.
Ale za to inne łatwiej zrobić unionem, bo masz całe API silnika w c++ gotowe, więc też nie widzę sensu robić swojego, jeżeli chcesz zrobić moda, a nie nauczyć się, w jaki DOKŁADNIE sposób silnik funkcjonuje.
Parę pluginów jest napisanych w słaby sposób, ale to nie wina samego pakietu, a twórców.
C++ będzie zawsze szybsze, jeżeli napiszesz optymalnie kod, ikarus ma z tą szybkością problem dosyć widoczny,
jeżeli dużo się go wykorzystuje, a to pokazywał choćby permem, który przy sporej ilości obiektów wczytywał 2 minuty grę (to być może jest już zoptymailowane trochę, ale nadal raczej to nie jest idealne).
A to czy poszczególne pluginy kolidują to już nie wiem co to za problem, ikarus też ma ninję i ona także może kolidować, zawsze można zablokować w swoim modzie je. A na pewno teraz kolidują mniej (także z lego) tym, że mogą używać hooki jako PATCH.
Pakiety skryptowe mają jeden największy problem, a mianowicie BARDZO SŁABE informowanie o błędach.
Możesz w skryptach zrobić coś takiego i nie będzie błędu, a to jest nawet błąd z podstawowych skryptów:
if(zmienna)
{
var int zmienna; zmienna = 12321;
};
Pakiety skryptowe czasem dodają chociaż call stack, ale nadal to się wyświetla dopiero, gdy dany błąd nastąpi i wywali całkiem grę.
Nawet w lego przez parę lat był wyciek pamięci z permmema i dopiero w tym albo tamtym roku to naprawili twrócy, a błędów tego typu było też trochę innych.
I to jest największa według mnie bolączka pakietów skryptowych, w c++ masz lepsze możliwości debugu (jeżeli oczywiście chcesz z nich korzystać).
Pakiety skryptowe oczywiście nie mają samych minusów, jednak union raczej ma plusów więcej, dużo bardziej komfortowo się kod pisze, dużo częściej trzeba korzystać z różnych deassemblerów z pakietami skryptowymi, niż z unionem, np. nawet jak chcesz wywołać głupią funkcję z silnika, to musisz mieć jej adres z pamięci i jeszcze powywoływać w odwróconej kolejności argumenty, które też często musisz z różnych innych źródeł znaleźć.
Z unionem też, jeżeli będziesz chciał robić głębokie zmiany w silniku, to musisz trochę przy takich narzędziach spędzić czasu, jednak częstotliwość ich używania jest dużo mniejsza.
Jednak jeżeli się nie ma doświadczenia z programowaniem, to lepiej raczej korzystać z gotowych rozwiązań na pakietach skryptowych, które przez lata powstały w setkach.
Dzieje khorinis są na unionie, ale ogólnie to dużo modów raczej nie ma na unionie, bo modderzy są przyzwyczajeni do starych rozwiązań i korzystają z dziury w parserze,tak samo jak Splash :>