AimWorks

SDK v2

SDK для модов

Мод — это одна папка. В ней может быть что угодно в любом сочетании: тренировочные сценарии, паки звуков, темы интерфейса, скайбоксы и текстуры. Здесь описана версия SDK 2 — та, что в текущей бета-сборке.

Статус: моды уже загружаются из локальной папки. Steam Workshop (просмотр, подписка, публикация прямо из игры) откроется с релизом в Steam.

С чего начать

  1. Откройте Документы/My Games/AimWorks/Mods/ (игра создаёт её сама; на странице Моды есть кнопка «Открыть папку»).
  2. Создайте папку мода, например MyMod, и положите в неё mod.json.
  3. Добавьте папки с контентом (см. ниже) и перезапустите игру. Мод появится на странице Моды.

Структура папки

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"

Теги Workshop ставятся автоматически по содержимому папки, и игроки могут фильтровать по типу контента.

mod.json

{
  "id": "mymod",
  "name": "My Mod",
  "author": "you",
  "version": "1.0.0",
  "description": "What it adds",
  "sdkVersion": 2
}

После первой загрузки игра сама допишет в этот файл workshopId, и кнопка Обновить в Workshop будет обновлять тот же предмет.

Сценарии

Формат такой же, как у встроенных сценариев. Игрок стоит в начале координат и смотрит в сторону +Z, расстояния в метрах. При загрузке значения ограничиваются безопасными пределами. Поля-списки вроде move или shape принимают название ("move": "Strafe") или число ("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
}
ПолеЧто значит
id, name, descriptionid автоматически получает префикс: mod.<modId>.<id>
category0 трекинг, 1 клики, 2 свитчинг
difficulty1–5
durationсекунды, 10–300 (по умолчанию 60)
fireMode, rpm0 одиночный, 1 автомат; rpm 60–1200
shape0 сфера, 1 капсула, 2 плитка, 3 таблетка, 4 Duo
radius, radiusJitterметры; radiusJitter 0.3 = каждая цель случайно на 30% меньше или больше
height, healthвысота таблетки/капсулы; health 0 = неуязвимая цель
maxTargets, layout, gridCols, gridRowslayout 0 случайно, 1 сетка
minSpawnSeparationминимальное расстояние между целями, м
spawnCenter, spawnSize{"x":0,"y":1.6,"z":10}
move0 стоит, 1 стрейф, 2 плавно, 3 прыжки, 4 дрейф, 5 дуга, 6 воздух
speedMin, speedMax, changeMin, changeMaxскорость в м/с; смена направления каждые changeMin–changeMax секунд
driftTurns, verticalAmp, gravity, startLeftdriftTurns: цели в дрейфе резко поворачивают; gravity для прыжков
scorePerHit, scorePerKill, killTimeBonus, penalizeMiss, missPenaltyначисление очков
roomstudio, neon, hangar, skydeck, bunker, arena, courtyard, void

Сценарии из модов никогда не попадают в официальные лидерборды и рейтинг ЭЛО.

Темы

Тема перекрашивает весь интерфейс. Цвета в формате HTML hex, можно с прозрачностью (#RRGGBBAA). Если поле не указано, остаётся стандартный цвет AimWorks. Игрок выбирает тему в Настройки → Общие → Тема интерфейса, применяется после перезапуска.

{
  "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"
}

Паки звуков

Файлы из sounds/ доступны для любого события. Файлы из sounds/Shot, Hit, Kill, Miss или UI — только для своего события. Лучше всего короткие нормализованные WAV или OGG (выстрел — до 0,4 с). Выбираются в Настройки → Звук.

Скайбоксы и текстуры

skyboxes/: эквиректангулярные панорамы (2:1), PNG или JPG, появляются в Настройки → Небо. textures/: бесшовные текстуры для стен и пола, игра повторяет текстуру каждые 4 метра.

Свои папки (без мода)

Для себя можно вообще без mod.json: кидайте файлы в Документы/My Games/AimWorks/ — Sounds/ (с теми же подпапками), Music/ для плеера в меню, Skyboxes/ (панорамы или 6-сторонние скайбоксы zip-архивом или папкой) и Textures/.

Steam Workshop

С релизом в Steam у каждого локального мода на странице Моды появится кнопка Опубликовать. Положите preview.png (16:9, до 1 МБ) — это картинка в Workshop. Игроки смотрят и подписываются в Играть → Steam Workshop; подписанные предметы загружаются как локальные моды после перезапуска.

Обновления и ошибки

Правила