SDK v2
SDK de mods
Un mod es una sola carpeta. Puede incluir cualquier combinación de contenido: escenarios de entrenamiento, packs de sonido, temas de interfaz, cielos y texturas. Esta página describe la versión 2 del SDK, la de la beta actual.
Primeros pasos
- Abre
Documentos/My Games/AimWorks/Mods/(el juego la crea; en la página Mods hay un botón para abrirla). - Crea una carpeta para tu mod, por ejemplo
MyMod, con unmod.jsondentro. - Añade carpetas de contenido (ver abajo) y reinicia el juego. Tu mod aparecerá en la página Mods.
Estructura
MyMod/
mod.json required
preview.png Workshop picture (16:9, < 1 MB)
scenarios/*.json training scenarios → tag "Scenarios"
sounds/*.wav|ogg|mp3 sound pack, any event → "Sound Packs"
sounds/Shot|Hit|Kill|Miss|UI/ sound pack, one event
themes/*.json interface themes → "Themes"
skyboxes/*.png|jpg equirectangular skies (2:1) → "Skyboxes"
textures/*.png|jpg wall / floor textures → "Textures"
Las etiquetas de Workshop se asignan automáticamente según el contenido de la carpeta, así los jugadores pueden filtrar por tipo.
mod.json
{
"id": "mymod",
"name": "My Mod",
"author": "you",
"version": "1.0.0",
"description": "What it adds",
"sdkVersion": 2
}
Tras la primera subida el juego escribe workshopId en este archivo y Actualizar actualiza el mismo elemento.
Escenarios
Mismo formato que los escenarios incluidos. El jugador está en el origen mirando hacia +Z; las distancias son en metros. Al cargar, los valores se limitan a rangos seguros. Los campos de lista como move o shape aceptan un nombre ("move": "Strafe") o un número ("move": 1).
{
"id": "tiny_strafe",
"name": "Tiny Strafe",
"category": "Tracking",
"difficulty": 3,
"duration": 60,
"fireMode": "Auto",
"rpm": 600,
"radius": 0.2,
"health": 0,
"maxTargets": 1,
"move": "Strafe",
"speedMin": 3,
"speedMax": 5,
"spawnCenter": { "x": 0, "y": 1.6, "z": 9 },
"spawnSize": { "x": 8, "y": 0.4, "z": 0 },
"scorePerHit": 10
}
| Campo | Significado |
|---|---|
id, name, description | el id recibe un prefijo automático: mod.<modId>.<id> |
category | 0 seguimiento, 1 clics, 2 cambio |
difficulty | 1–5 |
duration | segundos, 10–300 (60 por defecto) |
fireMode, rpm | 0 semiautomático, 1 automático; rpm 60–1200 |
shape | 0 esfera, 1 cápsula, 2 placa, 3 píldora, 4 Duo |
radius, radiusJitter | metros; radiusJitter 0.3 = cada objetivo es un 30% más pequeño o más grande al azar |
height, health | altura de píldora/cápsula; health 0 = invencible |
maxTargets, layout, gridCols, gridRows | layout 0 aleatorio, 1 cuadrícula |
minSpawnSeparation | distancia mínima entre objetivos, m |
spawnCenter, spawnSize | {"x":0,"y":1.6,"z":10} |
move | 0 estático, 1 strafe, 2 suave, 3 rebote, 4 deriva, 5 arco, 6 aire |
speedMin, speedMax, changeMin, changeMax | velocidad en m/s; cambio de dirección cada changeMin–changeMax s |
driftTurns, verticalAmp, gravity, startLeft | driftTurns: los objetivos en deriva giran bruscamente; gravity para rebote |
scorePerHit, scorePerKill, killTimeBonus, penalizeMiss, missPenalty | puntuación |
room | studio, neon, hangar, skydeck, bunker, arena, courtyard, void |
Los escenarios de mods nunca envían resultados a las clasificaciones oficiales ni al rating ELO.
Temas
Un tema cambia los colores de toda la interfaz. Los colores van en hex HTML con alfa opcional (#RRGGBBAA). Los campos que omitas mantienen el color original de AimWorks. Se elige en Ajustes → General → Tema de interfaz y se aplica al reiniciar.
{
"id": "sunset",
"name": "Sunset",
"accent": "#FF7A45",
"accentBright": "#FFA67D",
"cyan": "#FFD166",
"bg": "#140A08EB",
"panel": "#21110DEB",
"panelLight": "#2E1913F2",
"stroke": "#FF7A4538",
"text": "#FFF4EE",
"textDim": "#D9B8A8",
"textMuted": "#8C6E62",
"good": "#52E08F",
"warn": "#FFC24D",
"bad": "#FF4D5E",
"gold": "#FFD24D"
}
Packs de sonido
Los archivos de sounds/ están disponibles para cualquier evento. Los de sounds/Shot, Hit, Kill, Miss o UI, solo para ese evento. Funcionan mejor WAV u OGG cortos y normalizados (disparos de menos de 0,4 s). Se eligen en Ajustes → Audio.
Cielos y texturas
skyboxes/: panorámicas equirrectangulares (2:1), PNG o JPG, aparecen en Ajustes → Cielo. textures/: imágenes repetibles sin costuras para paredes y suelos; el juego repite la textura cada 4 metros.
Tus propias carpetas (sin mod)
Para uso personal puedes prescindir de mod.json y poner los archivos en Documentos/My Games/AimWorks/: Sounds/ (con las mismas subcarpetas), Music/ para el reproductor del menú, Skyboxes/ (panorámicas o cielos de 6 caras en zip o carpeta) y Textures/.
Steam Workshop
Con el lanzamiento en Steam, cada mod local tendrá un botón Publicar en la página Mods. Añade un preview.png (16:9, menos de 1 MB) como imagen de Workshop. Los jugadores exploran y se suscriben en Jugar → Steam Workshop; lo suscrito se carga como un mod local tras reiniciar.
Actualizaciones y errores
- Las actualizaciones no rompen los mods. Los campos nunca se renombran ni se eliminan, los números de los valores existentes no cambian y los campos nuevos mantienen el comportamiento anterior por defecto. Cada versión del juego se comprueba automáticamente.
- Deja en
mod.jsonlasdkVersionpara la que hiciste el mod. Si el formato tuviera que cambiar, el juego convertirá los mods antiguos al cargarlos. - Un mod para un SDK más nuevo que el de tu juego no se carga, y la página Mods explica por qué.
- Los errores se muestran: erratas en los campos (con sugerencia), valores desconocidos, números fuera de rango y archivos rotos aparecen en la página Mods y en
aimworks_mods_log.txten la carpeta Mods (se reescribe en cada inicio).
Reglas
- Solo contenido propio o con licencia para compartirlo.
- Sin nombres reales de armas o marcas, sin logotipos, sin música con copyright.
- Sin contenido de odio, sexual o ilegal.
- Las salas y las armas todavía no se pueden modificar.