Реализовываю функционал для размещения деревень. Это довольно непростая штука, но потихоньку прогресс идёт.
Реализация
Для генерации подобных вещей я создал систему кластеров. Кластер в моей реализации представляет собой список структур, связанных между собой по определённым правилам. На основе этой системы можно делать не только деревни, но и другие поселения (например, аванпосты, замки и т.д.).
Гибкая система конфигурации
Система имеет большой список настроек:
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥22👍3❤1
P.S Эвент длится оба выходных
#скриншотник
Please open Telegram to view this post
VIEW IN TELEGRAM
❤7
Вместе с крутым художником Ромой, мы приступили к этапу полной переделки ui/ux игры.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤13🔥8👍4
P.S Эвент длится оба выходных
#скриншотник
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥6⚡3❤2
Суть проблемы
В прошлой версии система предметов строилась на ООП-подходе. То есть у нас был базовый класс и его наследники (FoodItem, ToolItem, BlockItem и т.д.). Делал я так, потому что опирался больше на Java версию майна — там была похожая реализация.
Но при длительной работе и расширении контента, конечно, начали вылезать проблемы, связанные с дублированием кода. Например, у нас есть 2 вида предмета (еда и семена), и вот нам нужен третий тип предмета (арбуз, картошка и т.д.), который мы могли бы и съесть, и посадить как семя. В таком случае подход с ООП даёт трещину и не позволяет гибко конфигурировать предмет.
Решение
Переделать систему предметов на КОП — компонентный подход, по аналогии с bedrock версией майна. Теперь у нас есть всего один класс InventoryItem, на который мы уже можем вешать различные компоненты (FoodItemComponent, DamageItemComponent, ToolItemComponent и т.д.).
При такой системе мы уже легко можем добавить комбинированное поведение для предмета, не дублируя логику. Например, для предмета, который можно есть и сажать в землю, просто добавляем 2 компонента (FoodItemComponent и SeedItemComponent) — и всё! Максимально гибкая конфигурация предмета: если нужно что-то ещё, просто создаёшь новый компонент и добавляешь его в конфиг предмета.
Статы предмета
Так же была доработана система статов предмета, раньше у предмета был только 1 параметр это прочность. Теперь же мы можем лгко добавлять новые параметры, например статы магии, урон и т.д, эти параметры уже могут меняться у предмета и легко сохран
Конфигурация
И вишенкой на торте стала новая JSON-конфигурация: все предметы теперь описываются в своих JSON-файлах. Там мы задаём им id, ключи перевода и навешиваем нужные компоненты.
P.S Про сам подход с конфигурацией и почему я использую JSON, а не ScriptableObject, расскажу в следующих постах.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥25❤3👍3
P.S Эвент длится оба выходных
#скриншотник
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4❤1🥰1
Мы объединились и создали лучшую папку каналов по геймдеву "The Gamedev"!
Это место, где собраны самые полезные, активные и вдохновляющие каналы индустрии, где каждый разработчик найдёт для себя что-то действительно ценное:
Подключайтесь к папке The GameDev и станьте частью сильного комьюнити!
👉 Ссылочка на папку
Это место, где собраны самые полезные, активные и вдохновляющие каналы индустрии, где каждый разработчик найдёт для себя что-то действительно ценное:
🧑💻 Помощь и практические советы по разработке игр🆓 Бесплатные раздачи ассетов и промокоды📣 Актуальные новости геймдева📱 Советы по заработку на разных игровых площадках📱 Авторские каналы по геймдизайну📸 Личные блоги разработчиков
Подключайтесь к папке The GameDev и станьте частью сильного комьюнити!
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥15🤯6❤4👍2😁1🤔1🌭1
Что сделали
Тайминг
Планы
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12🔥4❤2🤯1
