forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Проекты на Blitz3D (http://forum.boolean.name/forumdisplay.php?f=14)
-   -   Сетевая игра на б3д, или 3д чат (наброски) (http://forum.boolean.name/showthread.php?t=10035)

tormoz 13.11.2009 06:59

Сетевая игра на б3д, или 3д чат (наброски)
 
Вижу на форуме много вопросов по построению сетевых игр на блитц3д
Этот проект старый, валяется на диске с января 2006 года, давно забыт и заброшен, но может кому-то принесет пользу
Выкладываю с исходниками
Тестили на 3 клиентах, все работало (больше просто не нашли)
Медиа Алексея (Kai он же BGGeneral) , код мой.

Запускаете сервер, потом клиент
На одном компе больше 1 клиента не запускать (сервер с клиентом мона)
Все настройки и айпи прописывать в конфигах (там все понятно)

секторный мир, 11х11 кусков размером 200х200 метров с подгрузкой
сеть на кнет
есть чат (только не помню какой кнопкой включить :-D )

http://screensworld.com/svalka/SUPPROJECT.rar
3 mb

Nex 13.11.2009 10:34

Ответ: Сетевая игра на б3д, или 3д чат (наброски)
 
tormoz, просто не человеческое спасибо тебе! :dance:

Arton 30.11.2009 20:49

Ответ: Сетевая игра на б3д, или 3д чат (наброски)
 
Спасибо tormoz, пригодится =)

BlackOut 22.12.2009 16:32

Ответ: Сетевая игра на б3д, или 3д чат (наброски)
 
вопрос такоф..адекватно ли она работает с проксями и прочим гемороем ломающию жизнь начинаюшим программистам =)

а вообще если серьезно, то кто знает как сделать сетевое приложение которое довало бы гарантию что сеть между 2-мя (или нескольки) компами устанавливалась в любом случие при условии (что естественно плюс) один комп будет с реальным IP. и еше разница модулей в БМ сокеты и библа(как я понял) GNET они умеют работать с проксей?

===правка===
обьяснять разницу в gnet и сокетах отпала, славо богу.=)
спасибо Кнайту за его пост!
http://forum.boolean.name/showpost.p...06&postcount=6

Damp 23.12.2009 09:32

Ответ: Сетевая игра на б3д, или 3д чат (наброски)
 
Если хостит один из игроков, остальные так или иначе дожны вбить его ip. Либо руками, либо получить автоматически из какой-то базы, типа лобби сервера. Такая схема часто используется, но правда в хорошо продвинутых играх, где наверняка будут игроки с внешними ip, и вообще люди знающие что это такое ))
С прокси должен работать сам клиент, врядли либы имеют такие функции, т.к. это типа как надстройка над протоколом, хотя хз может и есть. Прокси дома стоит наверно только у спутников.

---

Нашел дома )) , делал когда-то поддержку прокси, помню что сокс с паролем и логином не получалось.
http://ru.wikipedia.org/wiki/SOCKS

А с http проще, там почти обычний GET
http://ru.wikipedia.org/wiki/HTTP#.D...B5.D1.80.D1.8B

Вот еще сисадмин один посоветовал как с прокси разобраться.
Включаем сниффер, запускаем аську чрез все типы прокси поочереди. Анализируем )
Сейчас попробовал на работе, впринципе все понятно более или менее.

LLI.T.A.L.K.E.R. 20.09.2011 23:15

Ответ: Сетевая игра на б3д, или 3д чат (наброски)
 
Остался у кого SUPPROJECT.rar ?

tormoz 21.09.2011 00:09

Ответ: Сетевая игра на б3д, или 3д чат (наброски)
 
http://freekinofilm.net/SUPPROJECT.rar

LLI.T.A.L.K.E.R. 21.09.2011 00:56

Ответ: Сетевая игра на б3д, или 3д чат (наброски)
 
tormoz ты помнишь алгоритм кода?

В main.bb есть такие строки:
Код:

UpdateSky()
UpdateLevel()

If connectYes
Send_Pos()
CheckNetwork()

Function Send_Pos() в netKlient.bb я так понял отправляет на сервер новую позицию героя.
Код:

  KNL_SendFloat (x)
  KNL_SendFloat (y)
  KNL_SendFloat (z)

Посмотрел Function UpdateLevel() в functions.bb
там же U_l() функция
Код:

Function U_l()
 Send_Location()

Send_Location в netKlient.bb
Код:

KNL_SendInteger(1)
  KNL_SendFloat (EntityX(HeroModel,1))
  KNL_SendFloat (EntityY(HeroModel,1))
  KNL_SendFloat (EntityZ(HeroModel,1))
  KNL_SendFloat (EntityYaw(HeroModel,1))
  KNL_SendInteger(LocationX)
  KNL_SendInteger(LocationZ)
 KNL_UpdateNetwork(0,0,500,8)

Что за двойная отправка позиций? + там ещё отправка позиций bot есть.

Есть ли передача понятия функциям, что такое HeroModel.
Или это константа главного героя текущего клиента?

tormoz 21.09.2011 02:30

Ответ: Сетевая игра на б3д, или 3д чат (наброски)
 
это константа главного героя
больше ничего не помню, это было еще до исторического материализма


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

vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot