Ищем разработчика, который без ума от JavaScript и клёвых анимаций
Евгений Приходько
55

[Техпоп] Что такое «Семантическое Версионирование» или почему с обновлением BSIPA до 4.0.2 сломались моды для Beat Saber

На днях Beat Saber обновился до 1.8.0, а BSIPA (библиотека, которая добавляет моды в игру) — до 4.0.2. Вероломно. Без объявления войны. Сломали мои моды.

В закладки

На самом деле, в самой игре серьезных изменений для модов не было, весь сок в обновлении BSIPA. Прошлая версия была 3.13.7, а новая — 4.0.2. Изменение первой цифры с 3 на 4 означает, что изменения были критическими, поэтому не удивительно, что старые моды внезапно отвалились.

Если вы не знаете, что такое BSIPA, то про это можно прочитать в моем лонге. Там много сложных и интересных букв, которые, правда, не обязательны для понимания этого текста. Если коротко, то BSIPA взламывает Beat Saber и добавляет туда поддержку пользовательских модов.

Семантическое Версионирование

Семантическое Версионирование (Semantic Versioning или же просто SemVer) — это стандарт для нумерации версий программ. И игр, они же тоже программы. По этому стандарту в номере версии должно быть три цифры: мажорная, минорная и патч — например, 3.13.7.

  • Мажорная версия (major) — серьезные изменения. Например, переписали формат уровней, и теперь все новые уровни не будут загружаться в старой версии. Про такие изменения говорят, что они «без обратной совместимости».
  • Минорная версия (minor) — обычные такие, рядовые изменения. Новое меню добавили, новый пак уровней, новые анимации, новый контент. Это изменения «с обратной совместимостью».
  • Патч-версия (patch) — просто исправление багов или небольшие внутренние изменения. В самой игре ничего не меняется, большинство игроков даже не заметят, что игра обновилась.

Получается, обновление BSIPA с 3.x.x до 4.x.x — это мажорное обновление. СемВер удобен тем, что достаточно посмотреть на номер версии, чтобы понять, что твои моды для BSIPA 3 обречены.

И оказалось, что да, так и есть. В BSIPA 3 чтобы сделать мод, нужно было написать класс с интерфейсом IBeatSaberPlugin, а в BSIPA 4 они вообще удалили IBeatSaberPlugin. Теперь вместо интерфейса там используются атрибуты класса ([Plugin]) и методов ([OnStart] и [OnExit]).

Работаю в геймдеве. Пишу обо всём подряд, веду рубрики #техпоп и #когнитивочка
{ "author_name": "Евгений Приходько", "author_type": "self", "tags": ["\u0442\u0435\u0445\u043f\u043e\u043f"], "comments": 0, "likes": 7, "favorites": 0, "is_advertisement": false, "subsite_label": "unknown", "id": 119528, "is_wide": true, "is_ugc": true, "date": "Wed, 01 Apr 2020 22:42:45 +0300", "is_special": false }
Промо
Киберпанк уже здесь. Что умеют протезы, экзоскелеты и другие устройства для людей с инвалидностью
Как технологии помогают людям с нарушениями здоровья.
Объявление на DTF
0
Комментариев нет
Популярные
По порядку

Комментарии

{ "jsPath": "/static/build/dtf.ru/specials/DeliveryCheats/js/all.min.js?v=05.02.2020", "cssPath": "/static/build/dtf.ru/specials/DeliveryCheats/styles/all.min.css?v=05.02.2020", "fontsPath": "https://fonts.googleapis.com/css?family=Roboto+Mono:400,700,700i&subset=cyrillic" }
null