Войти
ПрограммированиеФорумИгровая логика и ИИ

Открытие новых способностей персонажем в 2д игре на Юнити

#0
15:53, 23 апр 2023


Как оптимально разработать систему скилов для 2D метроидвании на Unity, начиная с основы и постепенно расширяя возможности персонажа? Имеется следующая структура:

1. PlayerController (управление персонажем: движение, анимация, прыжки, атака; определение статуса "на земле" для контроля прыжков)
2. PlayerAbilities (управление способностями персонажа)
3. AbilityPickup (подбор способностей на уровне)
4. DoubleJump, Dash, MeleeAttack, Projectile, RangedAttack и другие способности

Цель - создать модульные скрипты для упрощения будущих изменений. Как лучше добавлять умения персонажу после подбора скила: вешать на персонажа или активировать уже существующий скрипт в иерархии? Будет ли проблемой, если персонаж имеет на себе скажем в конце игры 10 скилов, разбитых на отдельные мелкие скрипты, управляемые PlayerAbilities? Если у вас есть опыт в данной теме, прошу помочь советом по такой структуре.

P.S. Если немного отдалённо, то игра на подобии серии Ори или Hollow Knight, но намного проще конечно. Это так, к слову

#1
17:31, 23 апр 2023

Для Юньки без разницы, все это уровень организации проекта.

Grayfox90
> вешать на персонажа или активировать уже существующий скрипт в иерархии?
Точного ответа нет. Когда-то лучше вешать скрипт, когда-то лучше активировать уже имеющийся (правда мне сложно представить когда такое надо).

Grayfox90
> Будет ли проблемой, если персонаж имеет на себе скажем в конце игры 10 скилов,
> разбитых на отдельные мелкие скрипты, управляемые PlayerAbilities
У движка не будет проблем, хоть сто вешай.
Проблемы будут с логикой.

Grayfox90
> Если у вас есть опыт в данной теме, прошу помочь советом по такой структуре
Тут только через годы опыта.

#2
19:22, 23 апр 2023

sledo
Оно так и получается, что начиная писать проект, сталкиваешся с проблемами, удаляешь всё и делаешь заново))
Скажем когда у меня была простая боёвка и несколько скилов, добавляя новое постоянно ломалось старое и получался полный бардак. Знаю, что всё приходит с опытом, но думалось, что есть некая панацея в структуре ))

#3
20:57, 23 апр 2023

Обработчик событий --> Состояние --> Цепочка обязанностей

+ Показать

P. S. опыта нет, я вас предупредил :')

#4
20:58, 23 апр 2023

Grayfox90
Да, так и происходит. Ни какой панацеи нет, делаешь, получаешь спагетти, работаешь над тем почему так получилось, начинаешь заново с учетом полученного опыта. Таким образом выводишь свою уникальную методику высокой организации проекта.
Любой чужой опыт тут будет пустым звуком.

#5
7:59, 24 апр 2023

Grayfox90
> Как
роки информатики 9класс школы.помните как руками в тетради рисовали блок-схемы?тогда вы думали нахуа это надо...ну вот сейчас ручка тетрадь нарисуйте блок-схему алгоритма.
Grayfox90
> Как лучше добавлять умения персонажу после подбора скила: вешать на персонажа
лучше вешать. умение это атрибут перса который отделить нельзя.один перс быстро бегает а второй перс боксер. потому надо вешать на перса.типа 50очков=повесить скил1. 100очков=повесить скилл2

#6
22:16, 24 апр 2023

Благодарю Господа, буду работать))

ПрограммированиеФорумИгровая логика и ИИ