Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для компьютеров > Blitz3D

Ответ
 
Опции темы
Старый 17.03.2007, 17:34   #1
Nunan
Оператор ЭВМ
 
Регистрация: 23.10.2006
Сообщений: 39
Написано одно полезное сообщение
(для 0 участников)
Чат в игре. Непонятные моменты.

Всем привет.
Я делаю сетевую 3д игру на Блитце, сейчас обдумываю все моменты которые необходимо продумать...
И у меня возникли вопросы:
1) Как сделать в Блитц3д ввод текста во время игры чтобы изображение не замерало (при Input()) ?

2) в игре будет сервер и много клиентов, как сделать такую чтобы чат-сообщения игроков не терялись , но и чтобы трафик был оптимально маленький (тоесть не посылать в тупую постоянно все сообщения чата). Как сделать чтобы сервер посылал сообщения клиету до тех пор пока он 100% их не получит, и чтобы клиент посылал серверу со 100% доставкой.
__________________
NTFS для Mac
(Offline)
 
Ответить с цитированием
Старый 17.03.2007, 17:48   #2
Chrono Syndrome
 
Сообщений: n/a
Re: Чат в игре. Непонятные моменты.

Как сделать в Блитц3д ввод текста во время игры чтобы изображение не замерало (при Input()) ?
При Input() - никак. Для асинхронного ввода текста тебе придется писать собственные процедуры.
 
Ответить с цитированием
Старый 17.03.2007, 18:34   #3
HolyDel
 
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений
(для 2,707 пользователей)
Re: Чат в игре. Непонятные моменты.

насчет того чтоб они точно доходили.
SendMessage tchat_,chat_text$,selfID,0,1
tсhat_ - константа

ЗЫ. Не использый это!!! будут задержки ктороые никому не нужны, думаю если придет текст типа "вᝊе ок", то можно понять о чем речь.

начсет ввода. возьми исходник любой моей сетевой игры и выдери оттуда блок.
(Offline)
 
Ответить с цитированием
Старый 17.03.2007, 19:43   #4
Progger_Leo
Разработчик
 
Регистрация: 09.01.2007
Сообщений: 217
Написано 0 полезных сообщений
(для 0 пользователей)
Re: Чат в игре. Непонятные моменты.

Юзай проверенное средство - GetKey()
(Offline)
 
Ответить с цитированием
Старый 17.03.2007, 22:14   #5
HolyDel
 
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений
(для 2,707 пользователей)
Re: Чат в игре. Непонятные моменты.

где то я видал наиполезнейшую либу для Blitz - про многопоточность, в таком случае (если ието настоящая многопоточность) можно было-бы и Input использовать. Только теоретическти.
(Offline)
 
Ответить с цитированием
Старый 17.03.2007, 22:28   #6
Nunan
Оператор ЭВМ
 
Регистрация: 23.10.2006
Сообщений: 39
Написано одно полезное сообщение
(для 0 участников)
Re: Чат в игре. Непонятные моменты.

Всё, с набором сообщений я разобрался. Всё оказалось намного проще чем я думал , GetKey() - это хорошо.


Все сообщения через ДиректПлей я отправляю с SendMessage ,,,,0
Я понял что надо:
Сервер получил сообщение и отправляет всем клиентам.
Сервер отправляет это сообщение клиенту пока от него не придёт подтверждение что он принял. А клиент , когда получил сообщение отправляет подврждение, тоесть :
если клиент получил сообщение, отправил подтверждение, если сервер не получил подтверждение то он ещё раз пошлёт клиенту его, а клиент когда ещё раз получит то ещё раз отправит подтверждение (!но он недолжен его вписывать с лог чата, так как будут копии), и это продолжается до тех пор пока сервер не получит подтверждение и не перестанет отправлять сообщение.

Но чтобы не было копий надо чтобы каждое сообщение нумеровалось, чтобы сервер когда получал сообщение повторно то не добавлял его в массив последних сообщений чата и не отправлял его как новое всем. И чтобы клиент не думал что это новое сообщение.
Надо наверно просто i++ при каждом новом сообщении.
__________________
NTFS для Mac
(Offline)
 
Ответить с цитированием
Старый 17.03.2007, 23:47   #7
tormoz
Гигант индустрии
 
Аватар для tormoz
 
Регистрация: 14.12.2005
Сообщений: 2,785
Написано 1,183 полезных сообщений
(для 4,437 пользователей)
Re: Чат в игре. Непонятные моменты.

Все эти "телодвижения" уже реализованы на Директплей
То есть сервер сам отслеживает посылку сообщения клиенту пока он его не получит.
Так что не нужно дублировать то, что уже есть
А вообще лучше найди библиотеку сетевую по вкусу из бесплатных, там все реализовано намного прямее чем в блитцевском ДП.
__________________
(Offline)
 
Ответить с цитированием
Старый 18.03.2007, 00:38   #8
moka
.
 
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений
(для 6,863 пользователей)
Re: Чат в игре. Непонятные моменты.

Nunan скача вот по этой ссылке код, там в mGUI.bb в функции UpdateTextField ниже будет про ввод, используя GetKey. Ну если конечно ещё нужно. Можешь использовать как удобно.
(Offline)
 
Ответить с цитированием
Старый 18.03.2007, 12:46   #9
Nunan
Оператор ЭВМ
 
Регистрация: 23.10.2006
Сообщений: 39
Написано одно полезное сообщение
(для 0 участников)
Re: Чат в игре. Непонятные моменты.

А кто-нибудь разбирался или использовал dll - K-NetLib в которой реализована работа с сетью?
Какие её плюсы относительно простого Блитсовского ДиректПлей?
K-NetLib - я увидел только больше возможностей и то что некоторые вещи уже сделаны, а через ДиректПлей их придётся делать.
__________________
NTFS для Mac
(Offline)
 
Ответить с цитированием
Старый 19.03.2007, 00:01   #10
tormoz
Гигант индустрии
 
Аватар для tormoz
 
Регистрация: 14.12.2005
Сообщений: 2,785
Написано 1,183 полезных сообщений
(для 4,437 пользователей)
Re: Чат в игре. Непонятные моменты.

я пользовался.
хорошая либа.
недостатков не нашел
__________________
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Лодка в игре! ЛысыЙ_Чук-Иванчук 3D-программирование 11 23.07.2009 15:35
Скриншот в игре Maxxx.!!!. 3D-программирование 11 24.12.2007 02:26
Проигрыватель в игре AndruXa Blitz3D 7 21.09.2007 00:07


Часовой пояс GMT +4, время: 15:35.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com