- d2ng - Overview
- GitHub is where d2ng builds software.
Уже целую неделю мы с Perplexity.AI работаем над созданием веб-игры на основе D&D5e.
Сегодня мы больше занимались улучшением внутренней архитектуры игры, чем добавлением контента, чтобы сделать её ещё более стабильной.
★ Использование многослойного холста
Вместо использования одного холста, мы разделили его на три (background, ui, character).
Таким образом, вместо перерисовки всего холста, мы обновляем только необходимые части, что, как (утверждает) AI, повышает общую производительность. ㅎㅎ
Ещё один важный момент, который я узнал: без использования save и restore при работе с холстом, элементы могут влиять друг на друга.
Если вы хотите точно отобразить элементы на холсте, используйте save и restore.
★ Переход на ESM
Раньше мы загружали все js-файлы в html с помощью <script>, но по мере увеличения количества кода, количество js-файлов тоже росло...
Поэтому сначала я хотел использовать require.js, но AI подсказал мне более современный подход.
Благодаря этому, мы перешли на ESM. Теперь, сколько бы кода не было, это не проблема.
Как показано выше, в index.html указывается только main.js, объявленный как модуль. Выглядит неплохо.
После улучшения структуры, мы смогли добавить следующие функции:
★ Реализация взаимодействия с объектами
При входе в здание, в окне диалога появляются варианты выбора, и взаимодействие осуществляется с помощью клика (тапа).
Эта функция станет основой для добавления различных систем в будущем. Конечно, во время добавления было много багов и исправлений, но сейчас всё работает хорошо, так что ОК.
Теперь в окне диалога появляются варианты выбора, и при нажатии они работают корректно. Отметка на карте тоже отображается в правильном месте.
А в бою эффекты отображаются в зависимости от результата атаки!
Попадание — Hit! Критический удар — Critical! Ещё вчера это не работало, ха-ха-ха...
В целом, после очистки кода и улучшения структуры, реализованные функции работают так, как и ожидалось.
Так как все изображения загружаются в начале игры, мы реализовали экран загрузки.
Что ж... теперь игра выглядит более... игровой.
Кажется, мы подготовили базу, так что пора переходить к следующему этапу.
Прежде всего, нужно реализовать систему заклинаний для класса колдунов, дополнительные действия для воров и бойцов, а также...
события во время исследования, квесты, отдых, торговля предметами, сценарии и многое другое в городе...
Ох... ещё очень много работы!?
Но вместе с AI мы будем двигаться вперёд с удовольствием!
Тестовый адрес: https://ggoban.com/d2ng/
Адрес GitHub: https://github.com/d2ng/
Комментарии0