[Asset Store] Panthea Visual Scripting Tool and Logic Editor

Инструменты для разработки

[Asset Store] Panthea Visual Scripting Tool and Logic Editor

Сообщение Ichimitsu 01 ноя 2017, 12:14

Изображение

GET FROM ASSET STORE

Привет всем! Вы хотите быстро разрабатывать игры и прототипы? Тогда добро пожаловать в новую систему визуального программирования и редактора логики PANTHEA

Кто мы такие: мы команда Endemics Studio с более чем 10 годами опыта в игровой индустрии, мы работаем с Unity начиная с версии 2.1.
Наш сайт: http://endemics.org
Сайт Panthea VS:http://panthea.endemics.org (здесь вы найдете документацию, форум и описание ключевых особенностей)



В чем мы отличаемся от других систем:
• Главное отличие в том, что система построена вокруг ScriptableObject, проще говоря она не использует компонентную систему Unity3d. Компоненты используются только там, где без этого не обойтись, например, физика, и даже в этом случае, все делается автоматически. Таким образом вся логика и все ссылки на объекты сцены и префабы настраиваются в диаграмме. Работа с инспектором Unity для конечного пользователя сводится к настройке контента.

• Поскольку вся логика находится внутри диаграммы и не привязана напрямую к объектам через компоненты, то в системе Panthea VS возможна загрузка и исполнение диаграмм (и как итог логики) в процессе работы приложения из любого места будь то Asset (через WWW или ссылку) или файл на диске. При этом, если в диаграмме нет ссылок на объекты, она может быть использована как шаблон в других сценах. Также исполнение диаграммы возможно, как из другой диаграммы, так и из кода.

• Поскольку у нас есть возможность исполнять и загружать диаграммы извне, мы сделали возможность использовать диаграмму как инстанс (копию). Т.е. если диаграмма оперирует каким-то объектом (допустим это движение NPC), то вы можете выполнить/запустить ее для нескольких объектов в цикле, и каждая копия диаграммы будет оперировать своим объектом.

• В фундаментальном подходе, в отличии аналогов BluePrints (Unreal Engine 4) систем, которые получают через рефлексию все публичные методы и свойства у классов, которые в свою очередь являются базовым блоком, которым оперирует пользователь (фактически создает цепочки вызовов функций), система Panthea VS строится вокруг элемента, который является не просто некоей функций, а сущностью, которая реализуют любой функционал (по аналогии с Unity3d это скрипт наследник MonoBehaviour). Чтобы было понятно, элемент — это блок, который может содержать любой функционал (от простого сложения чисел, до реализации какой-либо механики) и иметь множественные точки входа в блок и выхода из него. Так, например, у нас есть элементы, реализующие DragAndDrop для Unity GUI, Sprite и GameObject, есть элементы управления цветом во времени, изменения видимости объекта, слежение за объектом и т.п.

• Важным отличием от аналогов является возможность переопределять внешний вид для собственных элементов в диаграмме, причем на нескольких уровнях, от полного переопределения, до замены определенных виджетов (заголовка, точек входа и выхода и т.п.), переопределение работает аналогично CustomEditor в юнити. Помимо этого, при работе с кодом элемента, возможно использование Custom Property Drawer.



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

• Базовый блок в системе Panthea VS (элемент) может быть конфигурируемым по составу входных и выходных точек, также есть возможность создавать полностью динамические входные точки (включая тип данных, которые они принимают). Например, у нас так работает элемент сложения чисел, в параметрах элемента можно задать сколько угодно операндов. Также входные и выходные точки могут инвертироваться, чтобы диаграмма была более компактна, и сам элемент может сворачиваться в минимизированное состояние.

• Несмотря на то, что элемент в нашей системе это ScriptableObject, он поддерживает вызовы методов Start, Update, LateUpdate, FixedUpdate, а также Coroutine. При этом все эти вызовы делаются в одном месте. Помимо этого, можно установить в коде порядок вызова таких методов. Простой пример:

Синтаксис:
Используется csharp
[ElementDefinition(Name = "Start", Path = "Mono", Tooltip = "Call Start Mono method", Color = VSEColor.Green)]        
public class StartElement : Element
{                        
      public OUTPUT_POINT DoStart = new OUTPUT_POINT();

      [ExecuteOrder(Order = 1)]
      void Start()
      {
           DoStart.Execute();        
      }
}


• Для тех, кто интересуется технической частью хотелось бы отметить, что элементы при связи друг с другом не используют рефлексию. Рефлексия используется только для инициализации диаграммы и для вызова методов Start, Update и т.п. и даже в этом случае вызовы оптимизированы так, чтобы не использовать медленный вариант через MethodInfo.Invoke.

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

О текущем состоянии системы:
    • Система находится в релизной версии 1.1.0 (мы вышли из беты 1.0.0b1)
    • Сейчас в системе свыше 300 элементов, разной сложности, которые в целом позволяют реализовать игру без использования внешнего кода в принципе.
    • Система проверена в работе на платформах Android, iOS, WebGL, PC/MAC, UWP (IL2CPP)
    • Система поддерживает все версии Unity (Personal, Plus, Pro)
Что будет в будущем:
    • Новые элементы (в частности работа с IAP, работа с новыми подсистемами Unity)
    • Новые комплексные элементы для механик (Match3 (с ИИ), простые механики (Карточки, Сортировки, Сравнение Картинок, Паззлы), механики для TPS, стратегий и т.п.)
    • Поддержка и интеграция сторонних плагинов (будем смотреть по запросам, как минимум Prime плагины и соц. сети)
    • UML аналог для диаграмм. Каркасная настройка логики (создание диаграмм, связей между ними, как прямых, так и через глобальные события), просмотр в дебаг режиме текущего состояния (нахождения в диаграмме, переход в другое состояние).
Кому пригодится система Panthea VS:
Если вы Гейм-Дизайнер:
    • Создание прототипов без участия программистов
    • Проверка идей, механик, логики.
    • Создание простых и не только игр
    • Реализация абстрактных механик (расчеты, поведенческие алгоритмы, ИИ и т.п.), которые затем могут быть использованы программистами в коде путем вызова и исполнения диаграммы в процессе работы приложения
Если вы Художник:
    • Возможность создавать цепочки эффектов без участи программистов
    • Создание абстрактной логики поведения визуальных эффектов, которые могут быть использованы программистами в коде путем вызова и исполнения диаграммы в процессе работы приложения
    • Создание простых и не только игр
Если вы Программист:
    • Создание элементов любой сложности и вынос событий требующих визуальных эффектов, с тем чтобы их настройку производили художники или гейм-дизайнеры.
    • Создание элементов для поддержки работы художников и гейм-дизайнеров
    • Быстрое создание прототипов игры и механик.
    • Поддержка изменения поведения логики на лету (через запуск нужных диаграмм)
    • Обновление логики без обновления приложения (загрузка новых диаграмм по сети)

Изображение

Изображение

PS: мы приветствуем стороннюю разработку элементов и их бесплатное распространение через Asset Store (также можно выкладывать их на нашем форуме)

Если вам понравилось система Panthea VS, добро пожаловать в AssetStore. GET FROM ASSET STORE

Список изменений по сравнению с 1.0.0b1 версией:
• Добавлена возможность группировать элементы:
    o Установка группы для выделенных элементов
    o Настройки имени группы и цвета группы
    o Добавление в группу новых элементов через перетаскивание или контекстное меню
    o Удаление элементы из группы
    o Поиск по группам
• Произведена оптимизация вызова методов, получаемых через рефлексию (исключение вызова через MethodInfo.Invoke)
• Произведена оптимизация работы редактора
• Добавлена поддержка Unity 2017.2 в редакторе (события playModeStateChanged)
• Исправлены ошибки редактора
    o Ошибка привязки к сетке
    o Ошибка вывода связей между диаграммами
    o Ошибка установки порядкового номера, в случае если устанавливается номер только одной связи
    o Ошибки при копировании элементов через кнопки меню редактора диаграмм
    o Убрано размытие шрифтов при выводе передаваемых данных между элементами в режиме отладки
• Исправлены ошибки в элементах
    o Ошибка в элементах GameObjectAddComponent и GameObjectGetComponent в Unity 2017.2
    o Ошибка сэмплирования элементов массива и списка для случайного режима
• Добавлена поддержка Retina дисплеев для иконок меню редактора диаграмм
• Обновление окна вывода схемы взаимодействия диаграмм
• Добавлена возможность открывать диаграммы по двойному клику напрямую из схемы взаимодействия диаграмм
• Добавлены новые элементы:
    o UnityAds – элемент для работы с рекламой Unity
    o UnityAnalyticsCustomEvent, UnityAnalyticsMonetization, UnityAnalyticsUseAttribute – элементы для работы с аналитикой Unity
    o AutoHideSceneObject – элемент сокрытия объектов через замену материалов, которые находятся между камерой и целью.
    o CheckingObjectInViewPort – элемент проверки нахождения объекта в области видимости камеры.
    o FPSWalker – элемент контроллер для шутер от первого лица
    o FPSLook – элемент управления взглядом для шутера от первого лица
• Внесены изменения по оптимизации и расширению настроек в ряд элементов (GameObjectCreate и т.п.)
• Добавлен пример игры Поиск Пар (с контентом)
• Добавлен вывод информации о данных, содержащихся в ассете локализации.
• Произведен рефакторинг системы переопределения внешнего вида элементов
Аватара пользователя
Ichimitsu
UNец
 
Сообщения: 30
Зарегистрирован: 30 ноя 2010, 16:58
  • Сайт

Re: [Asset Store] Panthea Visual Scripting Tool and Logic Editor

Сообщение Ichimitsu 06 дек 2017, 10:31

Добавили пример небольшой игры сделанной с помощью Panthea VS (без написания кода): http://panthea.endemics.org/WebGL/index.html
Следите за нашим твиттером: https://twitter.com/EndemicsS
Аватара пользователя
Ichimitsu
UNец
 
Сообщения: 30
Зарегистрирован: 30 ноя 2010, 16:58
  • Сайт

Re: [Asset Store] Panthea Visual Scripting Tool and Logic Editor

Сообщение immeasurability 07 дек 2017, 18:31

1 баловался с болтом, так и не победил обращение к статическому классу
2 у вас есть что то подобное для сравнения? https://support.ludiq.io/forums/4-bolt- ... for-unity/
3 ВОТ ЭТО Обновление логики без обновления приложения (загрузка новых диаграмм по сети) должно быть выделено! это круто!
4 создайте плейлист видео уроков (задача - решение на Panthea VS) разных задач, контроллер персонажа, управление интерфейсом...
__skype elseway

youtube.com/user/immeasurability/videos
Аватара пользователя
immeasurability
Старожил
 
Сообщения: 939
Зарегистрирован: 08 авг 2013, 18:09

Re: [Asset Store] Panthea Visual Scripting Tool and Logic Editor

Сообщение Ichimitsu 08 дек 2017, 12:47

immeasurability писал(а):1 баловался с болтом, так и не победил обращение к статическому классу
2 у вас есть что то подобное для сравнения? https://support.ludiq.io/forums/4-bolt- ... for-unity/
3 ВОТ ЭТО Обновление логики без обновления приложения (загрузка новых диаграмм по сети) должно быть выделено! это круто!
4 создайте плейлист видео уроков (задача - решение на Panthea VS) разных задач, контроллер персонажа, управление интерфейсом...


1. Начнем с того, что мы и Болт это разные вещи совершенно, Болт это рефлекшен система, которая вытаскиевает из всех доступных сборок все доступные методы и свойства.
Такие системы копируют то что сделано в Unreal Engine 4 (всем известный Blueprint).

В нашей системе реализован подход используемый в плеймейкере. Если сравнивать,то стейты в плеймейкер - у нас диаграммы, экшены в плеймейкере - у нас элементы.

По сути Panthea это Visual Logic Editor, вы пишите скрипт (код элемента) и он автоматом отображается в каталоге и может быть применен и использован в логике (диаграмме).
Что это будет за скрипт решать вам, все что угодно. Сама Panthea дает возможность визуально связать элементы логики между собой как вам угодно, через входные и выходные точки, через глобальные сообщения и т.п., не нужно писать в коде вызовы функций и хранить ссылки на классы, все будет автоматически, хотите разорвать связь - пожалуйста, все визуально.

По сути, вы можете выкинуть весь набор элементов и написать ровно тот код который вам нужен, затем создать диаграммы поместить туда элементы связать как вам надо и вуаля. Не надо бегать по компонентам объектов сцены, не надо искать где что, все в одном месте и наглядно (ну это один из вариантов использования).

2. Такого сравнения нет, потому что как я выше описал, нас корректно сравнивать только с Playmaker (собственно Bolt тоже некорректно поместил Playmaker в свою таблицу) и там не хватает Nottorus'a ))
3. Это выделено в самой странице Asset Store и в ролике.
4. Плейлист с уроками https://www.youtube.com/watch?v=rCAJDcB ... Hi&index=2 (в самом пакаже есть примеры по работе со всеми аспектами)
Аватара пользователя
Ichimitsu
UNец
 
Сообщения: 30
Зарегистрирован: 30 ноя 2010, 16:58
  • Сайт

Re: [Asset Store] Panthea Visual Scripting Tool and Logic Editor

Сообщение Woolf 08 дек 2017, 19:20

Черт побери.. Вот реально не понимаю, как вот это нагромождение блоков может быть удобнее и проще десятка строк кода.
Разработчик Atom Fishing - Рыбалка на поплавок, донку, нахлыст, блесну в постъядерный период.
Разработчик Atom Fishing II - Первая 3D MMO про рыбалку
Аватара пользователя
Woolf
Адепт
 
Сообщения: 6298
Зарегистрирован: 02 мар 2009, 16:59

Re: [Asset Store] Panthea Visual Scripting Tool and Logic Editor

Сообщение Ichimitsu 08 дек 2017, 20:56

Потому что блоки это не тоже самое что функции, за каждым блоком класс, это что-то вроде объектно компонентный подхода, когда каждый класс делает что-то свое.

Вот примеры (одна диаграмма, одна логика) дают прототип для FPS (бег, ходьба, прыжки, взгляд мышкой, стрельба). А есть куда более сложные элементы, такие как Drag&Drop с сортировкой по таргетам, которые поддерживает
спрайты uGUI и 3D объекты.

Изображение

Изображение
Аватара пользователя
Ichimitsu
UNец
 
Сообщения: 30
Зарегистрирован: 30 ноя 2010, 16:58
  • Сайт

Re: [Asset Store] Panthea Visual Scripting Tool and Logic Editor

Сообщение Tolking 08 дек 2017, 22:16

:) Так про то и речь! Пока "диаграмма" из 3-4 блоков - все круто! А как начинаешь более менее сложную логику описывать, то такое получается!!! Кодом все на порядок проще... Вон хоть стрельбу посмотри... Что зачем идет? Куда разветвляется? Зачем? Я эту визуальщину еще с Virtools невзлюбил!!! А уж если свои "блоки" писать нельзя тогда вообще хрень какая-то...
Ковчег построил любитель, профессионалы построили Титаник.
Аватара пользователя
Tolking
Адепт
 
Сообщения: 1912
Зарегистрирован: 08 июн 2009, 18:22
Откуда: Тула

Re: [Asset Store] Panthea Visual Scripting Tool and Logic Editor

Сообщение Ichimitsu 08 дек 2017, 22:56

Ну всем мил не будешь, если не понятна логика визуальная, я боюсь представить как вы ООП юзаете)). А блоки писать можно, по вашему как работает FPSWalker ? )))

И посмотрите шоукейс Плеймейкера) Такие системы дают определенное преимущество, это не значит что на них надо целиком игры делать, но многое можно вынести в визуальную часть
Аватара пользователя
Ichimitsu
UNец
 
Сообщения: 30
Зарегистрирован: 30 ноя 2010, 16:58
  • Сайт

Re: [Asset Store] Panthea Visual Scripting Tool and Logic Editor

Сообщение Woolf 08 дек 2017, 23:28

я боюсь представить как вы ООП юзаете

В юнити юзать ООП в чистом виде не то, что не необходимо, а даже иногда и вредно. Сама юнити больше придерживается функционального подхода, чем ООП.
В прочем, в реальных сложных проектах всегда так, излишнее абстрагирование ведет к взрывному усложнению кода, костылям, тормозам и труднопрогнозируемым багам.
Разработчик Atom Fishing - Рыбалка на поплавок, донку, нахлыст, блесну в постъядерный период.
Разработчик Atom Fishing II - Первая 3D MMO про рыбалку
Аватара пользователя
Woolf
Адепт
 
Сообщения: 6298
Зарегистрирован: 02 мар 2009, 16:59

Re: [Asset Store] Panthea Visual Scripting Tool and Logic Editor

Сообщение Tolking 08 дек 2017, 23:32

ООП мы юзаем не задумываясь, и представляем какой гигантский объем труда вложен в такую систему... Непонятно ЗАЧЕМ?!!! Таких систем много и они все монописуальные, неужели это окупается?

Как работает FPSWalker не знаю, что неважно если работает как надо, а вот что делать если надо чтобы FPSWalker, например, при нажатии на кнопку "вперед", скорость набирал плавно, а после отпускания плавно снижал?
Ковчег построил любитель, профессионалы построили Титаник.
Аватара пользователя
Tolking
Адепт
 
Сообщения: 1912
Зарегистрирован: 08 июн 2009, 18:22
Откуда: Тула

Re: [Asset Store] Panthea Visual Scripting Tool and Logic Editor

Сообщение Ichimitsu 08 дек 2017, 23:53

Tolking писал(а):ООП мы юзаем не задумываясь, и представляем какой гигантский объем труда вложен в такую систему... Непонятно ЗАЧЕМ?!!! Таких систем много и они все монописуальные, неужели это окупается?

Как работает FPSWalker не знаю, что неважно если работает как надо, а вот что делать если надо чтобы FPSWalker, например, при нажатии на кнопку "вперед", скорость набирал плавно, а после отпускания плавно снижал?


Для этого в настройках элемента есть галочка, SetExternalSpeed, там можно отдельно в рантайме менять скорость и ходьбы и бега) Помимо прочего можно нажать кнопочку - Open Script изменить код блока FPSWalker как надо, поскольку это именно код и объемный относительно, и сделать и плавно и не плавно и как хотите.

PS: И опять же вы говорите зачем, просто потому что вы программист похоже, а если вы художник или гейм-дизайнер, и код для вас просто слово. Были бы такие системы не нужны Playmaker не продавался бы так как продается. У него есть свои минусы конечно, но тем не менее
Аватара пользователя
Ichimitsu
UNец
 
Сообщения: 30
Зарегистрирован: 30 ноя 2010, 16:58
  • Сайт

Re: [Asset Store] Panthea Visual Scripting Tool and Logic Editor

Сообщение immeasurability 11 дек 2017, 11:09

народ, всех не любителей визуализации просьба не варить! эта тема не для этого!
подобные связи ОЧЕНЬ удобно использовать для созданий глобальных менеджеров (контроллеров)
и писать на них чистый код, не требуется! прежде чем кидать предьявы о надобности, прочти те весь функционал
Писать свои блоки на PVS можно и нужно! на это и расчет! (как описано в топе)
__skype elseway

youtube.com/user/immeasurability/videos
Аватара пользователя
immeasurability
Старожил
 
Сообщения: 939
Зарегистрирован: 08 авг 2013, 18:09


Вернуться в Инструментарий

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 4