TerraPath #16
Кратко о содержании сегодняшнего поста:
Дерево технологии.
Tooltip.
Улучшения в генераторе карт.
Улучшения от прошлого поста.
Информация о развитии людей.
А вот и первый игровой контент подвезли, начать я решил с дерева технологии, т.к. он является основой для всего остального.
Я долго думал как лучше его сделать и изначально хотел сделать в виде графов как в цивилизации:
Но оказалось всё не так просто, а дело в том что я точно не знаю сколько у меня будет технологии, а программный способ построения такого графа, чтобы линии не пересекались очень сложный.
Есть решение выставлять технологии руками, сохраняя их координаты, но у такого подхода тоже есть минус: нельзя будет поставить два мода которые будут менять дерево технологии.
Поэтому я решил сделать технологии в виде списка с текстом, но просто список с текстом мне показался не очень интересным, поэтому я пришел к варианту с иконками.
Подобное дерево было в старых версиях факторио, и там оно очень хорошо выглядело.
Я решил скрестить дерево технологии с книгой рецептов и обучением.
Это дает такие плюсы:
- Плавно вводит игрока в игру. Не давая ему сразу кучу крафтов.
- Все рецепты в игре зависят от технологии, тем самым можно открыть вкладку с интересующей нас технологией и посмотреть какие крафты она дает.
(при наведении мышкой будет показан рецепт).
Для начала я создал вот такой вот макет:
Дальше, я нарисовал первые иконки и заполнил файл с локализацией:
Также технологии которые требуется или которые открывает эта технология, кликабельны, что позволяет очень быстро перемещаться по технологическому дереву.
Если навести мышкой на крафт будет показан рецепт:
Фон иконки отображает текущее состояние технологии:
Зелёный - открыта.
Желтый - может быть изучена если выполнены все условия.
Красный - закрыта.
Немножечко про открытие технологии:
Я не хотел делать зависимость от времени, по-крайне мере на таком раннем этапе развития игрока, поэтому пришла очень гениальная идея: открытие технологии похоже на открытие ачивок.
Есть небольшое задание которое нужно выполнить, чтобы открыть технологию, при условии что все требуемые технологии до неё изучены.
После его выполнения технология открывается.
Это стимулирует игрока собирать/добывать и крафтить предметы.
Те технологии которые были выше не являются финальными и в демке их будет больше.
Tooltip
Как можно было заметить теперь при наведении на разные объекты выводится плашка с именем (предмета/технологии) или с рецептом.
Изменения в генераторе
Теперь рядом с горами появляются камни, которые можно подобрать через ПКМ.
А рядом с деревьями стали расти кусты.
Чтобы лучше понять генерацию советую прочитать эти посты:
https://pikabu.ru/story/terrapath_2_5278742
https://pikabu.ru/story/terrapath_5_5289512
1)Камни на земле:
Мы берем значение чуть больше чем используется для гор и получаем такую карту:
Далее по аналогии с генерациями деревьев, мы делаем их более разряженными:
И в итоге у нас получаются камни рядом с горами.
2)Кусты:
Тут все просто, если у нас не получилось поставить дерево, мы пробуем значение чуть выше, если получается то дерево становится кустиком.
Тем самым их меньше чем деревьев, но встречаются они также часто.
Затемнил остальные цвета, чтобы выделить кусты.
Как видно их численность достаточно большая.
Улучшения от прошлого поста
@MadArtist, предложил улучшить огонь в виде того чтобы кадры не выбирались каждый раз случайно. Из-за этого могли быть небольшие подвисания огня если выпадал такой же кадр.
Решение:
Если выпадает этот же кадры, мы просто берем следующий.
@MadArtist и @Ashvar, предложили не затянеть объект освещением, в общем получилось 3 варианта:
1) Объект с освещением всегда освещается собой.
Решение хорошее, и в тоже время не очень.
Когда объект перекрывает более яркий свет, объект выглядит темнее чем должен.
2) Комбинированный подход, считать освещение от того что больше.
Но тут оказался тоже минус, в таком варианте сложно сделать сглаженное освещение:
Потому что объект сразу освещается одним цветом.
3) Оставить как есть:
Я остановился на 3 варианте, пока не придумаю как решить проблему возникшую во втором случае.
Также они предложили улучшить анимацию, но как я не пробовал лучше у меня не получилось :c
Все же я больше программист, чем художник.
Остальные улучшения:
Саженцы теперь можно сажать только на землю.
Пустой инвентарь при спавне.
Увеличил дроп камней с блока камня.
Исправил баги, в том числе и сетевые.
И тд.
А также собрал информации о развитии людей.
Очень увлекательно чтиво, использую как опорную точку для постройки технологии в игре.
1) https://ru.wikipedia.org/wiki/%D0%98%D0%BD%D1%81%D1%82%D1%80...
2) https://ru.wikipedia.org/wiki/%D0%9A%D0%B0%D0%BC%D0%B5%D0%BD...
3) https://ru.wikipedia.org/wiki/%D0%A5%D1%80%D0%BE%D0%BD%D0%BE...
4) https://ru.wikipedia.org/wiki/%D0%98%D1%81%D1%82%D0%BE%D1%80...
Также хочу очень посоветовать канал о котором очень давно знаю, и который очень сильно вдохновляет меня:
https://www.youtube.com/channel/UCAL3JXZSzSm8AlZyD3nQdBA
А на этом всё, спасибо, что дочитали.
Также не пропустите прошлые посты:
https://pikabu.ru/profile/GooDCrafter
Ссылка на группу в вк(есть играбельная демка):














Лига Разработчиков Видеоигр
8.8K постов23.1K подписчиков
Правила сообщества
ОБЩИЕ ПРАВИЛА:
- Уважайте чужой труд и используйте конструктивную критику
- Не занимайтесь саморекламой, пишите качественные и интересные посты
- Никакой политики
СТОИТ ПУБЛИКОВАТЬ:
- Посты о Вашей игре с историей её разработки и описанием полученного опыта
- Обучающие материалы, туториалы
- Интервью с опытными разработчиками
- Анонсы бесплатных мероприятий для разработчиков и истории их посещения;
- Ваши работы, если Вы художник/композитор и хотите поделиться ими на безвозмездной основе
НЕ СТОИТ ПУБЛИКОВАТЬ:
- Посты, содержащие только вопрос или просьбу помочь
- Посты, содержащие только идею игры
- Посты, единственная цель которых - набор команды для разработки игры
- Посты, не относящиеся к тематике сообщества
Подобные посты по решению администрации могут быть перемещены из сообщества в общую ленту.
ЗАПРЕЩЕНО:
- Публиковать бессодержательные посты с рекламой Вашего проекта (см. следующий пункт), а также все прочие посты, содержащие рекламу/рекламные интеграции
- Выдавать чужой труд за свой
Подобные посты будут перемещены из сообщества в общую ленту, а их авторы по решению администрации могут быть внесены в игнор-лист сообщества.
О РАЗМЕЩЕНИИ ССЫЛОК:
Ссылка на сторонний ресурс, связанный с игрой, допускается только при следующих условиях:
- Пост должен быть содержательным и интересным для пользователей, нести пользу для сообщества
- Ссылка должна размещаться непосредственно в начале или конце поста и только один раз
- Cсылка размещается в формате: "Страница игры в Steam: URL"