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

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

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

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

Ответ
 
Опции темы
Старый 28.03.2009, 21:40   #16
jimon
 
Сообщений: n/a
Ответ: Онлайн (Клиент <-> Сервер)

MoKa
в таких играх программисты и проявляют своё мастерство
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Egor Rezenov (20.03.2011)
Старый 29.03.2009, 01:33   #17
3dr1aN
Нуждающийся
 
Аватар для 3dr1aN
 
Регистрация: 26.12.2008
Сообщений: 70
Написано 26 полезных сообщений
(для 46 пользователей)
Ответ: Онлайн (Клиент <-> Сервер)

а как на счет гонок, на PhysX , как тут реализовать столкновения тачек? как передать позицию авто?
под офтопом идет моя догадка по этому поводу, идея туповата поэтому можно внимания необращать
пусть есть сервер, и 2-а клиента, тоесть игра по LAN на 2-их. клиенты передают инфу о карах на сервер, тот обрабатывает ее и передает обратно уже переработаную, т.е. сервер просчитывает только физику а клиенты отображают только графику? так ли это, или есть уже нормальные продуманые схемы?
__________________
http://forum.boolean.name/image.php?type=sigpic&userid=4031&dateline=1231466  391
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
ABTOMAT (29.03.2009)
Старый 29.03.2009, 03:43   #18
impersonalis
Зануда с интернетом
 
Аватар для impersonalis
 
Регистрация: 04.09.2005
Сообщений: 14,014
Написано 6,798 полезных сообщений
(для 20,935 пользователей)
Ответ: Онлайн (Клиент <-> Сервер)

В принципе физику и прочие внутренности некой функции состояния (т.н. пси-функция) можно (в большинстве случаев именно так) обрабатывать непосредственно на машине плеера, а на серевер передавать лишь результат - координаты, углы вращения и прочий стафф (т.н. обобщённые координаты).
Есть у данной реализации минус - сервер верит на слово клиенту, а потому адекватной системы защиты от читера нет: можно, конечно, ограничить на сервере скорость автомобиля на 300км\ч - но где гарантия, что подобная сокрость не результат падения с большой высоты и т.п.
Первый же вариант влечёт имхо нереальные траблы по интерполяции, защите от рассинфазирования, оптимизации кода.
__________________
http://nabatchikov.com
Мир нужно делать лучше и чище. Иначе, зачем мы живем? tormoz
А я растила сына на преданьях
о принцах, троллях, потайных свиданьях,
погонях, похищениях невест.
Да кто же знал, что сказка душу съест?
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
3dr1aN (29.03.2009)
Старый 29.03.2009, 04:13   #19
Baisangur
ПроЭктировщик
 
Аватар для Baisangur
 
Регистрация: 10.03.2009
Адрес: Казахстан->Кустанай
Сообщений: 147
Написано 12 полезных сообщений
(для 23 пользователей)
Ответ: Онлайн (Клиент <-> Сервер)

Ужс! Какими вещами завалили человека то!
Юзать UDP - это однозначно, если будешь с TCP играться, то на проверку дохода пакета будет уходить туча времени.
Лучше всего на сервере раз 5 в секунду проходить т.н. "главный цикл", в нем сначала принимать поступившие от всех клиентов данные, сравнивать с теми, которые установлены в настройках сервера и если у кого то, скорость чего либо или сила чего либо выше той, что назначена в сервере сразу банить по IP адресу(ну ето если есть БД, а так можно просто например в текстовичок запрещенные IP складывать), после этой стадии уже делать снимок игрового мира(на сервере) и отсылать данные обратно клиентам. Лучше в этом деле это организовать систему нитей(потоки) ибо если делать все в цикле то тормоза при n-ом кол-ве клиентов будут расти просто в геометрической прогрессии.

Предположим, что есть у тебя сервер и клиент, как сделать так чтобы без задержек у клиента шел процесс:
Как уже говорилось от сервера приходят "снимки" игрового мира, в нашем случае 5 раз в секунду, можно и больше, но это больший объем информации. Строить логику клиента надо так, чтобы получив два снимка он двигал объекты и проигрывал анимацию основываясь на положениях объектов на сервере(стоит, идет, бежит, едет) и полагаясь на полученные две координаты начальные и конечные двигать что - либо, если юзер изменит конечные координаты, то за начальные принять те, что были при изменении конечных. При этом не будут видны задержки движения врагов, или других объектов полагающихся на сервер.
Также, как без задержки обрабатывать врагов:
Допустим есть у тебя в игре монстры(например игра жанра РПГ с мобами):
Если они будут атаковать тебя полагаясь только на сервер то может быть такой эффект, стоишь ты спокойно и через секунду уже лежишь дохлый, это получится если твой интернет канал тормознет, а на сервере уже тебя убъют. Лучше всего делать реакцию монстра на присутствие игрока в самом клиенте, а на сервере только проверять его стейты(живой, мертвый, атакует и т.п.). И умирать должен игрок или монстр только в клиенте, а патом уже отсылаться на сервер. Конечно это все не так просто ибо взломать клиент и набивать таким образом мобов может любой хацкирь-геймер. Что делать? Необходимо принять минимальный промежуток времени, за который моба можно убить средствами клиента - это впринципе спасёт, а вот защита от ботов, блоу фиш ключи это уже другая тема.. =)
В общем думаю из всей этой писанины ясно что и как делать и в какую сторону дышать...
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
3dr1aN (09.06.2016)
Старый 03.04.2009, 22:16   #20
3dr1aN
Нуждающийся
 
Аватар для 3dr1aN
 
Регистрация: 26.12.2008
Сообщений: 70
Написано 26 полезных сообщений
(для 46 пользователей)
Ответ: Онлайн (Клиент <-> Сервер)

в чем может быть проблема? в стандартном хелповском коде сети запускаю только клиентскую часть
AppTitle "client"
strmGame=OpenTCPStream("192.168.1.2",8080) 

If strmGame<>0 Then 
Print "Клиент соединился с сервером." 
Else 
Print "Сервер не отвечает." 
WaitKey 
;End 
End If 
While Not KeyHit(1)

WriteString strmGame, Input()
Print "Сообщение Центр Управления отправлено успешно..." 
Wend
End
при чем сервер незапущен, он мне выдает
{"Клиент соединился с сервером."}

ЗЫ: 192.168.1.2 - мой IP в домашней сети через роутер
__________________
http://forum.boolean.name/image.php?type=sigpic&userid=4031&dateline=1231466  391
(Offline)
 
Ответить с цитированием
Старый 03.04.2009, 22:26   #21
jimon
 
Сообщений: n/a
Ответ: Онлайн (Клиент <-> Сервер)

3dr1aN
может у тебя открыт порт 8080 ?
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
3dr1aN (03.04.2009)
Старый 03.04.2009, 22:29   #22
3dr1aN
Нуждающийся
 
Аватар для 3dr1aN
 
Регистрация: 26.12.2008
Сообщений: 70
Написано 26 полезных сообщений
(для 46 пользователей)
Ответ: Онлайн (Клиент <-> Сервер)

на другой ставил, аналогично, порт 8000
[добавлено]
а на савсем другой да, неработает, порт 11000
__________________
http://forum.boolean.name/image.php?type=sigpic&userid=4031&dateline=1231466  391
(Offline)
 
Ответить с цитированием
Старый 10.09.2009, 04:07   #23
LeonSmile
AnyKey`щик
 
Аватар для LeonSmile
 
Регистрация: 08.09.2009
Адрес: Россия
Сообщений: 2
Написано 0 полезных сообщений
(для 0 пользователей)
Онлайн Клиент t t Сервер

смысол в том, что бы без переупаковки это все делать. А файл передовать с буфферезацией. Естественно если лаг будет большим то не поможет.
А сервер раздает все центрлизованно. следить именно за скоростью передачи данных. Пока это все обстрактно
(Offline)
 
Ответить с цитированием
Старый 19.09.2009, 23:09   #24
ІГРОГРАЙКО
ПроЭктировщик
 
Аватар для ІГРОГРАЙКО
 
Регистрация: 20.06.2009
Адрес: Україна
Сообщений: 152
Написано 10 полезных сообщений
(для 24 пользователей)
Плохо Ответ: Онлайн (Клиент <-> Сервер)

Народ. Кто знает как для сервера (написаном на Blitz3D) с протоколом UDP устанавливать маршруты? Предположым эсть у нас сервер с виделеным IP а клиэнт находитса гдето в подсети провайдера и отправить клиенту сообщение так просто не получитса ...
Можно ли както в Блице установить ето или все таки юзать в CMD команду: route add
__________________
Blitz3D, XNA, WebGL, OpenGL, Unity3D
PC: ASUS A55VM Core i3 (2.4Ghz), 6 Gb RAM, Nvidia GF 630M GT 2Gb
(Offline)
 
Ответить с цитированием
Старый 21.09.2009, 20:11   #25
ІГРОГРАЙКО
ПроЭктировщик
 
Аватар для ІГРОГРАЙКО
 
Регистрация: 20.06.2009
Адрес: Україна
Сообщений: 152
Написано 10 полезных сообщений
(для 24 пользователей)
Ответ: Онлайн (Клиент <-> Сервер)

Ище один вопрос! А можно както так зделать VPN сервер штобы когда подключатса к нему ненадо било создавать VPN подключение клиента?
__________________
Blitz3D, XNA, WebGL, OpenGL, Unity3D
PC: ASUS A55VM Core i3 (2.4Ghz), 6 Gb RAM, Nvidia GF 630M GT 2Gb
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
АПроблемы с анимированной моделью Hellfalcon 3D-программирование 6 02.07.2008 11:30
Оптимизация: Отбрасывание невидимых пол& Dstorton111 3D-программирование 20 27.04.2008 02:46
куплю исходник военной стратегии на blitz3d эд Blitz3D 15 18.02.2008 15:50
А вот и ещё тема по текстурированию ландшk CRASHER Создание текстур 4 16.01.2008 18:10


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


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