Quest3D - Русскоязычное сообщество

Quest3D => Общие вопросы => Тема начата: taobao от 19 Января 2008, 16:04:14



Название: многопользовательская игра на quest3d
Отправлено: taobao от 19 Января 2008, 16:04:14
Искал, не нашел. Может кто подскажет - можно ли на Quest3d сделать многопользовательскую игру? Т.е. есть ли поддержка сокет-сервера (может он встроенный и т.д.), как у него отношение с БД, вообщем просвятите.


Название: Re: многопользовательская игра на quest3d
Отправлено: danila_dem от 20 Января 2008, 01:09:00
вроде можно, люди делают чето

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


Название: Re: многопользовательская игра на quest3d
Отправлено: taobao от 20 Января 2008, 04:07:01
Ок, тогда еще такой вопрос. В "програмировании" Quest3d существует понятие Циклов, массивов, переменных, if...else. Вообщем логику прописать с помощью блок-схем можно?


Название: Re: многопользовательская игра на quest3d
Отправлено: mikl от 20 Января 2008, 14:10:46
Цитировать
Ок, тогда еще такой вопрос. В "програмировании" Quest3d существует понятие Циклов, массивов, переменных, if...else.

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


Название: Re: многопользовательская игра на quest3d
Отправлено: Const_47 от 21 Января 2008, 04:56:20
& ТаоБао

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


Название: Re: многопользовательская игра на quest3d
Отправлено: taobao от 21 Января 2008, 10:08:06
& ТаоБао

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

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

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

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

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


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


Название: Re: многопользовательская игра на quest3d
Отправлено: Const_47 от 21 Января 2008, 21:01:43
"И еще, если есть понятия классов, выходит LUA поддерживает ООП (а может сама логика блок-схем Quest3D)?"

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

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

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

 


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

Я имел в виду создание нескольких экзэмпляров луа для обработки кода(a не кучу каналов в виде классов) .
Весь код лучше засунуть в один луа скрипт чем писать код в нескольких("Для удобства") луа.
P.s. Предпочтительней сдк т.к. удобней и проще :)


Название: Re: многопользовательская игра на quest3d
Отправлено: Const_47 от 21 Января 2008, 22:04:38
Факт. И удобней и проще. И на "человеческом" языке :)))


Название: Re: многопользовательская игра на quest3d
Отправлено: taobao от 22 Января 2008, 12:26:50
Спасибо за ответы. Буду смотреть SDK. Документация к нему идет отдельно?

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


Название: Re: многопользовательская игра на quest3d
Отправлено: mikl от 22 Января 2008, 14:24:31
Документация лежит в папке "doc" соответственно.