Настало время комунити. Devlog

Настало время комунити. Devlog

Халоу, это уже пятая статья о разработке космического выжевача с огромным потанцевалом(нет). В этот раз я хочу узнать ваши желания и замечания.

Для молодых и новых

Я уже несколько месяце в свободное время от работы и других дел делаю космический выживач. Вот ссылка на страницу в стиме и Itch с демками:

Опять ничего нового?

Может быть, а может и нет. Не хочу начинать блог как обычно с оправданиями в стиле «Ну я работал, времени было мало бла бла бла». На этот раз я хочу пообщаться с вами и узнать ваше мнение по поводу проекта, да он еще сырой, но он и не релизнутый, так, что думаю будет разумно выслушать критику и ваши идеи, ибо я недавно понял, что я не понимаю некоторых моментов интереса игроков, но об этом чуть позже.

Так че нового то?

Ну для начала я озвучу то, что я реализовал с последней статьи.

Как я писал в прошлой статье я хотел реализовать останки разрушенных кораблей. И я реализовал это, механика максимально проста:

1.: Зона спавна, P.: игрок
1.: Зона спавна, P.: игрок

В зоне (1.) в случайной позиции и со случайным вращением создается префаб останков корабля(я думал над процедуркой, но это уже гемор, так, что пока хватит и заготовок в префабах), сама зона движется по орбите относительно позиции игрока, кстати для этого я создал отдельный тип объектов назвал их OrbitObject. Это те объекты, которые движутся только по орбите относительно другого объекта, в нашем случае это игрок.

Для тех кому интересна реализация:

Я использовал полярные координаты. Формула выглядит так:

var x = distance * Mathf.Cos(angle * (Mathf.PI / 180)); var z = distance * Mathf.Sin(angle * (Mathf.PI / 180));
Настало время комунити. Devlog

Кто поймет тот поймет, кто не поймет, тот счастливый человек не познавший черную скверну чисел. Если простыми словами, то не важно как далеко вы от орбиты, объект всегда будет двигаться по орбите с учетом игрока.

Ну вернемся к останкам. Система спавна работает по таймеру, и спавнят только один префаб. Если игрок отлетает на X дистанцию, то префаб удаляется. И через определенное время спавнится новый. В останках имеется лут. И наверное их можно будет разбирать на всяких хлам.

Ограничитель

В прошлых статьях я писал, что не знаю как нормально ограничить движения игрока за орбитой. И наконец-то:

Настало время комунити. Devlog

Все оказалось очень просто(почти), первая система ограничения движения была спроектирована под статичную зону куба. И она не подходила под динамичное движение по орбите, ибо приходилось бы вычислять новую матрицу для этого «куба» и вращать его. Это дикий костыль и я решил переписать с все с нуля, и я не ошибся. Решение реализовал максимально быстро.

Настало время комунити. Devlog
  • Белый круг — это зона в которой игрок может находится без каких либо проблем.
  • D.Z. (Death Zone) — если игрок выйдет за радиус белого круга, то он войдет в так называемую смертельную зону, где он начнет замерзать. Замерзание имеет значения от 0 до 100 в зависимости от дальности входа в нормальную зону. Урона наносится с учетом значения замерзания.

Как и спавнер останков эта зона тоже OrbitObject, и так же движется относительно игрока. Теперь игрок не сможет «Построить лестницу в небо» или долететь до планеты и понять, что ЭТО фальшивка!

Единственная проблема этой системы это нужно будет ограничить высоту, так как орбита на данный момент не является в форме круга.

Мало дэмэжа

Сейчас в игре очень трудно умереть, если не улетать за орбиту. И я добавил урон от столкновений, конечно это нужно балансить, но это не проблема.

Сохранялочки

Потихоньку начинаю подготавливаться к более менее масштабному тесту, с привлечением игроков, и сохранение игры очень важная штука, но есть куча аспектов которые тяжко сохранить. Сейчас уже реализовано сохранение уничтоженных объектов, частично сохраняется «плот», инвентарь, и статы.

Когда я начинал писать систему сохранения я очень боялся бесконечно долгой загрузки, ибо на сцене кууууууча объектов. И грузится сто тыщ мильенов лет чет как то не то. Чтоб вы понимали:

К примеру на сцене 50к объектов с типом ISaveable и в момент загрузки игра должна пройтись по каждому и проверить есть ли сейв для этого объекта. Но перед тем как строить супер больной алгоритм для каких либо костыльных методов загрузки в короткие сроки, я решил тупо в Awake бахнуть цикл For ну и будет, что будет.

Фото в цвете "Разработчик прогнал For в Awake "
Фото в цвете "Разработчик прогнал For в Awake "

Сцена загрузилась за секунду. Я взял каждый объект и повернул его на рандомное вращение. И я подумал, что «Да неее бред какой то», но повторные тесты дали понять, что не бред, но я не переставал сомневаться и «Да неееее у меня прост SSD мощный как я», и скинул другу с HDD. И у него загрузилось быстрее чем у меня.

И в тот момент мир для меня перевернулся, и я понял, что я теперь не ограничен силой, и могу делать ВСЕ ЧТО ЗА ХОЧУ!

Теперь нужно будет сохранять все постройки, вообще все, и это больно.

Предметы

Предметов новых не добавлял, только думал о них ночами на пролет.

Настало время комунити. Devlog

Список скромненький, но все же есть с чем разгуляться.

А че делать то в игре?

Ууууу, этот вопрос я задаю себе каждый день, недавно решили поиграть в Raft, и мы играли около часа-двух, но я под конец уже не вывозил. Смотря летсплеи на ютубе я не понимаю как люди играют так долго. Я всегда хотел сделать свою выживалку, но я понял одну вещь, меня на долго не хватит даже в самой крутой игре про выживание. И тут мне нужна ваша помощь, я хочу попытаться хотя бы как то убрать гринд из игры, что бы игра после 20ти минут не превращалась в сборку хлама. Да, многие скажут «СЮЖЕТ», но даже с ним выживание не обходится без грида. Я бы хотел почитать ваше мнение по этому поводу.

Сюжет

Медленно, но стремительно, а может и нет, я добавляю сюжетные аспекты игры. Скоро плот перестанет быть просто куском метала, а станет более сложной системой.

Настало время комунити. Devlog

Это что то вроде главного компьютера, в котором будут хранится все данные. И это будет тот фактор который обяжет игрока не забивать на свой корабль и всегда находится рядом с ним.

Хз зачем, но

я добавил FOV

Настало время комунити. Devlog

Просто захотелось немножечко FOV’a) 00))))

Roadmap

В какой то из статей я писал про свою Roadmap систему, и я хочу напомнить о ней.

Настало время комунити. Devlog

Эта Roadmap находится в главном меню игру.

Где поиграть в це

Я по мере возможности заливаю разные багованные версии на Itch.io

Можете скачать, посмотреть, что да как.

Мне даже задонатили там доллар, я был удивлен: D

Настало время комунити. Devlog

Геймплей

Вроде я что то еще забыл, но не могу вспомнить, но то, что было описано выше это думаю самое важное из новостей. Из будущих геймплей фич я думаю добавлю майнинг систему. Опасности в виде скоростных астероидов и возможно какие-нибудь аномалии для усложнения геймплея.

Строительство

Надеюсь скоро я реализую полноценную систему герметичности корабля для создания там генератора гравитации и кислорода или что то похожего.

Сейчас строить можно только на одном уровне, без второго этажа, но в дальнейших обновлениях добавить вторые этажи не будет проблемой.

Ну теперь главное

Весь этот пост был сделан по большей части для того, что бы узнать ваше мнение, ваши желания, ваши идеи и вашу критику. Проект сырой, но на то и версия 0.00x. И хотелось бы не убить более менее хорошую идею своими тупыми решениями. Я был бы рад, если бы вы поиграли в прототип на Itch и озвучили ваше мнение.

Специально для этого я сделал опрос с гугл формах:

Ну и проведу не большой опрос тут:

Сыграешь? 
Оф корс бэйба
Нет
Как оцениваешь проект?
У него есть будущее
Хорони проект
Будешь ли следить за проектом?
Почему бы и нет
Нет, ты лох
Время покажет

Steam ждет меня

Еще мне недавно пришло письмо от стима с просьбой указать цену на продукт. И у меня появился реальный вопрос «А сколько она стоить то будет на релизе», я видел кучу инди выживалок которые загоняли цену в 20$ и у них были продажи. Моя прошлая игра стоила вроде 2.99$, и это хорошая цена для такого продукта на пару часов игры с другом. Я выставил прост по приколу 9.99$ (для Омэрики), но смотря на эту цену и на свой продукт, хоть он еще и прототип, но такая цена мне кажется большой. Но и занижать цену тоже не хочется, ведь покупатель видит низкую цену и думает о сомнительном качестве. Как вы оцениваете такую цену?

9.99$ для омэрики це норм? В снг дешевле будет в разы
Нормально
Не нормально

И раз уж пошла речь о ценах и стиме, я бы хотел знать ваше мнение по поводу того, на каком этапе можно делать релиз в ранний доступ. Для меня ранний доступ это как показатель заинтересованности людей в проекте, и есть ли смысл от его существования. Я с каждым днем все более склоняюсь к тому, что бы заниматься разработкой на фулл тайме, уйти со всех других проектов, но для этого нужен доход. И для меня ранний доступ стал бы ответом на то, что настало время по полной делать игры. Но и выпускать шлак нет никакого желания, ведь в стиме итак полно хлама.

Ну а теперь попрошу проследовать в коменты, где мы с вами окунемся в бурные разговоры.

Настало время комунити. Devlog
1212 показов
516516 открытий
19 комментариев

Попробовал поиграть с рабочей машины. Имею некоторый опыт в космических леталках, в авиасимы различной степени аркадности играл. Попытался сразу же со старта прилететь на базу, промахнулся, потом потратил весь кислород, но так и не смог попасть в базовый плот. Что-то не так с руками у меня похоже.
Попробую еще разок с домашнего, дам второй шанс.

Ответить
Автор

Я думаю это по причине того, что ты не понимаешь какая скорость, как написал Vasily Petrov выше, нужно вывести скорость на экран. Записал себе в задачи, скоро думаю реализую.

Ответить

осилел не все выглядит очень умно особенно где цифры
и схемки

Ответить
Автор

Имеешь введу, что надо было расписать проще? По сути я расписал все это по причине отсутствия каких то новых и серьезных фич xD 

Ответить

Дароф. 

У меня странные ощущения от твоей механики того, что вне зоны сбора становится холодно, не понимаю как это обосновывается. Не думал ли насчет естественого ограничения, когда игрок не может лететь далеко, потому что кончается кислород, а наполнить его можно только на базе или обломках кораблей? В таком случае если обломки будут примерно в центре траектории, то можно будет перемещаться вдоль траектории, а отлетать поперек не особо.

Ответить

1. Периодически происходит фриз. Предполагаю, что не пулишь айтемы и спавнишь их пачками.
2. Нужны гасители инерции, как в космических инженерах.

Ответить
Автор

Мне тоже это обморожение не особо нравится, но это самый объективный вариант не вводящий лишних ограничений. Например, если вдруг игрок каким то чудом наиграет час, то его развитие в игре обязательно, и например с баллонами кислорода которые сейчас есть, игрок может взять с собой штук 5 и не парится, потому, что у него в сундуке есть еще штук 20, то есть к этому моменту он обеспечил себя кислородом и ему не нужно сильно париться по этому поводу и он может фокусироваться на другом. Это убирает бесящий постоянный сбор кислорода. А в случае если добавить пополнение только на базе или обломках, то будет проблема через этот час игры, когда игроку нужно будет сконцентрироваться на к примеру добычи ресурсов из астероидов, он будет обязан летать и искать кислород, и это будет дико напрягать. А если вводить какие то бафы по типу увеличения запаса кислорода у игрока, то ему ничего не помешает улететь в пустую зону за карту.

Ответить