How do I create an obse plugin?

Guía para Crear Plugins de OBSE para Oblivion

01/06/2010

Valoración: 4.43 (2821 votos)

The Elder Scrolls IV: Oblivion sigue siendo, décadas después de su lanzamiento, un título venerado por una comunidad de jugadores increíblemente activa. Gran parte de esta longevidad se debe a la escena del modding, y en el corazón de esta escena se encuentra una herramienta fundamental: el Oblivion Script Extender, más conocido como OBSE. Este recurso no solo permite que los mods más complejos funcionen, sino que también abre una puerta para que los desarrolladores con ideas ambiciosas lleven el juego más allá de sus límites originales. Si alguna vez te has preguntado cómo se crean esas modificaciones que parecen hacer magia, la respuesta a menudo reside en los plugins de OBSE. En este artículo, desglosaremos el proceso y te guiaremos en tus primeros pasos para convertirte en un creador de contenido para Oblivion.

How do I create an obse plugin?
To create an OBSE plugin you may want to look the example project. If the plugin you want to create define commands you need to request an opcode range to use. Reach us on the Discord server. Here there is a list of already allocated ranges. Can I update OBSE mid play-through? Yes, and you are encouraged to do so.
Índice de Contenido

¿Qué es exactamente OBSE y por qué es tan crucial?

Para el jugador promedio, OBSE es simplemente un archivo que se instala para que sus mods favoritos funcionen. Sin embargo, para un desarrollador, es mucho más. OBSE es una extensión que amplía las capacidades de scripting del motor de Oblivion. Lo más importante es que logra esto sin modificar los archivos ejecutables del juego (.exe), lo que significa que no causa efectos secundarios permanentes y es completamente seguro de usar. Funciona inyectando código en tiempo de ejecución, proporcionando a los scripters y modders un conjunto de funciones y comandos mucho más rico y potente que el que ofrece el juego base.

Gracias a OBSE, los modders pueden manipular aspectos del juego que antes eran inaccesibles. Desde interfaces de usuario completamente nuevas hasta sistemas de combate renovados o mecánicas de supervivencia complejas, casi todas las grandes innovaciones en el modding de Oblivion de la última década han dependido de esta herramienta. La versión actual es un fork mantenido por la comunidad, lo que garantiza que este recurso vital siga siendo compatible y se actualice para los sistemas modernos.

Primeros Pasos: Preparando tu Entorno de Desarrollo

Antes de sumergirte en la creación de tu primer plugin, es esencial tener un entorno de trabajo limpio y funcional. Esto implica no solo tener el juego, sino también una instalación correcta de OBSE y las herramientas necesarias para empezar a programar.

Instalación de OBSE

La correcta instalación de OBSE es el primer paso ineludible. El proceso varía ligeramente dependiendo de la versión de Oblivion que poseas. Es crucial seguir las instrucciones al pie de la letra para evitar problemas de compatibilidad o fallos en el arranque.

Tabla Comparativa de Instalación de OBSE

Versión del JuegoInstrucciones Clave
Retail (Copia física)Copia los archivos obse_1_2_416.dll, obse_editor_1_2.dll, obse_loader.exe y la carpeta Data en tu directorio principal de Oblivion. Debes iniciar el juego siempre desde obse_loader.exe.
Steam (Windows)Copia los archivos obse_1_2_416.dll, obse_editor_1_2.dll, obse_steam_loader.dll y la carpeta Data en el directorio del juego. Inicia Oblivion de forma normal a través de Steam. OBSE se cargará automáticamente.
Steam (Linux con Proton)Sigue los mismos pasos que para Steam en Windows, pero con un paso adicional: haz una copia de seguridad de OblivionLauncher.exe y luego renombra obse_loader.exe a OblivionLauncher.exe. Esto fuerza a Steam a lanzar OBSE.
Mod Organizer 2Los usuarios de MO2 deben seguir una configuración especial para registrar el ejecutable de OBSE dentro del gestor de mods para que funcione correctamente con su sistema de archivos virtual. Consulta la documentación oficial de MO2 para obtener instrucciones detalladas.

Advertencia importante: Se desaconseja encarecidamente instalar Oblivion en directorios protegidos por el sistema, como Archivos de Programa o Program Files (x86), ya que puede causar problemas de permisos que impiden que OBSE funcione correctamente.

Herramientas de Desarrollo

Para crear un plugin de OBSE, necesitarás conocimientos de programación, específicamente en C++. Los plugins son archivos DLL (Dynamic Link Library) que se compilan y que OBSE carga al iniciar el juego. Además, necesitarás:

  • Un entorno de desarrollo integrado (IDE) como Visual Studio.
  • El código fuente de OBSE, que contiene el proyecto de ejemplo y las cabeceras de la API necesarias.

Creando tu Primer Plugin: El Proceso Detallado

El equipo de OBSE ha facilitado enormemente el punto de entrada para los nuevos desarrolladores al proporcionar una plantilla de proyecto. El viaje para crear tu propio plugin comienza aquí.

1. Descarga el Código Fuente de OBSE: El primer paso es obtener la distribución completa del código fuente desde su repositorio oficial. Dentro de este paquete, encontrarás un proyecto llamado obse_plugin_example.

2. Utiliza el Proyecto de Ejemplo: Este proyecto es tu plantilla. Contiene la estructura básica y todo el código necesario para que un plugin se comunique correctamente con la API de OBSE. Debes empezar por compilar este ejemplo para asegurarte de que tu entorno de desarrollo está configurado correctamente.

3. Explora la Documentación de la API: La documentación principal para la API del plugin se encuentra en el archivo PluginAPI.h, dentro del código fuente de OBSE. Este archivo es tu biblia. Define las estructuras, funciones y callbacks que puedes usar para interactuar con el juego a través de OBSE.

4. La Cuestión Crítica del `Opcode`: Si tu plugin tiene la intención de añadir nuevos comandos de script que puedan ser utilizados por otros modders en el Construction Set, te enfrentarás a un concepto crucial: el opcode (código de operación). Cada comando en el juego y en OBSE tiene un identificador numérico único, un opcode, que va de 0x1000 a 0x7FFF. Para evitar conflictos catastróficos donde dos plugins intenten usar el mismo identificador para diferentes funciones, es absolutamente obligatorio solicitar un rango de opcodes al equipo de desarrollo de xOBSE. No puedes simplemente inventar uno. Esta medida garantiza la estabilidad y la retrocompatibilidad dentro del ecosistema de mods.

5. Código Abierto como Norma: El equipo de OBSE ha invertido miles de horas en ingeniería inversa y documentación de los componentes internos de Oblivion. Como una forma de retribuir y mantener la salud de la comunidad, solicitan que todos los desarrolladores de plugins publiquen el código fuente de sus creaciones. Esto no solo ayuda a otros a aprender, sino que también permite una revisión por pares para garantizar que los plugins sean estables y no introduzcan problemas en el juego.

Preguntas Frecuentes (FAQ) para Desarrolladores y Usuarios

A continuación, resolvemos algunas de las dudas más comunes que surgen al trabajar con OBSE y sus plugins.

¿Puedo actualizar OBSE a mitad de una partida?

Sí, y de hecho es muy recomendable. Las actualizaciones suelen incluir correcciones de errores y mejoras de estabilidad que no afectarán negativamente a tu partida guardada.

Mi antivirus detecta OBSE como un virus. ¿Es seguro?

Se trata de un falso positivo. Debido a la forma en que OBSE se inyecta en el proceso del juego, algunos programas antivirus lo marcan erróneamente como comportamiento sospechoso. Es completamente seguro. Debes agregar los archivos de OBSE a la lista de exclusiones de tu antivirus.

¿Cómo utilizo el TES: Construction Set con las funciones de OBSE?

Para compilar scripts que utilizan los comandos añadidos por OBSE, no puedes simplemente abrir el editor de la forma habitual. Debes lanzarlo a través de la línea de comandos. Abre una terminal en tu directorio de Oblivion y ejecuta el comando: obse_loader -editor. Esto cargará el Construction Set con las capacidades de OBSE activadas.

¿Es posible hacer una versión de OBSE para Xbox 360 o PS3?

No, es imposible. Estas consolas tienen una arquitectura de sistema cerrado que no permite el tipo de modificación a nivel de memoria que OBSE requiere.

¿Puedo modificar y lanzar mi propia versión de OBSE?

Está altamente desaconsejado. Como se mencionó anteriormente, la asignación de opcodes es crítica. Una versión no oficial podría crear conflictos irresolubles con la versión principal y con otros plugins. La forma correcta de extender la funcionalidad de OBSE es creando un plugin. Si tienes una idea para una mejora del núcleo de OBSE, la vía adecuada es contribuir al proyecto oficial a través de una Pull Request en su repositorio.

Crear un plugin para OBSE puede parecer una tarea intimidante, pero es una de las formas más gratificantes de contribuir a la comunidad de modding de Oblivion. Siguiendo las directrices, utilizando los recursos proporcionados y colaborando con la comunidad, puedes pasar de ser un simple jugador a un creador que moldea activamente la experiencia de uno de los RPG más queridos de todos los tiempos.

Si quieres conocer otros artículos parecidos a Guía para Crear Plugins de OBSE para Oblivion puedes visitar la categoría Modding.

Subir