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

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

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

3D-программирование Вопросы, касающиеся программирования 3D мира

Ответ
 
Опции темы
Старый 18.03.2007, 10:24   #1
ЛысыЙ_Чук-Иванчук
Дэвелопер
 
Регистрация: 19.03.2006
Сообщений: 1,241
Написано 10 полезных сообщений
(для 17 пользователей)
СЕТЬ...СЕТЬ...СЕТЬ...

ПОчему в 3д программировании, потомучто я делаю 3д игру(хотя )
Вот вопросы которые мне непонятны(хочется уточнить)
1-Сколько раз в секунду передавать данные главного героя(по лан, инет)
2-Я незнаю можно ли делать стрелялку по инету(изночально расчитаную на низкую скорость передачи данных~3-5 кб/сек)
3-Для стрелялки мне непонятен вопрос(выстрела ), где его проверять, я думаю делать так: Нажал игрок и на сервер передается что нажат выстрел, затем на серваке проверять попал-ли в кого
3-Ктонить делал чтонибуть по интернету(ну игру всмысле), скажите как вообще можно чтонить замутить(я хочу делать рпг, но у меня есть сомнения насчет её играбельности)
(Offline)
 
Ответить с цитированием
Старый 18.03.2007, 10:55   #2
HolyDel
 
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений
(для 2,707 пользователей)
Re: СЕТЬ...СЕТЬ...СЕТЬ...

1. зависит от игры
2. зависит от игры
3.1 зависит от игры. если делаеш пиками (а скорее всего пиками, т.к. из лука стреляться неинтересно) то проверяеш, если вражина пикнулась, то отнимаеш определенное кол-во енергии и отправляеш сообщение, что енергия отнялась у конкретной вражины всем игрокам,
3.2 кто нибудь да делал.
(Offline)
 
Ответить с цитированием
Старый 18.03.2007, 11:44   #3
Progger_Leo
Разработчик
 
Регистрация: 09.01.2007
Сообщений: 217
Написано 0 полезных сообщений
(для 0 пользователей)
Re: СЕТЬ...СЕТЬ...СЕТЬ...

Насчет второго: Юзай UDP
(Offline)
 
Ответить с цитированием
Старый 18.03.2007, 14:11   #4
ЛысыЙ_Чук-Иванчук
Дэвелопер
 
Регистрация: 19.03.2006
Сообщений: 1,241
Написано 10 полезных сообщений
(для 17 пользователей)
Re: СЕТЬ...СЕТЬ...СЕТЬ...

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

Насчет второго: Юзай UDP
4-А что у неё скорость передачи данных повыше???
5-Сейчас я проверяю на одном компе(может на разных такого не будет), но если много передавать то сервер перегружается и наченает отстовать, а если передовать мало- то на клиенте все дребезжит, короче чет я не в ту сторону поехал, как лутше передовать положение игроков(все в одну кучу и потом разберать где X,y,z pitch, yaw, roll или по отдельности????) наверно тупо объяснил....
Мона любой примерчик по UDP (хоть нерабочий, ато в хелпе ниха непонятно)
(Offline)
 
Ответить с цитированием
Старый 18.03.2007, 18:48   #5
HolyDel
 
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений
(для 2,707 пользователей)
Re: СЕТЬ...СЕТЬ...СЕТЬ...

собирать в кучу
(Offline)
 
Ответить с цитированием
Старый 18.03.2007, 22:00   #6
ЛысыЙ_Чук-Иванчук
Дэвелопер
 
Регистрация: 19.03.2006
Сообщений: 1,241
Написано 10 полезных сообщений
(для 17 пользователей)
Re: СЕТЬ...СЕТЬ...СЕТЬ...

Я тут подумал о методах отправки сообщения, поскольку скорость не ахти. Если на клиенте нажата кнопка вперед то игрок двигается на определенное значение и отправляется 1, ели сервер получает 1 то тоже двигает его. Но тут может(как мне кажется) произойти разсинхронизация так как могут некоторые недойти, и по этому поводу каждые Допустим- 5сек будут отправлятся с сервера (x,y,z) а каждые 10сек(pitch,yaw,roll) ну примерно так.
Скажите как такой метод(стоит ли его использовать), или есть что поумнее?
(Offline)
 
Ответить с цитированием
Старый 18.03.2007, 22:08   #7
HolyDel
 
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений
(для 2,707 пользователей)
Re: СЕТЬ...СЕТЬ...СЕТЬ...

try
...
except
...

то, что пакет не дойдет ето мало вероятно, а вто то что если игра будет чуть чуть подвисать, то пойдут баги - это да.
Рывки будут, с удивительной регулярностью причем, в 5 и 10 сек соответственно
(Offline)
 
Ответить с цитированием
Старый 19.03.2007, 01:23   #8
axel186
Знающий
 
Регистрация: 07.09.2005
Сообщений: 238
Написано 2 полезных сообщений
(для 2 пользователей)
Re: СЕТЬ...СЕТЬ...СЕТЬ...

хее , но если вы не заметили это во всех играх так! =) Во всех подвисает немного..
(Offline)
 
Ответить с цитированием
Старый 19.03.2007, 22:18   #9
ЛысыЙ_Чук-Иванчук
Дэвелопер
 
Регистрация: 19.03.2006
Сообщений: 1,241
Написано 10 полезных сообщений
(для 17 пользователей)
Re: СЕТЬ...СЕТЬ...СЕТЬ...

Чтото я недогоняю, до того момента как я использую камеру или 3д режим или даже просто пишу
в цикле text 20,20... скорость передаци бешаная(передачи сообщений), как только я их
исползовал ВСЕ тормоза конкретные.
Вот пример:
а=1 создать сервер
а=2 подключить тормозного
а=3 подключить быстрого
PS\ Может это из-за того что я тестю на одном компе?


a=1 ;Тип игры 1-сервер, 2-тормозной клиент, 3-нормальный


If a=1
Geme=HostNetGame("VLAD"); СОЗДАЕМ СЕРВАК
myid=CreateNetPlayer("m01")
While Not KeyDown( 1 )
If KeyDown(57)
time=MilliSecs()
SendNetMsg 2,"ghghghghghgasfasdfasdfasdof[ofj[wnfmqwpofnmweomfqwiojgfsd;hgsdhgh;sdghgh",myid,0,0
EndIf
If RecvNetMsg() And NetMsgType()=2
Print "down_"+ (MilliSecs()-time)
EndIf
If MouseDown(1)
time5=MilliSecs()
SendNetMsg 55,"1",myid,0,0
EndIf
If RecvNetMsg() And NetMsgType()=55
Print "mouse_down_"+ (MilliSecs()-time5)
EndIf
If MouseDown(2)
time5=MilliSecs()
SendNetMsg 66,"",myid,0,0
EndIf
If RecvNetMsg() And NetMsgType()=66
Print "_______"+ (MilliSecs()-time5)
EndIf
Wend
End
ElseIf a=2;000000000000000000000 ЕТО ТОРМОЗНОЙ
netGame=JoinNetGame("VLAD","127.0.0.1")
myid=CreateNetPlayer("m011")
Graphics3D 640,480,32,2
SetBuffer BackBuffer()
cam=CreateCamera()
af$=0
While Not KeyDown( 1 )
If RecvNetMsg() And NetMsgType()=2
SendNetMsg 2,"",myid,0,0
af=NetMsgData()
EndIf
If RecvNetMsg() And NetMsgType()=55 SendNetMsg 55,"1",myid,0,0
If RecvNetMsg() And NetMsgType()=66 SendNetMsg 66,"",myid,0,0

RenderWorld
Text 20,20,"text-"+af
Flip
Wend

ElseIf a=3; жжжжжжжжжжжжжж ЕТО НОРМАЛЬНЫЙ
netGame=JoinNetGame("VLAD","127.0.0.1")
myid=CreateNetPlayer("m011323")
af$=0
While Not KeyDown( 1 )
If RecvNetMsg() And NetMsgType()=2
SendNetMsg 2,"",myid,0,0
af=NetMsgData()
EndIf
If RecvNetMsg() And NetMsgType()=55 SendNetMsg 55,"1",myid,0,0
If RecvNetMsg() And NetMsgType()=66 SendNetMsg 66,"",myid,0,0


;Text 20,20,"text-"+af
Wend

(Offline)
 
Ответить с цитированием
Ответ


Опции темы

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сеть? elmortem 2D-программирование 15 30.12.2009 03:38
Сеть dector Стихотворения 5 05.01.2008 19:28
MFC & сеть impersonalis C++ 2 22.11.2007 17:09
Сеть Fant 3D-программирование 44 05.10.2007 17:48
Сеть. HolyDel Blitz3D 3 13.03.2007 05:29


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


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