How do I use the commerce online SDK?

Guía para Modding con el SDK de Commerce Online

14/04/2013

Valoración: 3.93 (8239 votos)

Adentrarse en el mundo del modding puede parecer una tarea titánica, pero con las herramientas adecuadas, cualquier jugador con una chispa de creatividad puede transformar su experiencia de juego. Hoy vamos a sumergirnos en una de las herramientas más potentes a tu disposición: el kit de desarrollo de software (SDK) de Commerce Online. Este SDK te permitirá desarrollar y depurar módulos de juego, nuevas mecánicas y temas visuales para llevar tu universo virtual a una nueva dimensión. Puedes instalarlo y usarlo en cualquier entorno de Windows 10, sin necesidad de tener acceso a un servidor de desarrollo del juego, aunque te mostraremos cómo conectarte a uno para llevar tus pruebas a un nivel profesional y testear tus creaciones contra un entorno en la nube en tiempo real sin desestabilizar la partida de nadie.

How do I use the commerce online SDK?
You can use the Commerce online SDK to develop and debug e-commerce modules, data actions, and themes. It can be installed and used in any Windows 10 environment, and doesn't require a deployed Commerce environment. However, it can also be useful to connect to a live cloud environment (for example, "Dev," "Test," "UAT," or "Prod").

El proceso típico para extender la plataforma del juego y crear tus propias maravillas incluye una serie de pasos bien definidos que te guiarán desde la instalación hasta el despliegue de tu obra maestra. Primero, instalarás las herramientas de desarrollo necesarias. Luego, obtendrás la última versión del SDK. Opcionalmente, pero muy recomendado para proyectos colaborativos, configurarás un sistema de control de versiones. A partir de ahí, llega la parte divertida: construir y extender módulos, acciones de datos y temas. Probarás tus creaciones usando datos simulados y, si lo deseas, contra un entorno de juego en la nube. Finalmente, empaquetarás todo en una configuración desplegable y la compartirás con la comunidad. ¡Prepárate para dejar tu huella en el juego!

Índice de Contenido

Entendiendo la Arquitectura del Juego

Antes de que empieces a escribir código y a diseñar nuevos elementos, es fundamental que comprendas cómo está construido el juego. Entender su arquitectura es como conocer el plano de un edificio antes de empezar a remodelar. Te recomendamos que te familiarices con la arquitectura general de la plataforma y, en especial, con la de sus componentes de juego online. Los tres pilares que podrás modificar son los módulos, las acciones de datos y los temas.

  • Módulos: Piensa en ellos como nuevos elementos interactivos dentro del juego. Podría ser un nuevo tipo de tienda, un panel de información personalizado para el jugador, un sistema de crafteo único o cualquier otro componente que añada funcionalidad a la interfaz.
  • Acciones de datos: Estas son el cerebro detrás de la operación. Las acciones de datos definen nuevas lógicas o mecánicas de juego. Por ejemplo, podrías crear una acción de datos que calcule un nuevo sistema de bonificaciones por lealtad en una tienda o que gestione una mecánica de evento especial que has inventado.
  • Temas: Aquí es donde tu talento artístico brilla. Los temas te permiten cambiar la apariencia visual del juego. Puedes crear desde un simple cambio de colores en la interfaz hasta un rediseño completo de todos los menús y ventanas para que se ajusten a una temática específica, como una festividad o el lore de tu facción favorita.

Prepara tu Taller de Modding: El Entorno de Desarrollo Local

Todo gran artesano necesita su taller, y el tuyo será tu entorno de desarrollo local. Antes de empezar, asegúrate de que tu sistema cumple con los requisitos mínimos. El desarrollo para esta plataforma utiliza herramientas de código abierto, gratuitas y muy populares en la comunidad de desarrolladores.

Las herramientas principales que necesitarás son:

  • Node.js: Es el entorno de ejecución de JavaScript que actuará como un servidor local en tu máquina. Esto te permitirá correr y previsualizar tus mods en tiempo real sin necesidad de subirlos al juego constantemente.
  • Yarn: Es un gestor de dependencias. Se encargará de descargar e instalar todas las librerías y piezas de código que tu mod necesita para funcionar correctamente. Es como un asistente que se asegura de que tienes todas las piezas antes de empezar a construir.
  • Visual Studio Code: Un editor de código fuente ligero pero potente. Es altamente personalizable y cuenta con miles de extensiones que te facilitarán la vida a la hora de escribir y depurar el código de tus mods.

Una vez instaladas estas herramientas, podrás utilizar la interfaz de línea de comandos (CLI) que viene con el SDK para crear nuevos módulos a partir de plantillas o clonar módulos ya existentes para modificarlos a tu gusto. Este es el primer paso práctico para materializar tus ideas.

Conectando con un Servidor del Juego en la Nube

Si bien puedes desarrollar y probar muchos aspectos de tus mods de forma local con datos simulados (mocks), llegará un momento en que querrás ver cómo se comportan con datos reales y en un entorno vivo. El SDK te permite conectar tu taller local con un servidor del juego en la nube (ya sea de desarrollo, pruebas, UAT o incluso producción, aunque con mucho cuidado). Esto es increíblemente útil para depurar problemas complejos y probar la integración de tu mod con el ecosistema completo del juego.

Configurando el archivo .env

En la raíz de tu proyecto del SDK, encontrarás un archivo llamado .env. Este archivo es la clave para conectar tu entorno local con el mundo exterior. Contiene varias variables de entorno que puedes configurar para apuntar a un servidor en la nube. Hay dos escenarios principales que puedes configurar: apuntar al servidor de datos del juego o apuntar a una web del juego en la nube.

Escenario 1: Conexión al Servidor de Datos del Juego

Al configurar tu entorno para que apunte a un servidor de datos en la nube (conocido en la documentación técnica como Retail Server), podrás depurar tus módulos y acciones de datos utilizando información en tiempo real del juego. Todas las llamadas a la lógica del juego irán directamente a este servidor, que te devolverá datos reales. Esto es perfecto para ver cómo tu nuevo módulo de tienda muestra los precios dinámicos de la economía del juego o cómo tu nueva acción de datos interactúa con el inventario real de un personaje.

Para ello, deberás configurar variables en tu archivo .env como las siguientes:

MSDyn365Commerce_BASEURL=https://direccion.del.servidor.del.juego/
MSDyn365Commerce_CHANNELID=68719478279 (El ID del mundo o instancia del juego)
MSDyn365Commerce_OUN=128 (El ID de tu personaje, facción o unidad operativa)

Escenario 2: Renderizando una Página del Juego en tu PC

El segundo escenario te permite apuntar a un sitio del juego en la nube. De esta forma, las páginas o interfaces del juego, que son gestionadas por el sistema de contenidos (CMS) del juego, pueden ser renderizadas en tu servidor local de Node.js. Esta configuración es fantástica porque puedes probar cambios en módulos, acciones de datos y temas sobre páginas reales sin afectar al sitio en vivo. Por ejemplo, puedes modificar la apariencia de la página de inicio del juego, probarla en tu PC con la estructura real de esa página, y ningún otro jugador verá tus cambios hasta que los despliegues oficialmente.

Para lograr esto, las páginas del juego se pueden guardar como archivos JSON (mocks de página), que contienen la estructura de los módulos y sus configuraciones. Tu entorno local usará este JSON para construir la página, pero renderizará las versiones locales de tus módulos. Así, puedes iterar y probar cambios visuales a una velocidad de vértigo.

Tabla Comparativa de Métodos de Prueba

CaracterísticaPruebas Locales (con Mocks)Pruebas contra Servidor en Vivo
Velocidad de IteraciónMuy RápidaMás lenta (depende de la red)
RequisitosSolo tu PC con el SDKConexión y credenciales para el servidor
Tipo de DatosFicticios o simulados (archivos locales)Datos reales y en tiempo real del juego
Ideal para...Desarrollo de UI, cambios visuales y lógicas simplesDepuración de lógicas complejas, economía e interacciones con datos vivos

Empaqueta y Comparte tu Creación

Una vez que has terminado de desarrollar y probar tus cambios, y estás satisfecho con el resultado, es hora de compartir tu trabajo con el mundo. El proceso final consiste en construir un paquete, que es básicamente un archivo comprimido (zip) que contiene todos tus nuevos módulos, acciones y temas. Este paquete se sube a la plataforma de gestión del juego (en el mundo corporativo lo llaman Microsoft Dynamics Lifecycle Services o LCS). Una vez desplegado en el entorno de juego en la nube, todos los jugadores de ese servidor podrán ver y disfrutar de tus cambios. ¡Es el momento en que tu creación cobra vida!

Preguntas Frecuentes (FAQ)

¿Necesito ser un programador experto para usar este SDK?
No necesariamente. Si bien tener conocimientos de JavaScript, HTML y CSS es muy útil, el SDK proporciona herramientas y plantillas que facilitan mucho el proceso. Con paciencia y siguiendo las guías, puedes empezar a hacer cambios simples y aprender sobre la marcha.
¿Puedo romper el juego para otros jugadores mientras pruebo mis mods?
No, si sigues las buenas prácticas. Al desarrollar en tu entorno local y probar contra servidores de desarrollo o prueba, no afectas la experiencia del juego principal. Solo cuando despliegas el paquete a un entorno en vivo tus cambios son visibles para todos.
¿Qué es Node.js y por qué lo necesito?
Node.js es un entorno que permite ejecutar código JavaScript fuera de un navegador web. En este contexto, crea un pequeño servidor en tu ordenador que simula el entorno del juego, permitiéndote previsualizar tus mods al instante sin tener que subirlos al servidor real cada vez que haces un cambio.
¿Puedo colaborar con otros modders?
¡Por supuesto! Es muy recomendable. Herramientas como Git y plataformas como Azure DevOps o GitHub son perfectas para gestionar el código de un proyecto entre varias personas, compartir cambios y trabajar en equipo para crear mods aún más grandes y complejos.

Si quieres conocer otros artículos parecidos a Guía para Modding con el SDK de Commerce Online puedes visitar la categoría Guías.

Subir