Создание слоя между ядром игры и скриптами, используемыми для создания модификаций, на мой взгляд, необходимо.
Используя этот метод, вы получаете несколько преимуществ:
Проще для моддеров.
Хорошая причина сделать это, как вы упоминали, более простые способы создания модов. Написание меньшего количества строк кода повышает читабельность и сводит к минимуму понимание проблем при программировании новичков. В идеале этот API должен представлять собой набор методов для изменения чего-либо на высоком уровне игры . Например, это означает: порождать сущность, не зная, как она на самом деле порождается , или отображать изображение одним вызовом, который принимает в качестве параметра только имя изображения.
Вы, как программист, также извлекаете из этого выгоду, так как вы можете писать больше за меньшее время, чем нужно для Java.
Безопасность.
Важно не допустить, чтобы люди контролировали всю игру. Мне было бы все равно, если бы игра была однопользовательской, но мне было бы интересно, когда в игре появилось какое-то многопользовательское действие. Даже если это только таблица рекордов.
Другие люди всегда разочаровываются, когда кто-то побеждает из-за мошенничества (например, изменение позиции, более конкретно: изменение позиции и прямое ограничение флага). Помочь игрокам сделать это - ваша главная задача здесь.
Имейте в виду, что читер всегда может декомпилировать, изменять код, перекомпилировать и играть с этим клиентом, поэтому добавляйте проверки на стороне сервера. Как правило, предоставляемая «безопасность» - это еще один, не 100% безопасный способ усложнить жизнь читерам.