Stranded: Alien Dawn – Consejos avanzados de modificación

Algunos consejos que ayudarían a desarrollar mods S:AD más complejos.

 

Usar control de versiones

Sin algún tipo de sistema de control de versiones, es casi imposible desarrollar software complejo. Los mods son, de hecho, dicho software, a pesar de que algunas herramientas de interfaz de usuario integradas ayudan a simplificarlos (casi todos pueden crear un sobreviviente personalizado usando el editor de mods).
El sistema de control de versiones permite realizar un seguimiento de todos los cambios realizados en su trabajo, permite volver a versiones estables anteriores en caso de problemas y, lo que es más importante, hace posible que varios desarrolladores trabajen en el mismo proyecto con facilidad.
Una solución de control de versiones muy popular es GitHub. Proporciona alojamiento para proyectos en línea, lo que permite que varios modders desarrollen un solo mod complejo.
Otra solución es TortoiseSVN, un envoltorio de subversión de GUI, que podría usarse para alojar el proyecto en su propia computadora o en su servidor. Es muy fácil hacerlo, hay documentación disponible en línea.
Por supuesto, ambas soluciones propuestas son gratuitas (o tienen una versión gratuita).
Una vez que tenga el control de versiones funcionando, puede realizar un seguimiento de todos los cambios realizados en su mod. Por ejemplo, justo antes de cargar la nueva versión de su mod, después de guardar el mod, todos los cambios podrían verificarse. Este es un paso obligatorio, ya que muy a menudo hay cosas que se estropean en el último momento. Se informa que el propio editor de mods tiene errores.
Después de cargarlos en Steam, los cambios locales también deben "comprometerse" en el repositorio de control de versiones.
Las carpetas de mod que deben estar bajo control de versiones se encuentran en:

%appdata%\Stranded - Alien Dawn\Mods

Monitoreo de errores en tiempo de ejecución

Al probar su mod, en el mapa especial de mods, el juego muestra todos los resultados del juego en la pantalla y en la consola del administrador de mods. En caso de errores, el modder puede ver los mensajes exactos generados por el error e ir a solucionar el problema. Pero en el juego real, especialmente en los juegos guardados donde no estaba presente el nuevo mod, los errores no serán visibles. Por lo tanto, muchos mods se cargan sin haber sido probados lo suficiente y actualmente tenemos muchos informes de errores en los que un mod en realidad está rompiendo la lógica del juego.
El registro de salida del juego, donde se pueden encontrar los posibles errores, se guarda en un archivo que se puede encontrar en:

%appdata%\Stranded - Alien Dawn\logs

El problema es que el juego tiene que terminar para vaciar el registro del juego generado. Esto no es práctico para la depuración, ya que es difícil relacionar los errores en el registro con eventos específicos del juego. Hay una forma sencilla de monitorear el registro del juego en tiempo real fuera del mapa de modding. Todo lo que necesita es el IDE de Visual Studio. Cuando se adjunta al proceso del juego desde el menú Depurar - Adjuntar al proceso (o el acceso directo Ctrl-Alt-P), todo el registro del juego, incluidos los errores, será visible en tiempo real en la ventana "Salida". El proceso del juego para buscar al adjuntar debe llamarse "StrandedSteam.exe". Para aquellos de ustedes que no están familiarizados con Visual Studio, hay una versión gratuita llamada "Comunidad" que se puede descargar desde el sitio de visualstudio.

Código de modo de escritura

El motor de juego S:AD usa Lua como lenguaje de lógica de juego, aunque no es la versión estándar, sino una modificada: hay muchas funcionalidades adicionales, modificadas o eliminadas en las bibliotecas estándar. El "elemento" del código de modificación también está en Lua, aunque la versión mod no usa el original, sino un entorno limitado, donde ciertas funciones están en la lista negra. El lenguaje Lua en sí es muy fácil, cualquiera que esté familiarizado con JavaScript o Python podría usarlo. sin problema. Hay muchos IDE que se pueden usar para editar archivos Lua. Los muy populares son Visual Studio Code y Sublime, ambos gratuitos. Tenga en cuenta que Steam podría considerar que el juego aún se está ejecutando después de cerrarlo, si el IDE de Lua se ha iniciado desde el entorno de modificación. Si ese es el caso, simplemente cierre el IDE.

Usar la consola del juego

En el mapa del editor de mods, es posible abrir una consola en el juego con la tecla ENTER. Permite verificar el valor de cualquier variable del juego, por lo que es una buena herramienta de prueba. Todo lo que se escribe en la consola se evalúa como código Lua en tiempo de ejecución y los resultados se imprimen en la pantalla.
Por ejemplo, cuando se selecciona un objeto, una variable global llamada SelectedObj tiene el objeto seleccionado como valor. Al escribir eso en la consola, se imprimiría el contenido del objeto, que podría ser un texto muy grande. Por lo tanto, es bueno buscar información específica dentro del objeto. Si se escribe un punto (.) después de SelectedObj (ya que así es como se accede a los miembros en Lua), al presionar la tecla TAB se mostrará el contenido del objeto en una lista desde la que se puede seleccionar.
Otra variable global importante que podría ayudar a la depuración es UIPlayer. Este es un espacio de nombres de muchos valores importantes del juego. Por ejemplo, UIPlayer.labels.Buildings contiene una lista con todos los edificios colocados, mientras que UIPlayer.labels.Survivors es una lista con todos los sobrevivientes generados. Sin embargo, escribirlos en la consola registraría una gran cantidad de texto, lo que no es muy práctico. Hay una función de ayuda llamada ValueToStr, que podría usarse para mostrar más texto legible por humanos. Ejemplos: ValueToStr(SelectedObj), ValueToStr(UIPlayer.labels).
La consola también admite la función de autocompletar a través de la tecla TAB. De esta manera, no hay necesidad de saber el nombre exacto de una variable global dada o un miembro del objeto.
Para borrar la pantalla del texto impreso, use la tecla F9.

Trabajando con datos del juego

Al crear cosas nuevas en el juego, la forma más fácil de hacerlo es basar el nuevo elemento en uno existente. Ciertos elementos de mod tienen una opción para "Copiar desde" un ajuste preestablecido de datos vanila. Pero no todos lo tienen, y no todos los ajustes preestablecidos de datos tienen un elemento de modificación. O tal vez un mod alteraría los ajustes preestablecidos existentes, en lugar de crear nuevos ajustes preestablecidos. Sin embargo, esta intervención tiene un inconveniente, ya que simplemente deshabilitar el mod no revertiría sus efectos: los datos no se recargan cuando se deshabilita un mod, solo el código del juego.
De todos modos, es útil tener una forma de inspeccionar los datos del juego de alguna manera. Una forma es usar la consola de juegos para verificar el contenido de los Presets de var globales. Contiene casi todos los datos del juego, agrupados por clase preestablecida. Como se describió en la sección anterior, al escribir el punto (.) después de cada nombre en la consola, se mostraría una lista con el contenido del contexto actual. Así, nivel a nivel, se podría analizar todo el contenido.
Pero el uso de la consola tiene sus limitaciones, ya que el contenido de los datos es demasiado complejo para ser inspeccionado como una gran parte del texto. Más bien se requiere entender qué clases preestablecidas están registradas en el juego, para poder invocar una herramienta explícita para cada una de ellas. Hay un comando de consola que acepta la clase preestablecida que abre una interfaz de datos de interfaz de usuario:

OpenPresetEditor("<PresetClass>")

dónde tiene que ser reemplazado por la clase específica a inspeccionar. Por ejemplo, escribir en la consola OpenPresetEditor ("FXPreset") abriría el editor de efectos, que contiene uno de los elementos de datos más arcanos: los efectos visuales y de sonido.

By injto4ka

Más guías:

Deja un comentario

ArabicEnglishFrenchGermanItalianJapaneseKoreanPortugueseSpanish