Moim zdaniem konieczne jest utworzenie warstwy między rdzeniem gry a skryptami służącymi do tworzenia modyfikacji.
Korzystając z tej metody, zyskujesz kilka zalet:
Łatwiej dla modderów:
Dobrym powodem do tego jest, jak wspomniałeś, łatwiejszy sposób tworzenia modów. Pisanie mniej wierszy kodu oznacza większą czytelność i minimalizuje problemy ze zrozumieniem dla początkujących programistów. Idealnie, ten interfejs API powinien być zbiorem metod zmiany czegoś na wysokim poziomie gry . Oznacza to na przykład: Odrodzenie istoty bez wiedzy o tym, jak naprawdę się ona odradza , lub wyświetlenie obrazu za pomocą jednego wywołania, które przyjmuje tylko nazwę obrazu jako parametr.
Ty, jako programista, również zyskujesz na tym, ponieważ możesz napisać więcej w krótszym czasie niż byłoby to konieczne w Javie.
Bezpieczeństwo:
Uniemożliwianie ludziom kontrolowania całej gry jest bardzo ważne. I nie obchodzi mnie, czy gra będzie pojedynczy tytuł graczem, ale zależy mi, gdy gra ma pewne działania multiplayer. Nawet jeśli jest to tylko tabela najlepszych wyników.
Inni ludzie są zawsze sfrustrowani, gdy ktoś wygrywa z powodu oszukiwania (na przykład: zmiany pozycji, a dokładniej: zmiana pozycji i bezpośrednie ograniczenie flagi). Twoim głównym zadaniem jest, aby uniemożliwić to graczom.
Pamiętaj, że oszust zawsze może dekompilować, zmieniać kod, rekompilować i grać z tym klientem, więc dodaj kontrole po stronie serwera. Ogólnie rzecz biorąc, „Bezpieczeństwo” jest tylko kolejną, nie w 100% bezpieczną opcją, która utrudnia życie oszustom.