![]() |
framework ?
мужики, а может замутим свой "булочный" framework? кто поможет? принимаются предложения и пожелания, в общем любая помощь принимается. :) А еще лучше скажите, что там должно содержаться по вашему и в каком виде. Не стесняемся, делимся идеями и кодом.
|
Ответ: framework ?
гуи нужен (невиндовый)
|
Ответ: framework ?
поподробнее, как ты это видишь и представляешь? просто скин- не виндовый или может принцип другой?
|
Ответ: framework ?
Я имею ввиду то что мы восновном делаем игры, и нажна система ГУИ для игры, ну там главное меню, настроки и т.д. это имаджами линейно кодить очень стрёмно.
|
Ответ: framework ?
Просветите что такое framework вообще? Набор готовых команд и функций?
Я только понял что его нада ставить чтобы проги некоторые работали. |
Ответ: framework ?
из моего понятия о фреймворке это надстройка над движком, для быстрой разработки приложений( от сюда в нем ГУИ и прочее)... хотя хз, пусть объяснит кто-нить более просвещенный в этом плане человек :)
|
Ответ: framework ?
Чего непонятного? Framework - досл. "Рабочая рамка" для движка. Это Новый уровень абстракции. Где могут быть функции типа engine.GetFps(), engine.LoadMap() и тому подобное. Потому игровые фреймворки обычно имеют узкую ориентацию на один-два жанра игр.
Непутаем с MS Framework .NET ето насамом деле Runtime для .NET языков. Т.е. набор библиотек. Хотя уровень их абстракции существенно выше чем обычных привычных всем dll. |
Ответ: framework ?
Ну да, не путайте с M$ Framework .NET, здесь смысл несколько другой. SBJoker все объяснил.
И мне как-раз-таки хотелось бы сделать, нечто не узко-специализированное, а наоборот: развернутое, то есть чтоб "рабочая рамка", выражаясь на языке SBJoker-а, была резиновой. Несколько жанров чтоб потянула, на своем уровне абстракции естественно :) Кстати недостатка в количестве ГУЕв для БМак са не вижу. Просто надо подработать напильником уже существующие. Несколько упростить в сложых местах и усложнить в простых, поправить копирайты и в путь)))) шучу-шучу. ГУИ- первое предложение. Дальше... |
Ответ: framework ?
Хех раз такая пьянка: 3д модуль дх9, видео-либа, звуковой движок, сетевой движок.
|
Ответ: framework ?
партиклы
|
Ответ: framework ?
Цитата:
нееее, 3Д не берусь делать (сморю с надеждой на Хорс), будет принципиально 2Д. Надо было сразу, конечно, сказать :crazy: . А вот насчет сетевого движка как раз сейчас думаю, погружаясь в отражение и метаданные. Насчет партиклов тоже идея хорошая. А то ни одного доведенного до ума - нет. Звуковой движок, ммм видел несколько кстати, для БМ, попробую их и скажу, что к чему. Кстати неужели вы думаете , что я один это всё осилю :4to: надеюсь и на вашу помощь, а то вообще браться не стоит. Вообще давайте посчитаемся, сколько нас здесь БМаксовцев? |
Ответ: framework ?
Да самое главное, желательно всё стронее или опенсорц или бесплатное. И чтоб форматы файлов юзало нетребующие отчислений за лицензию..
|
Ответ: framework ?
Партиклы - это давняя проблемма БМаксеров....
Я БМаксер. Если буш делать партиклы - готов помочь. Есть хороший сорсик партиклов, но его надо доработать. Или можно написать с нуля.... С меня редактор. =) |
Ответ: framework ?
SBJoker, ку!
в бмаксе есть препроцессор? я у ся сделал удобно - можно переопределять некие дефайны и они определят используемую библиотеку. Хочеш юзать басс и платить -включи басс, хочуеш шквал, но бесплатно (но и возможностей поменьше) - включай шквал. А интерфейс остается одинаковым в любом случае )) |
Ответ: framework ?
Препроцессор есть, но стандартный знает только пару предопределённых дефайнов:
?MacOS ?Win32 ?Debug, и ещё помелочи... мой препроцессор, позволяет юзать свои дефайны, мелкие макросы, условия с дефайнами, и несколько предопределных дефайнов __LINE__ __FILE__ __DATETIME__. Хотя что ты написал легко решаемо и без дефайнов, обычными инклудами. Главное сделать всем либам одинаковый интерфейс модуля. |
Ответ: framework ?
так чтоже ты молчишь? выкладывай препроцессор с примерами юзанья ))) Насчет партикл-движков, нашел только два(!) один платный 25 вечно(?)зеленых и один немецкий какой-то недоделанный. Еще есть вроде HGE-шный формат читающий. Какие у вас сведенья?
|
Ответ: framework ?
|
Ответ: framework ?
Спасибо, jimon, проглюкал я :)
вот нашел еще партикл-движок http://www.scottshaver2000.com/forum...2154a4 3e9db0 искать их долго, кидайте сюда ссылки на партикл-движки для БМ, можно и свои выкладывать ;) |
Ответ: framework ?
Я Вас, "народ", не понял... :mda: Что за Framework, что он делает то??? :wallbash: Как я знаю :crazy: , Фреймворк выполняет определенные(конкретные :drag: ) цели. А в вашем случае??? :SOS:
|
Ответ: framework ?
Так как насчет партиклов?
Зато у нашего сообщества будет хорошая тузла... Наработки в этом направлении уже есть (причем очень хорошие) - спасибо oxid' у ! + Я сейчас подгоняю эти наработки под свой проект. - поэтому тама я делаю ставку на специфику своего проекта. А занятся полноценным парт-движком нет времени...но если кто захочет за это взятся то я найду время и напишу хороший редактор. Что уже есть : - загрузка эффектов из скриптов - уровни: эмиттер, группа, частица (т.е. для каждого из этих элементов можно задавать различные свойства) - свойства и анимация: вращение, движение с ускорением и без, размеры, анимация цвета и спрайта и прочее само-собой разумеющееся типа жизнь, период анимации, наложение (альфа или световое) и др. - область эмиттера (появления новых частиц): прямоугольник, точка, окружность. - эффект следа (group_trace) - etc Что необходимо сделать : - относительное вращение (относительно центра эмиттера). - компиляция в байткод для более быстрой загрузки, а не парсинга строк. - транслятор из скрипта в код ВМах-а для вообще нативной и более гибкой работы с эммитерами частиц. - визуальный редактор. на данный момент работаю над 1-ым пунктом. 4-й пункт как я сказал - беру на себя. Если это все сделать то будет очень клевая тузла партиклов. Также есть мысль внедрить в партиклы - траектории движения. Можно будет двигать емиттер\группу\партикл и задавать им индивидуальные траектории. Естественно с возможностью эти траектории интерполировать\менять\удлиннять\укорачивать\двига ть отдельные точки\двигать всю траекторию в режиме реального времени. ЗЫ Тот что за 25 баксоф толкают, - я его и за 3 рубля не куплю. Тама ничего нету. Насчет немецкой разработки - эти партиклы довольно неплохие, но опять таки - они не юзабельнеые. Все остальные же партиклы под БМакс - очень скромные по своим возможностям (даже групп и эмиттеров нету). |
Ответ: framework ?
Отлично, что уже есть наработки. Я знаю, что oxid ответственно подходит к любой задаче. Показывай что у вас получилось, ща в аську постучусь.
|
Ответ: framework ?
Хмм, пока изучал код партикл-движка oxid-а появилась мысль создать нечто такое же. Суть такая, что есть некая система модификаторов, которые воздействуют на частицы, можно применять сразу несколько, а можно ни одного не применять. Покажу в коде:
Код:
for local modificator:TModificator = eachin my_modificatorsList Код:
type TWind extends TModificator |
Ответ: framework ?
оставить 3 основных класса - эмитер\партикл\групп со своими полями.
И просто тупо пробегаться и обновлять эти поля. скажем так Обновление Эмиттера \\Обновление позиции\ратации и.т.д.... Эмиттер имеет поле указывыающее на группу. --> подуровень группа \\Обновление позиции\ротации группы и т.д.... Группа имеет поле указывающее на партикл. \\Обновление партикла - обновление трансформации партикла + транформация группы + трансформация Эмиттера. = финальная трансформация партикла. \\Другие обновления партикла (альфа,след,жизнь и т.д....) Эмиттер может содержать любое кол-во групп, так же как и группа может содержать любое кол-во партиклов. Думается мне так....надо еще у Тормоза спросить как он устроил свои партиклы. |
Ответ: framework ?
Да, спроси у Тормоза, пусть сюда отпишется. А еще лучше выложет ехе-шник, просто я не видел его партиклов.
|
Ответ: framework ?
Пожелание от меня (думаю, есть люди, которые с ним согласятся):
Чтобы во фреймворк "вставлялся" модуль xord3d, желательно - "легко и безболезненно"... Ну и в общих чертах: -Партиклы -GUI - желательно чтобы с набором стандартных менюшек типа "игра/сетевая/настройки/авторы/выйти", а еще лучше с визуальным редактором -звуковой движок -сеть -input (если можно, выкинуть в отдельный поток, чтобы не "пропадали" нажатия клавы и движения мышки) -менеджер ресурсов(+объектов игрового мира? они вроде в любой игре есть...) О, точно... Не знаю, как назвать... Опишу... Очень хотелось бы видеть команды, позволяющие выполнить скажем одну функцию в одном потоке, а вторую - в другом (согласен на "виртуальные" потоки, распределяемые ОС. Ногами за ламерство не бить)... Или же тогда класс потоков, чтобы можно было создать поток, а затем получить что-нибудь вроде: stream_1.Start ... stream_1.End (т.е. что-то вроде For Local c=1 to 1 ... Next) Извините за излишне абстрактное выражение мыслей... |
Ответ: framework ?
Мультипоточность уже есть в последней версии БМакса.
|
Ответ: framework ?
С input'ом в другом потоке есть особеность, прийдется не использовать keyhit\mousehit, а использовать callback функцию которая вызывается когда что-то нажали или передвинули, сходу понять как организовать её взаимодействие с игрой иногда достаточно трудно и прийдется еще хорошо думать о блокировках в некоторых местах игрового двига. Конечно если построить внутрений двиг игры на пуле евентов то ничего кроме етого пула блокировать не надо будет, но пул евентов для игрового двига не все делают
|
Ответ: framework ?
-Партиклы
сейчас вроде над ним и трудиться начинаю -звуковой движок -сеть это же есть, и в нескольких вариантах кстати, насчет мультипоточности слышал есть, да попробовать не могу, у кого-нить есть ? Там по-мойму через свн надо обновляться и перекомпиливать с ключом -h все модули. -input (если можно, выкинуть в отдельный поток, чтобы не "пропадали" нажатия клавы и движения мышки) а куда они пропадают??? у меня вроде не пропадает. -менеджер ресурсов(+объектов игрового мира? они вроде в любой игре есть...) это будет, но в меру моих представлений об его абстрактности "Конечно если построить внутрений двиг игры на пуле евентов то ничего кроме етого пула блокировать не надо будет, но пул евентов для игрового двига не все делают" то есть событийноуправляемый движок? нет пожалуй на это я замахиваться не буду, по крайней мере пока. |
Re: framework ?
Насчет пула - ничего сложного там нет, просто правильно организовать архитектуру.
В БМ и так уже есть пул для событий ввода - я столкнулся наоборот с необходимостью его отключать и просто обрабатывать клавиатуру в цикле, считавая текущие коды клавиш. |
Ответ: framework ?
хорошая новость для тех, кто жаждал GUI, помимо тех, что уже есть(откровенно сыроватых) wolfhound512 с blitz.pp обещал к следуещей версии GUIw512 сделать поддержку БМакса.
Так теперь об участниках... эээ я так понял никто участвовать не намерен? |
Ответ: framework ?
Ну я чем смогу помогу... однако полностью заниматься этим не могу, мне проект выпускать надо.
|
Ответ: framework ?
Спасибо SBJoker за поддержку.
Так, вышел модуль для БитмапШрифтов от создателей блайд. http://www.blide.org/index.php?section=fontmachine можно будет заюзать |
Ответ: framework ?
+1
я тож помогу. =) чем смогу канеш...=) |
Ответ: framework ?
Я вот подумал начало проги должно быть простым, немного абстрактным, но в то же время интуитивно понятым. Думаю все будет примерно так:
Код:
SuperStrict |
Ответ: framework ?
Что же, на данный момент сделано: основа от которой можно плясать это тип _Engine(смотри предыдущий пост), стэт-менеджер _GameStateManger, парсер *.ini файлов _IniParser, модуль для подсчета фпс _FPS, модуль обработки для мышки _Mouse, тип для объекта _GameObject - от него надо будет наследовать все объекты в игре, а также консоль _Console с возможностью добавления команд и неплохой расширяемостью.
|
Ответ: framework ?
Вложений: 1
ну как и обещал выкладываю консольку и дебаг-контейнер для движка. Идеи конечно не новы, но архи-полезны. На время забиваю на проэкт, ухожу грызть гранит науки (курсовой, гос.экз и диплом) заниматься програмирование будет некогда.
Сейчас попотел и выдал нагора аж четыре экзампла (example_00x) , расписал всё как мог (комментов даже больше чем кода :p ) но если есть вопросы спрашивайте... |
Ответ: framework ?
Жаль, проект загнулся. Такое подспорье новичкам.
|
Часовой пояс GMT +4, время: 05:46. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot