Моддинг Fallout'а переживает новую жизнь
Всем привет. На дворе 31-е декабря, а значит время нового поста из нашей регулярной рубрики. Ну как регулярной, иногда я немного задерживаюсь, но не сегодня!
В прошлый раз я поднимал тему бекапирования своих наработок. Тогда я не знал, как поступить и какой путь выбрать. Сейчас же, мне кажется, я нашёл ответ. Подойдёт он скриптерам, т.е. в моём случае попадание прямо в яблочко. Позвольте мне познакомить вас с модификацией Hot Reload. Первой и очень удобной функцией является то, что скрипты можно изменять и сохранять, не закрывая игру. Это намного ускоряет процесс разработки, т.к. ранее на каждое изменение нужно было запустить игру, проверить, закрыть игру и только потом продолжить разработку. А если в код закралась ошибка, и ты не понимаешь, где она, и перебираешь все возможные варианты... В общем, было очень неудобно. Но мы не жаловались, а принимали это как должное. С Hot Reload, конечно, куда приятнее. Скажу вам так: дороги назад я не вижу. Но и это ещё не всё! Каждый скрипт, который вы создали в вашем плагине, сохраняется в виде текстового файла в специальную директорию. Это позволяет открыть его в любом удобном вам редакторе. Я лично пользуюсь Notepad++, для которого ещё и плагин с подсветкой синтаксиса есть. Вроде бы и для VSCode тоже существует. Вот вам небольшой фрагмент того, как это выглядит:
Другим преимуществом текстовых файлов является то, что их-то вполне можно и под git положить. Я лично создал репозиторий в Gitlab и пушу туда изменения по мере их готовности. Это и хранение актуальных версий где-то вне, и история изменений с возможностью возврата к прошлым версиям, если что-то пошло не так. Естественно, все изменения, сделанные в этих файлах, автоматически попадают в плагин. Не нужно ничего никуда копировать.
Если говорить о Каньоне, то я большую часть времени занимался переписыванием старых скриптов. Началось всё с того, что я нашёл логическую ошибку в работе своей мини-игры. Для её исправления требовалось влезть в основной скрипт, написанный ещё в далёком 2016 году. Честно говоря, смотреть на него было больно, а пытаться что-то поменять просто нереально, т.к. любое изменение привело бы к новым проблемам. А искать их в 1000+ строках кода, почему-то разбросанных по разным квестам, очень не хотелось. Поэтому я и переписал его. Стало намного лучше, во всех аспектах. Смотреть на скрипт теперь не так больно, я исправил ту самую логическую ошибку, сам размер скрипта заметно сократился, и теперь всё лежит в одном месте. Я также улучшил саму работу игры. Вот небольшой список было/стало:
- Было: оба кубика бросались, через 5 секунд считывались значение с верхней грани, если хоть одно получить не удавалось, то оба кубика перебрасывались. Это часто приводило к ситуациям, когда один кубик перебрасывался просто так или значение по счастливой случайности считывалось с ещё катящегося кубика. Чаще всего кубикам просто не хватало времени остановиться, и происходили постоянные перебросы.
- Стало: каждый кубик теперь обрабатывается отдельно. Значения считываются только после того, как кубик остановится. Если кубик упал на ребро, то перебрасывается только он. Количество успешных бросков выросло в разы.
- Было: меню отображения ставок имело фиксированный размер, который не зависел от разрешения экрана. Позиции всех элементов были захардкожены. Размер текста был един везде.
- Стало: размер меню теперь определяется динамически. Расположение элементов так же рассчитывается динамически. Размеры текста теперь подогнаны под размеры свободной области вокруг.
Процесс переписывания всё ещё идёт, сейчас я занимаюсь блокнотом.
Помимо этого было множество мелких правок и добавлений. Даже пришлось попробовать 3D-моделирование. Не могу сказать, что получилось отлично, но я остался доволен. Члены команды вроде тоже
Ну вот, пожалуй, и всё на сегодня. Хочу пожелать всем мира и добра. Надеюсь, у вас и ваших близких всё будет хорошо.
- 7
5 Комментариев
Рекомендуемые комментарии
Для публикации сообщений создайте учётную запись или авторизуйтесь
Вы должны быть пользователем, чтобы оставить комментарий
Создать учетную запись
Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!
Регистрация нового пользователяВойти
Уже есть аккаунт? Войти в систему.
Войти