En mi opinión, es necesario crear una capa entre el núcleo del juego y los scripts, que se usa para crear modificaciones.
Obtiene varias ventajas al usar este método:
Más fácil para los modders:
una buena razón para hacer esto es, como mencionaste, una forma más fácil de hacer modificaciones. Escribir menos líneas de código significa más legibilidad y minimiza los problemas de comprensión para los novatos de programación. Idealmente, esta API debería ser una colección de métodos para cambiar algo en el alto nivel del juego . Esto significa, por ejemplo: generar una entidad sin saber cómo se genera realmente , o mostrar una imagen con una sola llamada, que solo toma el nombre de la imagen como parámetro.
Usted, como programador, también se beneficia de él, ya que puede escribir más en menos tiempo del que necesitaría con Java.
Seguridad:
evitar que las personas controlen todo el juego es esencial. No me importaría, si el juego fuera un título para un solo jugador, pero me importaría cuando el juego tenga alguna acción multijugador. Incluso si es solo una tabla de puntaje alto.
Otras personas siempre se sienten frustradas cuando alguien gana debido a las trampas (por ejemplo: cambios de posición, más específicamente: cambio de posición y límite de bandera directo). Evitar que los jugadores lo hagan es su tarea principal aquí.
Tenga en cuenta que el tramposo siempre puede descompilar, cambiar el código, volver a compilar y jugar con este cliente, así que agregue comprobaciones en el lado del servidor. En general, la "Seguridad" proporcionada es solo otra opción, no 100% segura, para dificultar la vida de los tramposos.