Пятница, 29 Марта 2024, 00:44

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
Форум игроделов » Ваши проекты » Разработка движков и сред разработки » Фичерия - featurea (закрыто)
Фичерия - featurea
FlyOfFlyДата: Вторник, 26 Июля 2016, 12:07 | Сообщение # 61
заслуженный участник
Сейчас нет на сайте
Модели то хоть и можно, ну имено генировать или использовать массив, а будет ли это целесообразно? Кроме демки, при таком подходе, ты ничего не сделаешь, хотя тогда игра будет требовать только мощную видюху, а текстуры не обязательно только в вход, 1 двухмерный массив типа Float4, Вот тебе и текстура, а Uv используем так X=U*width y=v*height, А потом в пикельном шейдере color=texture[x][y]
EchoITДата: Вторник, 26 Июля 2016, 12:09 | Сообщение # 62
старожил
Сейчас нет на сайте
Цитата bodya_WM
Судя по вашим высказываниям, как раз таки вы не имеете

Объясни это по каким таким высказываниям. Без аргументов бросаться такими фразачками глупо.

Вот я своё мнение обосновать могу легко и просто. Цитирую.
Цитата bodya_WM
сейчас больше на недоконструктор похоже.
На нём ничего кроме этого марио нет.

Ещё из первых сообщений понятно, что это просто готовый "ассет" от автора для примера. Другие нужно делать самому, у тебя же в юнити нет готовых ассетов автомобилей... Ах да, код же там готовый, как я мог забыть)) Ну не суть, к примеру модели деревьев, автомобиля, текстуры и прочее, ты скачал с интернета. А из коробки в юнити этого нет. Так что, юнити тогда тоже недоконструктор, из-за того что там нет коробочых ассетов полностью готовой игры? :D

Отсюда вывод, что ты, не разобравшись в вопросе, лезешь умничать. Вот сначала скачай его конструктор, разбери функционал на 100%, а потом уже бросайся такими высказываниями.


Долгожданный анонсик: State of War

Сообщение отредактировал EchoIT - Вторник, 26 Июля 2016, 12:12
bodya_WMДата: Вторник, 26 Июля 2016, 12:15 | Сообщение # 63
постоянный участник
Сейчас нет на сайте
Можно и в фрагментном.

Добавлено (26 июля 2016, 12:15)
---------------------------------------------
Цитата
Объясни это по каким таким высказываниям. Без аргументов бросаться такими фразачками глупо.

В таком случае, в порядке очереди объясни
Цитата
По его сообщениям в этой теме создаётся впечатление, что он абсолютно безграмотный или не очень взрослый человек, который только и ищет, к чему прицепиться, при этом сам не имеет каких-либо очень серьёзных познаний.

Цитата
Ещё из первых сообщений понятно, что это просто готовый "ассет" от автора для примера. Другие нужно делать самому, у тебя же в юнити нет готовых ассетов автомобилей... Ах да, код же там готовый, как я мог забыть)) Ну не суть, к примеру модели деревьев, автомобиля, текстуры и прочее, ты скачал с интернета. А из коробки в юнити этого нет. Так что, юнити тогда тоже недоконструктор, из-за того что там нет коробочых ассетов полностью готовой игры? :D

В первую очередь я осуждал движок ТС за жанровую ограниченность и отсутствие документации. Про ассеты ты уже сам себе придумал.


Разработчик игрового движка WaveGameEnvironment2D

Сообщение отредактировал bodya_WM - Вторник, 26 Июля 2016, 12:15
EchoITДата: Вторник, 26 Июля 2016, 12:30 | Сообщение # 64
старожил
Сейчас нет на сайте
Цитата bodya_WM
В первую очередь я осуждал движок ТС за жанровую ограниченность

Ну вот я об этом и говорил. С чего ты взял, что он жанрово ограничен? Из-за того, что автор тебе показал только платформер? Забавно.


Долгожданный анонсик: State of War
bodya_WMДата: Вторник, 26 Июля 2016, 12:30 | Сообщение # 65
постоянный участник
Сейчас нет на сайте
Цитата
Ну вот я об этом и говорил. С чего ты взял, что он жанрово ограничен? Из-за того, что автор тебе показал только платформер? Забавно.

Хотя бы отсутствие документации ограничивает его в жанре.


Разработчик игрового движка WaveGameEnvironment2D
EchoITДата: Вторник, 26 Июля 2016, 13:05 | Сообщение # 66
старожил
Сейчас нет на сайте
Цитата bodya_WM
Хотя бы отсутствие документации ограничивает его в жанре.

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

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


Долгожданный анонсик: State of War

Сообщение отредактировал EchoIT - Вторник, 26 Июля 2016, 13:06
bodya_WMДата: Вторник, 26 Июля 2016, 13:49 | Сообщение # 67
постоянный участник
Сейчас нет на сайте
Я кодер с 11 лет.

Разработчик игрового движка WaveGameEnvironment2D
EchoITДата: Вторник, 26 Июля 2016, 14:14 | Сообщение # 68
старожил
Сейчас нет на сайте
bodya_WM, я физик-ядерщик с 5 лет.



Долгожданный анонсик: State of War
bodya_WMДата: Вторник, 26 Июля 2016, 14:16 | Сообщение # 69
постоянный участник
Сейчас нет на сайте
Цитата
А если ты хорошо знаешь программирование

Я кодер с 11 лет. В том смысле что у меня опыт уже 3 года.
Сейчас мне 14. В 11 лет я только по сути начал учить Delphi. Потом стал писать на C#.


Разработчик игрового движка WaveGameEnvironment2D
EchoITДата: Вторник, 26 Июля 2016, 14:43 | Сообщение # 70
старожил
Сейчас нет на сайте
Цитата bodya_WM
Я кодер с 11 лет. В том смысле что у меня опыт уже 3 года.
Сейчас мне 14. В 11 лет я только по сути начал учить Delphi. Потом стал писать на C#.

Ну вот смотри. Автору данной темы (и обсуждаемого движка) по профилю 28 лет. В принципе, есть большая вероятность, что возраст реальный (движок вряд ли сможет написать школьник, а взрослым людям про возраст врать незачем). Скорее всего, он занимается программированием уже много лет, и знает, что делает. Ты начинаешь с ним спорить, имея всего лишь опыт обучения (ещё даже не опыт работы) программированию и начинаешь с ним спорить на всевозможные темы насчёт его движка. Умный ли это поступок?


Долгожданный анонсик: State of War
dalikivugДата: Вторник, 26 Июля 2016, 15:32 | Сообщение # 71
почетный гость
Сейчас нет на сайте
Цитата bodya_WM ()
Ещё раз повторяю, всё на видеокарте рисуется шейдерами, VBO точно также конвертируется в геом. шейдер.

можно пример где "VBO конвертируется в геом. шейдер"?
это докажет вашу адекватность в этом вопросе или же наоборот ^_^

Цитата bodya_WM ()
Я кодер с 11 лет

умерь чсв, ты не один такой ^_^

Цитата EchoIT ()
Ну вот смотри. Автору данной темы (и обсуждаемого движка) по профилю 28 лет. В принципе, есть большая вероятность, что возраст реальный (движок вряд ли сможет написать школьник, а взрослым людям про возраст врать незачем). Скорее всего, он занимается программированием уже много лет, и знает, что делает. Ты начинаешь с ним спорить, имея всего лишь опыт обучения (ещё даже не опыт работы) программированию и начинаешь с ним спорить на всевозможные темы насчёт его движка. Умный ли это поступок?

nonono, ты вроде адекватный, не надо про возраст)
кто знает..

dimakoles,
ИМХО последнее время на gcup (возможно раньше не замечал)
очень много неконструктивного разливания желчи :p
по сему сюда лучше скидывать что то либо с красивой картинкой (т.к. программистов, которые в чем то разбираются здесь оочень мало)
либо чтоб собрать общий шквал негатива и поправить что то, на что он больше всего был направлен
bodya_WMДата: Вторник, 26 Июля 2016, 15:44 | Сообщение # 72
постоянный участник
Сейчас нет на сайте
Цитата
(движок вряд ли сможет написать школьник, а взрослым людям про возраст врать незачем)

Загляни в тему WGE2D. Как раз уже WGE2D ожидает модерацию, и скоро появится в разделе движков.
Цитата
можно пример где "VBO конвертируется в геом. шейдер"?
это докажет вашу адекватность в этом вопросе или же наоборот ^_^

посмотрите сырки открытых блобов под линупс.
Цитата

умерь чсв, ты не один такой ^_^

а в чём проявляется то что у меня чсв?
Цитата
очень много неконструктивного разливания желчи :p

повторяешься.
Цитата
За языком следи, желчь.


Разработчик игрового движка WaveGameEnvironment2D

Сообщение отредактировал bodya_WM - Вторник, 26 Июля 2016, 15:44
EchoITДата: Вторник, 26 Июля 2016, 15:44 | Сообщение # 73
старожил
Сейчас нет на сайте
Цитата
nonono, ты вроде адекватный, не надо про возраст)
кто знает..

Я скорее не про возраст, а про опыт работы.


Долгожданный анонсик: State of War
dimakolesДата: Вторник, 26 Июля 2016, 16:00 | Сообщение # 74
почетный гость
Сейчас нет на сайте
Цитата dalikivug ()
dimakoles,
ИМХО последнее время на gcup (возможно раньше не замечал)
очень много неконструктивного разливания желчи
по сему сюда лучше скидывать что то либо с красивой картинкой (т.к. программистов, которые в чем то разбираются здесь оочень мало)
либо чтоб собрать общий шквал негатива и поправить что то, на что он больше всего был направлен

люди разные. я скорее увидеть срез мнений. кто, на что пальцем покажет. и каким пальцем )
свежий взгляд свежий, даже если дурной
ведь по факту все-таки можно сказать что один из двух нормальных форумов по геймдеву (второй - gamedev.ru) это срез

Добавлено (26 июля 2016, 16:00)
---------------------------------------------

Цитата bodya_WM ()
Я кодер с 11 лет. В том смысле что у меня опыт уже 3 года.
Сейчас мне 14. В 11 лет я только по сути начал учить Delphi. Потом стал писать на C#.

в два раза меня младше пацан, а как хорошо шел)


Сообщение отредактировал dimakoles - Вторник, 26 Июля 2016, 15:56
FlyOfFlyДата: Вторник, 26 Июля 2016, 16:02 | Сообщение # 75
заслуженный участник
Сейчас нет на сайте
Цитата
Сейчас мне 14. В 11 лет я только по сути начал учить Delphi. Потом стал писать на C#.

Это по сути не так уж и много, у меня допустим 8 лет с 9-10 лет, у моего брата старшего на 4+ года больше опыта и то иногда меня спрашивает по поводу рендера, а я по поводу софта, в программование важно не количество лет, а знание набранные за этот отрезок
bodya_WMДата: Вторник, 26 Июля 2016, 16:21 | Сообщение # 76
постоянный участник
Сейчас нет на сайте
Я уже около года(с весны 2015) увлекаюсь граф. апи и рендерингом. Именно тогда как раз и была написана первая версия WGE2D)

Разработчик игрового движка WaveGameEnvironment2D
dalikivugДата: Вторник, 26 Июля 2016, 16:23 | Сообщение # 77
почетный гость
Сейчас нет на сайте
Цитата bodya_WM ()
посмотрите сырки открытых блобов под линупс.

ссылку можно?, а то тут про ваш миф ничего нет http://f1.s.qip.ru/1q1ISWKb.png

Цитата bodya_WM ()
а в чём проявляется то что у меня чсв?

ты используешь это "кодер с 11 лет" как аргумент

dimakolesДата: Вторник, 26 Июля 2016, 16:25 | Сообщение # 78
почетный гость
Сейчас нет на сайте
Как сделать плагин под фичерию?

По факту сделать плагин - значит интегрировать существующий джава код с level editor'ом. Это как написать плагин к Unity Editor. У меня level editor называется Featurea (Фиче́рия)
Итак, каковы шаги по интеграции существующей рабочей библиотеки на Java, например, Dyn4j http://www.dyn4j.org с фичерией?
1) скачиваем исходный код dynj4 с гитхаба https://github.com/wnbittle/dyn4j
2) кладем скачанное в папочку "engines" внутри движка https://github.com/dmitryk....4j
3) ручками делаем xml схему, которая в концептуальном поле фичерии - это properties файлик xmlSchema.properties https://github.com/dmitryk....perties
В это файлике указывается маппинг xml тегов на java классы. Например



Формат таков:
'имя тега'='имя класса тега':'имя суперкласса тега'
'имя тега'.'имя атрибута'='имя класса атрибута':'имя суперкласса атрибута' // 1 вариант
'имя тега'.'имя атрибута'='имя класса атрибута' // 2 вариант - если enum или примитивный тип (int, double, char, ...)

4) файлик project.xml https://github.com/dmitryk....ect.xml используется для того, чтобы указать фичерии, откуда она должна подтянуть xmlSchema.properties



Файлик xmlSchema.properties фичерия ищет по пути ${currentDir}/config/${значение атрибута package - org.dyn4j}, то есть "config/org/dyn4j/xmlSchema.properties"

5) кроме того, в файлике project.properties указываются dependency. То есть если в IDEA модуле (Eclipse проекте) есть ссылка на другой IDEA модуль, то есть (Eclipse проект), в котором есть своя xml схема, то "верхний" модуль подтянет не только свою схему но и схему, которая идет с dependency. В моем случае модуль "dyn4j" подтянет свою схему "engines/dyn4j/config/org/dyn4j/xmlSchema.properties" и схему из платформы "platform/config/platform/xmlSchema.properties"

6) запускаем фичерию - два раза кликаем на executable джарку

7) открываем пустой XML файлик на жестком диске (в текущей версии фичерии есть только редактирование файла, а создания нового нет, загадка почему так)

8) Открыли. Теги я добавляю в этот файлик путем нажатия комбинации CTRL+N - выпадает список доступных тегов. Откуда он берется? Есть для этого свой конфиг areaSuggestion.properties https://github.com/dmitryk....perties



В этом файлике ручками в столбик указываю имя тега и через равно желаемую иконочку для него

/*Заметка на полях*/
вообще в фичерии есть такая концепция новая Config. Это значит что properties файлик "engines/dyn4j/config/org/dyn4j/xmlSchema.properties" имеет парентом такой же файлик из dependency, то есть "platform/config/platform/xmlSchema.properties". Средствами API я могу сделать объект Config
Config config = new Config(project, "xmlSchema.properties");
и данный объект будет содержать все проперти из обоих файлов "engines/dyn4j/config/org/dyn4j/xmlSchema.properties" и "platform/config/platform/xmlSchema.properties". Причем пропетя из "дочернего" перетрет пропетю с тем же ключом из "парента"
/*Заметка на полях*/

9) Теперь я могу смело нажимать комбинацию CTRL+N - фичерия знает как ей представить SuggestionView.

10) Тег выбираю двойным кликом мышки и ли клавишей ENTER

11) Выбираю в дереве парент, в который хочу добавить children

12) Кликаю мышкой по канвасу - тег добавлен в выбранный парент с атрибутом position равным точке клика (если атрибут position есть в XML схеме)

Теперь как фичерия делает рефлексией новый иснстанс объекта

1) Каждый класс, который хочет, чтобы его инстансы фичерия могла редактировать с помощи мышки, дерева тегов и таблицы атрибутов должен заимплементить интерфейс featurea.xml.XmlNode https://github.com/dmitryk....de.java

2) Пример имплементации интерфейса featurea.xml.XmlNode классом featurea.platformer.Animation



Что я делаю - я заполняю пустой Selection актуальными значениями: rectangle (прямоугольник вокруг объекта), color (желаемый цвет прямоугольника), isSelected = true - объект считается "выбранным" по нажатию мышкой по позиции position (второй параметр метода), position - текущая позиция объекта (значения атрибута position на XML стороне - это тонкий нюанс, который нужен, чтобы магия работала)



/*Самое вкусное - это свои xml primitives*/
Фичерия вводит новое понятие, которое называется xml primitive (xml примитив). По нажатию на строчку в табличек с атрибутами, происходит очень интересная вещь. Внутри движка активируется тот или иной xml примитив. То есть позиция объекта редактируется только если нажать по строчке с ключом position. Как именам атрибутов ставится в соответствие xml притивы? С помощью конфига xmlPrimitives.properties https://github.com/dmitryk....perties

Здесь строчка
Animation.position=featurea.util.xmlPrimitives.TransformPrimitive
делает магию.

Смотрим, что у нас в featurea.util.xmlPrimitives.TransformPrimitive https://github.com/dmitryk....ve.java
Примитив слушает мышку в коллбеках onTouchDown, onTouchDrag, onTouchUp
Здесь самое интересное - это что этот самый xml primitive отвечает за редактирование xml файлика на основе того, что он там от мышки услышал



xmlTag.setAttribute(ANGLE, value + ""); // данная строчка кода редактирует файл на жестком диске





Как рисуется объект? С помощью метода onDraw(Graphics graphics) класса featurea.app.Area https://github.com/dmitryk....ava#L13

То есть по факту, чтобы из джава класса, который вообще ничего не знает про фичерию, сделать джава класс, который для фичерии как родной, надо заимплементить три интерфейса, в которых в сумме содержится пять методов:
1) featurea.app.Area https://github.com/dmitryk....ea.java
3 метода: listAreas, onTick, onDraw
2) featurea.xml.XmlNode https://github.com/dmitryk....de.java
1 метод: getSelection
3) featurea.xml.XmlResource https://github.com/dmitryk....ce.java (это тончайшая магия, так надо, чтобы все работало)
1 метод build

Посмотрите, пожалуйста, сами, как класс featurea.platformer.Animation реализует эти пять методов трех интерфейсов, чтобы быть интегрированным с фичерией
listAreas: https://github.com/dmitryk....ava#L85
onTick: https://github.com/dmitryk....va#L284
onDraw: https://github.com/dmitryk....va#L292
getSelection: https://github.com/dmitryk....va#L418
build: https://github.com/dmitryk....va#L158


Сообщение отредактировал dimakoles - Вторник, 26 Июля 2016, 16:45
bodya_WMДата: Вторник, 26 Июля 2016, 16:38 | Сообщение # 79
постоянный участник
Сейчас нет на сайте
Цитата
ссылку можно?, а то тут про ваш миф ничего нет

Скачайте сырки ядра 3.х
Там обычно должен быть фри блоб. По крайней мере для VESA.
Цитата
ты используешь это "кодер с 11 лет" как аргумент

и в чём проявляется завышенное чсв?
Цитата
Посмотрите, пожалуйста, сами, как класс featurea.platformer.Animation реализует эти пять методов трех интерфейсов, чтобы стать "понятным" для фичерии

Может, сделать привязку гейм обжектов к lua?
К примеру, мне удобнее реализовать игровой объект в отдельных скриптах, а не копатся в сырках двига.
Можно сделать простое API, как в моём WGE2D.


Разработчик игрового движка WaveGameEnvironment2D

Сообщение отредактировал bodya_WM - Вторник, 26 Июля 2016, 16:39
dimakolesДата: Вторник, 26 Июля 2016, 16:51 | Сообщение # 80
почетный гость
Сейчас нет на сайте
Цитата bodya_WM ()
Может, сделать привязку гейм обжектов к lua?
К примеру, мне удобнее реализовать игровой объект в отдельных скриптах, а не копатся в сырках двига.
Можно сделать простое API, как в моём WGE2D.

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

хотя есть конечно так называемые стандартные компоненты (физика и платформер), которые именно и дают уже готовую "объектную модель", которую надо расширять.

стандартные компоненты - это языком Юнити - префабы

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

движок - это как бы платформа для префабов. сам по себе движок не задает формат данных и алгоритмы твоего кода, а только дает доступ к енвайроменту (аудио, графика) а также синтаксические штучки (общение между properties, xml и java файликами).


Сообщение отредактировал dimakoles - Вторник, 26 Июля 2016, 16:55
Форум игроделов » Ваши проекты » Разработка движков и сред разработки » Фичерия - featurea (закрыто)
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг