Tiny X-Wing
Эта мини-игра была создана, чтобы поэкспериментировать с некоторыми концепциями, которые я хотел исследовать. А именно, эти четыре вещи:
- Элементы геймплея, управляемые данными, т. е. метод моддинга
- Визуализация игры с фиксированным разрешением, независимо от разрешения, установленного пользователем.
- Что произойдет, если вы привязать как можно большую часть игры к фиксированной частоте кадров?
- Тестовая площадка для фигур в реальном мире в игровом процессе и редакторе
Прежде чем я начну писать о технических аспектах в стиле журнала разработки, вот небольшая информация о том, что на самом деле представляет собой эта маленькая мини-игра.
Дальнейших разработок в этом направлении не будет, так как оно более чем выполнило свою задачу.
Геймплей!Отправляйте свой TIE Fighter против эскадрильи X-Wings! Сражайтесь плечом к плечу со своими союзниками, и обе стороны будут поддержаны противоистребительным фрегатом Lancer.
Ощущения и игровой процесс вдохновлены классическими компьютерными играми X-Wing 90-х годов, хотя они намного проще, чем те игры.
Элементы управленияПредпочтительнее играть с помощью геймпада, но в игру можно играть только с помощью клавиатуры, используя клавиши со стрелками и W/S. Все органы управления полетом перечислены на экране.
Зрительская камераПосле того, как игрок убит выстрелом или нажатием клавиши самоуничтожения (K), он помещается в камеру наблюдателя и может свободно летать по области, наблюдая за битвой.< /p>
Чтобы управлять камерой зрителя, удерживайте правую кнопку мыши и используйте WASD клавиши для перемещения.
Создание новых бойцовВ любой момент игры могут быть созданы новые эскадрильи истребителей с искусственным интеллектом. В основном это была просто функция отладки, но интересно создать больше истребителей и посмотреть, что произойдет.
Фрегаты Lancer не могут быть возрождены после их уничтожения.
МонтажИгру можно скачать и установить вручную или через приложение itch.io. Официальное приложение itch предоставляет лаунчер, похожий на Steam, для загрузки и установки игр, и это самый понятный способ играть в игру. Просто перейдите на страницу этой игры и нажмите кнопку "Установить".
При загрузке вручную выполните следующие действия:
- Загрузите zip-файл с этой страницы.
- Откройте zip-файл и извлеките «TinyXWing» в папку на жестком диске.
- Внутри извлек папку «TinyXWing», дважды щелкните «TinyXWing.exe»
Чтобы удалить игру:
- Удалите извлеченную папку "TinyXWing". Игровой процесс, управляемый данными, также известный как "Поддержка модов"
Это послужило движущей силой создания этой игры и связано с чем-то вроде моего давнего увлечения разработкой современных игр. Сначала немного предыстории.
Как раньше делали игрыТрадиционно, когда вы собирались создать видеоигру, вы писали игру с нуля. "Движок" и игра часто были синонимами, и, поскольку вы все это писали сами, это также означало, что вы частонаписать свои собственные инструменты для разработки игры. Если сделать так, чтобы игра читала файлы, хранящиеся на компьютере, которые легко доступны и редактируются геймдизайнерами, это делает разработку игры быстрее и проще, чем если бы все было жестко закодировано в коде игры.
Удачный побочный эффект этой практики заключался в том, что игроки часто могли открывать одни и те же файлы и редактировать их для создания модов и настройки своего опыта. Это не всегда было задумано разработчиками, но чаще всего это было долгожданной функцией, и многие из крупнейших игр в мире берут свое начало в моддинге видеоигр.
Сколько (много) игр делается сейчасПеренесемся в сегодняшний день: у разработчиков игр теперь есть готовый доступ к готовым движкам, таким как Unreal и Unity. Особенностью этих движков является то, что они имеют встроенные редакторы. Вместо того, чтобы писать свои собственные импортеры моделей, свои собственные инструменты анимации, свои собственные создатели уровней и т. д., теперь у вас есть эта потрясающая среда разработки, в которой вы можете делать все это!
Это фантастика. Никогда прежде создание игр не было таким простым, доступным и интуитивно понятным. Вам больше не нужны специальные знания во многих разрозненных дисциплинах, чтобы написать собственный стек технологий. Вы можете начать с того, что уже работает, и сосредоточиться на создании игры.
Однако при таком подходе что-то было потеряно. Чтобы разработка и игры были оптимизированы для работы с редактором, этообязательно означает, что многое из того, что раньше было легко редактируемыми и читаемыми игровыми данными, теперь находится в этих инструментах редактора. Вместо того, чтобы задавать параметры X-Wing в текстовом файле, который затем загружается, вы можете просто настроить X-Wing в редакторе и сразу увидеть свои изменения. Хотя это значительно ускоряет время итерации, с точки зрения пользователя приходится жертвовать легкодоступными игровыми данными. Для большинства разработчиков и игр это компромисс, который вполне оправдан того.
Делаем игру на Unity модифицируемойЭто возвращает нас к исходной точке. Моя главная цель в этом проекте состояла в том, чтобы элементарные элементы игры управлялись легкодоступными файлами на жестком диске. Это полностью противоречит тому, как Unity (и Unreal) предназначены для работы. Во многих отношениях вы значительно усложняете себе жизнь, практически не получая практической выгоды с точки зрения процесса разработки.
* На данный момент я чувствую, что должен указать, что существуют исключительные обстоятельства, когда имеет смысл построить свою игру таким образом, но для подавляющего большинства это будет только помехой.< /p>
С этой целью многие свойства корабля в этой игре загружаются из нескольких файлов, которые находятся в «TinyXWing_Data\StreamingAssets\Ships». Я рекомендую просмотреть эти файлы, изменить их и перезагрузить игру, чтобы поэкспериментировать.
С точки зрения разработчика, создание игры на Unity с учетом такогометодологии, но мне очень хотелось попробовать. Как старый моддер, я получаю определенное удовлетворение от того, что игровые данные изложены так просто и доступно. У этого также были некоторые очень интересные побочные эффекты с точки зрения того, как мне нужно было размещать и структурировать код игры, чтобы он был достаточно гибким, чтобы справляться с такими вещами.
Это далеко не единственный способ моддинга в Unity, но эта тема гораздо шире, чем эта игра/публикация. Однако я скажу, что, по моему опыту, Kerbal Space Program является золотым стандартом того, насколько далеко можно продвинуть подход, основанный на данных, в Unity. Здесь действительно есть на что посмотреть.
Запуск с фиксированным разрешением (640x480)Не так много, чтобы сказать об этом, я просто подумал, что было бы интересно пойти на "аутентичный опыт" и попытаться имитировать некоторые причуды старых игр, просто чтобы посмотреть, к чему это приведет. 640 x 480 было очень распространенным разрешением в последние годы существования DOS, поэтому я хотел посмотреть, что я могу сделать, чтобы форсировать его соотношение сторон, независимо от того, в каком разрешении работает игра.
Не знаю, есть ли способ лучше, но я добился этого, визуализировав всю игру в текстуру рендеринга фиксированного размера (640 x 480), а затем растянув ее на весь экран с сохранением соотношения сторон. Довольно простые вещи.
Запуск всей логики с фиксированной частотой обновления 30 ГцРазработчику очень нравится запускать всю (или, по крайней мере, как можно большую часть) логики игры с фиксированной скоростью.е, особенно если это относительно низкая частота, например 30 Гц. Я бы даже сказал, что это роскошь. Основное преимущество этого заключается в том, что он делает игру гораздо более предсказуемой, стабильной и последовательной. Для некоторых игр такие гарантии могут значительно упростить работу.
Я также заметил, что это переосмыслило мое представление о добавлении функций. В то время как обычно я думаю о функциях с точки зрения "сколько кадров в секунду это приведет к удару?", с фиксированной частотой кадров это вместо этого становится "сколько вещей я могу добавить, прежде чем это начнет влиять на производительность?" р> Использование «фигур» в практической среде
Меня давно раздражают трудности, с которыми Unity сталкивается при рисовании четких и идеальных до пикселя линий. Фрейя Холмер разработала плагин моей мечты Shapes. Он был только что выпущен, и, поскольку я использовал его только в демонстрационных средах, мне было любопытно попробовать его в простом автономном и практическом проекте, прежде чем сделать решающий шаг и попытаться интегрировать его в Tiny Combat.
В этом проекте я использовал его для отладки визуальных элементов (см. выше), звезд в скайбоксе и для помощи в рисовании лазеров, чтобы лазеры всегда отображались в виде непрерывных пиксельных линий, даже если они находятся далеко от камеры. С ним приятно работать, и я настоятельно рекомендую его!
Как скачать Tiny X-Wing через торрент
Всего несколько простых шагов:
- Устанавливаем программу μTorrent, через которую мы будем скачивать торренты
- Выбираем и скачиваем подходящий торрент-файл репака Tiny X-Wing
- Двойным кликом открываем скаченный файл, программа μTorrent запустится автоматически и предложит выбрать место для сохранения дистрибутива.
- После того как репак скачается, запускайте его. Начнется установка и... это все, приятной игры!