• Добро пожаловать на Quest3D - Русскоязычное сообщество.
 

многопользовательская игра на quest3d

Автор taobao, 19 января 2008, 16:04:14

« назад - далее »

taobao

Искал, не нашел. Может кто подскажет - можно ли на Quest3d сделать многопользовательскую игру? Т.е. есть ли поддержка сокет-сервера (может он встроенный и т.д.), как у него отношение с БД, вообщем просвятите.

danila_dem

вроде можно, люди делают чето

http://www.tale-of-tales.com/TheEndlessForest/
но здесь я думаю было дописано не мало, своего.

taobao

Ок, тогда еще такой вопрос. В "програмировании" Quest3d существует понятие Циклов, массивов, переменных, if...else. Вообщем логику прописать с помощью блок-схем можно?

mikl

ЦитироватьОк, тогда еще такой вопрос. В "програмировании" Quest3d существует понятие Циклов, массивов, переменных, if...else.

Существует.
ЦитироватьВообщем логику прописать с помощью блок-схем можно?
Если полноценную то нельзя.

Const_47

& ТаоБао

...а также понятия классов и экземпляров. Можно, но не нужно. Есть Луа, есть SDK.

taobao

#5
Цитата: Const_47 от 21 января 2008, 04:56:20
& ТаоБао

...а также понятия классов и экземпляров. Можно, но не нужно. Есть Луа, есть SDK.

Т.е. Вы имеете ввиду, что лучше в блоке пользоваться Lua? А что подразумеваете под SDK (я видел, что у них есть SDK) - что в него включено? Он поставляется отдельно (платно/бесплатно)? У меня ВР версия... нужен ли в этом случае SDK?

И еще, если есть понятия классов, выходит LUA поддерживает ООП (а может сама логика блок-схем Quest3D)?

И еще вдогонку по теме мультиюзер. Нашел документ, где на чистом английском говорится, что мультиюзер возможен, и сервер выдает инфу по требованию клиента. Точка. Т.е. получается, сервер откликается только когда клиент спрашивает. Это что он через HTTP работает, не через TCP и сокеты? Как в этом случае выставляется время опроса сервера. Кто точно в курсе, можете пояснить? Или я недопонимаю?

Спасибо, за быстрые ответы.

mikl

ЦитироватьТ.е. Вы имеете ввиду, что лучше в блоке пользоваться Lua? А что подразумеваете под SDK (я видел, что у них есть SDK) - что в него включено? Он поставляется отдельно (платно/бесплатно)? У меня ВР версия... нужен ли в этом случае SDK?
Сдк в папке с квестом лежит.
В сдк-квест включен стандартный квестовский набор Api для выполнения каких либо действий в среде квеста.
ЦитироватьИ еще, если есть понятия классов, выходит LUA поддерживает ООП (а может сама логика блок-схем Quest3D)?
Луа скрипт сам по себе канал очень большой(т.к. если в проекте очень много скриптов луа то очень много тратится ресурсов в пустую (на загрузку движков луа по раздельности а не в общей луа среде)) Я поддерживаю их не тратить в пустую и использовать их в редких- нужных случаях.

Const_47

"И еще, если есть понятия классов, выходит LUA поддерживает ООП (а может сама логика блок-схем Quest3D)?"

Нет QLua не поддерживает ООП. ООП поддерживает Логика блок-схем. Каждый pool есть экземпляр, каждый ToChannel:CallChannel() есть инициализация экземпляра. Не ожидайте от Quest OOП очень многого, ни наследования, ни полиморфизма вы здесь не увидите. Если канал не инициализированный, можете смотреть на такой канал как на класс. А вот с помощью Луа, очень удобно описать взаимодействие экземпляров каналов - членов(создать свой псевдо - класс), и если мы такой Луа канал Сall, получим свой собственный экземпляр. Такая терминология не совсем применима для Q3D, но я не знаю как по проще объяснить.         
 

"Луа скрипт сам по себе канал очень большой(т.к. если в проекте очень много скриптов луа то очень много тратится ресурсов в пустую (на загрузку движков луа по раздельности а не в общей луа среде)) Я поддерживаю их не тратить в пустую и использовать их в редких - нужных случаях."

Это, от части заблуждение. Возьмите несколько каналов, "взаимодействие" которых вы хотите описать. И сделайте это с помощью логических, арифметических или условных операторов - блок схем квеста, а потом то же, но уже с Луа, сравните производительность. Чем больше количество логических,арифметических и условных операторов вы используете, тем Луа предпочтительней. Потому как это все можно сделать в ОДНОМ ЛУА КАНАЛЕ, не используя тучу Q3D каналов.


mikl

ЦитироватьЭто, от части заблуждение. Возьмите несколько каналов, "взаимодействие" которых вы хотите описать. И сделайте это с помощью логических, арифметических или условных операторов - блок схем квеста, а потом то же, но уже с Луа, сравните производительность. Чем больше количество логических,арифметических и условных операторов вы используете, тем Луа предпочтительней. Потому как это все можно сделать в ОДНОМ ЛУА КАНАЛЕ, не используя тучу Q3D каналов.
Я имел в виду создание нескольких экзэмпляров луа для обработки кода(a не кучу каналов в виде классов) .
Весь код лучше засунуть в один луа скрипт чем писать код в нескольких("Для удобства") луа.
P.s. Предпочтительней сдк т.к. удобней и проще :)

Const_47

Факт. И удобней и проще. И на "человеческом" языке :)))

taobao

Спасибо за ответы. Буду смотреть SDK. Документация к нему идет отдельно?

Также придется курочить самому сервак Quest3D. О результатах сообщу, если кому интересно.

mikl

Документация лежит в папке "doc" соответственно.