Space Wizard Power Tournament
Space Wizard Power Tournament – это реализация пошаговой тактической ролевой игры, находящаяся в стадии разработки. Он был построен командой из одного человека для первого официального игрового джема Bevy. Предупреждение: это не очень играбельно, да.
Этот проект — моя первая заявка на участие в геймджеме. Кроме того, я впервые использовал игровой движок Bevy. Одна вещь, которую я узнал, это то, как сильно я люблю архитектуру Entity-Component-System. Способ, которым он позволяет вам думать непосредственно о том, каким должно быть состояние игры, а не о том, какие методы вызывать в ваших классах, действительно полезен. Я начал этот проект, понятия не имея, как организовать или подготовиться к геймджему, а также понятия не имел, сколько времени потребуется, чтобы все заработало. Последнее я, конечно, усвоил на собственном горьком опыте. Хотя игра еще даже не близка к завершению, я хотел представить то, что у меня было, чтобы заложить основу для будущих геймджемов или проектов Bevy. В следующем году я сделаю Fire Emblem похожим на Pacman!
Исходный код размещен на Github и Source Hut. Есть несколько комментариев здесь и там.
Текущие функции- Уровни можно создавать в наборе инструментов LDtk Level Designer Toolkit и загружать в игру.
- У вас есть команда из двух юнитов (один волшебник, один воин), с помощью которых можно сражаться с врагами. Выберите свои действия на карте. Что необычно для жанра, юниты выполняют свои действия в одно и то же время, что может позволить использовать классные комбо или усиливать способности.
- У врагов естьe простой ИИ, и будет атаковать ближайший юнит. В коде доступно несколько других вариантов поведения ИИ противника, в том числе самосохранение и возможность расставлять приоритеты, какой юнит игрока кажется самым слабым (а также одна или две ошибки).
Первоначальная цель игры состояла в том, чтобы исследовать создание пользовательских заклинаний в ролевой игре. Те, в которые я играл, включают разблокировку готовых заклинаний по мере повышения уровня. Вместо этого я подумал, что было бы здорово позволить игрокам создавать свои собственные заклинания максимально гибким способом: с помощью языка программирования.
Идея заключалась в том, что заклинания будут короткими программами, которые будут напрямую изменять состояние игры. Поскольку Rust — довольно высокоуровневый язык, я решил, что возиться с реальной памятью игры неприемлемо (и очень небезопасно!), поэтому я остановился на системе для сериализации игровых объектов в буфер виртуальной памяти. После произнесения заклинания игра считывает буфер, чтобы увидеть, что изменилось, а затем распространяет изменение на реальное состояние. Виртуальная память также позволяет мне делать классные вещи, например создавать ячейки памяти, которые содержат 10-значное число вместо 8-битного, что означает, что просмотр и редактирование памяти будет намного проще для непрограммистов.
Игроки могут разблокировать сигнатуры нового типа, которые будут выделены в браузере памяти, чтобы показать, какая часть памяти соответствует какому типу. Затем они разрабатывали новые заклинания методом проб и ошибок на тренировочном уровне. Несколько примеров заклинаний могут быть включеныd, чтобы показать веревки. Чтобы все было честно, для изменения полей разных типов потребуется разное количество маны. Для изменения температуры плитки может потребоваться меньше времени, чем для изменения положения врага.
Главным недостатком этой идеи было то, что я чувствовал, что игре нужен базовый уровень сложности, чтобы писать заклинания было весело. Если единственным состоянием является положение врага и его здоровье, вы выиграете, написав вражеское.здоровье = 0. Не очень весело... Реализация пользовательского интерфейса выбора хода, поведения врага и типов фрагментов карты заняла у меня слишком много времени, поэтому на самом деле было сделано очень мало работы над системой заклинаний.
Также планируется
- Особый экран выбора уровня: в соответствии с запланированной космической тематикой уровни будут представлены в виде планет. Экран предварительного просмотра уровня будет описывать условия планеты и вражескую команду, с которой вы столкнетесь.
- Лента игровых событий: в левом нижнем углу пользовательского интерфейса лента показывала события за ход. Сюда входят вражеские атаки, а также комментарии ваших персонажей (например, они говорят «ой», когда их бьют, или, возможно, предлагают игроку предложение).
- Учебный уровень: на первом уровне должно быть всплывающее окно, объясняющее, как играть в игру. Некоторые дополнительные всплывающие окна могут уточнить систему заклинаний и помочь вам создать ваше первое заклинание.
- Дополнительная кроссплатформенная поддержка. Теоретически должна быть возможность собрать игру для Windows, MacOS, Linux и Web Assembly.
Этот проект создан с использованиемe игровой движок Bevy. Было использовано несколько других ящиков Rust, подробности см. в Cargo.toml.
Уровни были созданы с помощью замечательного инструментария LDtk Level Designer Toolkit.
Наборы плиток, содержащиеся в assets/tiles/sample_tileset, загружаются с https://kenney.nl и имеют лицензию CC0 1.0.
Как скачать Space Wizard Power Tournament через торрент
Всего несколько простых шагов:
- Устанавливаем программу μTorrent, через которую мы будем скачивать торренты
- Выбираем и скачиваем подходящий торрент-файл репака Space Wizard Power Tournament
- Двойным кликом открываем скаченный файл, программа μTorrent запустится автоматически и предложит выбрать место для сохранения дистрибутива.
- После того как репак скачается, запускайте его. Начнется установка и... это все, приятной игры!