Frontaither — маленькая браузерная игра, которая согреет вас (в разработке)
Frontaither — именно так называется игра про космос, о которой я буду рассказывать. Идея создать игру зародилась примерно 3-4 года назад, когда я вошёл в мир web-разработки и начал осваивать HTML, CSS, JS, а позже и библиотеки типа React для создания сайтов. Да-да, я вообще никак не связан с игровой индустрией.
Но идея постоянно штамповать сайты для портфолио мне показалась скучной, поэтому я решил применить все знания на практике и создать браузерную онлайн-игру в реальном времени.
Космос — это моя жизнь. Когда я впервые осознанно взглянул на звёздное небо, меня распирало от чувства внутреннего расширения и одновременно пустоты.
Тематика космоса была выбрана неслучайно. В моём опыте имеется практически весь список игр по запросу «Игры про космос». Наибольшее влияние, наверно, оказала KSP. При этом 2GB оперативной памяти и старый Celeron в прошлом заставили меня любить браузерные игры в первую очередь. Сочетание простого геймплея и художественной 2D картинки оставило свой глубокий отпечаток. Но не будем заострять на этом внимание.
Поскольку цель создания игры изначально — обучение в моей сфере разработки веб-сайтов и веб-приложений, я сразу же отказался от разных готовых JS-движков по типу Phaser и Construct. На пробу была подключена библиотека Pixi.js, где можно писать более низкоуровневый код для 2D игр.
Отличный выбор для начала. Наложим фон, создадим спрайт, напишем небольшой контроллер, привяжем камеру…
И тут я подумал, что этого недостаточно. Мне захотелось создать 3D модели кораблей, а чуть позже перевести в 3D всю игру. Кроме того, я предварительно несколько месяцев поупражнялся в Blender и, честно сказать, это было очень непросто. Что-то удалось сделать самому, что-то получить по отдельным заказам.
Чтобы всё это отрисовать потребовалось перейти на three.js. Всё ещё будучи библиотекой, он помогает подняться на один уровень выше по сравнению с программой на чистом WebGL.
Да, поток браузера был вечно перегружен обработкой матриц, поэтому пришлось оптимизировать многие процессы, читая документацию и используя ИИ для особо сложных случаев, связанных с правильной архитектурой и рендером.
Переместимся на один год вперёд. За это время я смог создать основную клиент-серверную архитектуру проекта. Сервер авторитетный.
В этой статье я не буду разбирать подробности большого количества внутренних систем, но предоставлю список самых интересных особенностей:
· Игрок управляет кораблём от 3-го лица, вид преимущественно сверху (градус камеры можно слегка менять).
· Станция представляет собою отдельную сцену. На изображении выше представлен самый первый вариант сцены. Это была самая первая неудачная попытка представить её в таком же объёмном виде, как это делалось в EVE Online (кнопка на интерфейсе «кричит» о моём заимствовании). Хотя в целом мне нечего скрывать. Такие игры, как Elite Dangerous и EVE, вдохновляли меня сильнее всего.
· Добыча ресурсов из «эфирных» облаков (почитайте про дневнегреческий эфир и поймёте о чём речь).
Тут следует отметить, что я изначально пытался связать ядро игры с различными глубокими философиями, где каждая игровая деталь будет живой.
· Умные NPC-боты, которые работают по принципу потребностей, как в игре Sims 4.
· Генерация боевых и исследовательских точек интереса
· Несколько звёздных систем с возможностью перемещения между ними без загрузочного экрана c помощью warp двигателя.
· Всё пространство единое, а загружается частично и по требованию.
· Разумеется, полный онлайн на одной карте
· 3 фракции (2 играбельные, 3 сторона это сдерживающий ИИ по лору)
В будущем планируется:
· Добавление разного рода сигнатур и аномалий, которые будут оказывать различное воздействие на игрока.
· Добавление генератора событий, как в Rimworld (не исключает ручные целенаправленные события).
· Собственные фракции, строительство объектов на карте и многое другое
Моя задача — создание такой игры, которая будет не просто борьбой «чёрного» и «белого». Она будет включать медитативную составляющую, передающую ощущение «бесконечного расширения».
Но не все из вас смогут это понять, поэтому не задумывайтесь лишний раз над этим. Воспринимайте это как стремление к отсутствию тёмных паттернов, которые во множестве игр активно манипулируют вашей дофаминовой системой.
Пускай это будет маленький незаметный мир, который будет греть вашу душу.
Более подробная информация о разработке находится в группе VK (позже создам дополнительные каналы). Разрабатываю я один не спеша, поэтому мне пригодится любая ваша критика и помощь.
P.s игра ещё только-только в pre-aplha, но уже полностью окупилась. Я смог найти работу :)