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

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

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

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

Ответ
 
Опции темы
Старый 25.09.2007, 16:21   #16
Fant
Бывалый
 
Регистрация: 05.09.2005
Сообщений: 623
Написано 4 полезных сообщений
(для 5 пользователей)
Re: Сеть

Сообщение от Данил
Да-да... научился пользоватся сетью по тутору тадеуса - сделал это... и ничего там особенного нет... чисто управление кубиками.. )))))

Йа хотел сделать проект - дубовую РПГ, но у меня не получилось из за тормозов.
Хорошо! Тогад и я, как будет время обязательно по его статье попробую сделатЬ!
(Offline)
 
Ответить с цитированием
Старый 29.09.2007, 11:01   #17
Fant
Бывалый
 
Регистрация: 05.09.2005
Сообщений: 623
Написано 4 полезных сообщений
(для 5 пользователей)
Re: Сеть

Пытался взять flyer (аццкий мегапроект), который мне тут любезно предоставили на скачивание, но не судьба - в коде много ошибок, так что не запускается.

Может конечно я где-то и был невнимателен, но...скопировал пример Тадеуса, "вставил" в блиц и так и не получилось у меня запустить даже хост. Ошибка там был, мол host уже запущен. Не знаю что мне с этой сетью делать(
(Offline)
 
Ответить с цитированием
Старый 30.09.2007, 16:46   #18
allkhor
AnyKey`щик
 
Регистрация: 26.09.2007
Сообщений: 4
Написано 0 полезных сообщений
(для 0 пользователей)
Re: Сеть

Я тоже пробывал по статье, но уменя глючит DirectPlay ((, если бы кто библиотекой сетевой поделился или адаптировал какую-нибуть без директплЭя, многие были бы благодарны!!
PS На форуме всё-таки нашлась либа K-NetLib, с примерами!! ураа )
http://www.boolean.name/attachment.p...8&d=1185467149
Спасиб форумчанам )
(Offline)
 
Ответить с цитированием
Старый 30.09.2007, 16:52   #19
Tadeus
Троллота
 
Регистрация: 09.07.2007
Сообщений: 1,829
Написано 554 полезных сообщений
(для 1,772 пользователей)
Re: Сеть

Странно, у меня все работает
(Offline)
 
Ответить с цитированием
Старый 30.09.2007, 16:56   #20
Fant
Бывалый
 
Регистрация: 05.09.2005
Сообщений: 623
Написано 4 полезных сообщений
(для 5 пользователей)
Re: Сеть

Сообщение от Tadeus
Странно, у меня все работает
тогда 100% я где-то что-то упустил по невнимательности! Приведи пожалуйста в FAQ полный код сети от начала и до конца (ну или прикрепи просто код)
(Offline)
 
Ответить с цитированием
Старый 30.09.2007, 17:09   #21
Tadeus
Троллота
 
Регистрация: 09.07.2007
Сообщений: 1,829
Написано 554 полезных сообщений
(для 1,772 пользователей)
Re: Сеть

Type Player
 Field name$,id,ent
End Type

Global cam
Global myent
Global myid
Global myname$

Graphics3D 800,600,32,2
SetBuffer BackBuffer()

jng=JoinNetGame("World Arena","127.0.0.1")
If Not jng Then HostNetGame("World Arena")

p.Player=New Player
p\name=Input("Enter your name:")
p\id=CreateNetPlayer(p\name)
p\ent=CreateCube()
myname=p\name
myid=p\id
myent=p\ent

cam=CreateCamera()
PositionEntity cam,0,2,-5

While Not KeyHit(1)
 UpdatePlayer()
 UpdateNetwork()
 RenderWorld
 Flip
Wend

Function UpdatePlayer()
 If KeyDown(17) MoveEntity myent,0,0,.1
 If KeyDown(31) MoveEntity myent,0,0,-.1
 If KeyDown(30) TurnEntity myent,0,1,0
 If KeyDown(32) TurnEntity myent,0,-1,0
 SendNetMsg 2,PackMsg$(myent),myid,0
End Function

Function UpdateNetwork()
 While RecvNetMsg()
  Select NetMsgType()
   Case 100
    p.Player=New Player
    p\id=NetMsgFrom()
    p\name=NetPlayerName(p\id)
    p\ent=CreateCube()
   Case 101
    p.Player=FindPlayer(NetMsgFrom())
    FreeEntity p\ent
    Delete p
   Case 2
    p.Player=FindPlayer(NetMsgFrom())
    UnpackMsg(p\ent,NetMsgData$())
  End Select
 Wend
End Function

Function FindPlayer.Player( id )
 For p.Player=Each Player
  If p\id=id Then Return p
 Next
End Function

Function PackMsg$(ent)
 Return EntityX(ent)+"|"+EntityZ(ent)+"|"+EntityYaw(ent)
End Function

Function UnpackMsg(ent,dat$)
 xp=Instr(dat$,"|")
 x=Float(Left(dat$,xp))
 dat$=Right(dat$,Len(dat$)-xp)
 zp=Instr(dat$,"|")
 z=Float(Left(dat$,zp))
 dat$=Right(dat$,Len(dat$)-zp)
 yaw=Float(Left(dat$,Len(dat$)))
 PositionEntity ent,x,0,z
 RotateEntity ent,0,yaw,0
End Function
(Offline)
 
Ответить с цитированием
Старый 01.10.2007, 18:46   #22
JoKeR_13
Оператор ЭВМ
 
Регистрация: 09.04.2007
Сообщений: 28
Написано 2 полезных сообщений
(для 2 пользователей)
Re: Сеть

У меня тож в локалке тормозит (юзаю direct play).
при чем как-то странно:
создаю сервак без графички и подключаю 2-х клиентов
так вот первый бегает нормальноа (на екране второго), а вот второй клиен отображается малото того, что с тормозами, так еще и происходит некая ситуация при которой на экране клиента2 все нормально перемещается, а на экране клиента1 как игрок2 стоял на месте так и стоит. мож у кого такое было?
Ну раз уже пишу еще вопрос: как по сетми файл передать, если можно на direct play
(Offline)
 
Ответить с цитированием
Старый 01.10.2007, 21:22   #23
Tadeus
Троллота
 
Регистрация: 09.07.2007
Сообщений: 1,829
Написано 554 полезных сообщений
(для 1,772 пользователей)
Re: Сеть

Через DirectPlay можно, но геморно
Лучше через TCP через банк побайтово
(Offline)
 
Ответить с цитированием
Старый 01.10.2007, 21:47   #24
Fant
Бывалый
 
Регистрация: 05.09.2005
Сообщений: 623
Написано 4 полезных сообщений
(для 5 пользователей)
Re: Сеть

Так, а почему все безобразными рывками (я разумею если движется удаленный игрок, то на локальном компе он движется рывками)? И участок:

jng=JoinNetGame("World Arena","127.0.0.1")
If Not jng Then HostNetGame("World Arena")

По-моему нужно заменить на:
jng=StartNetGame () - теперь можно присоединяться к игре
(Offline)
 
Ответить с цитированием
Старый 01.10.2007, 22:14   #25
MiXaeL
Бывалый
 
Аватар для MiXaeL
 
Регистрация: 22.08.2006
Сообщений: 700
Написано 146 полезных сообщений
(для 267 пользователей)
Re: Сеть

Если писать через StartNetGame(), то заходить в игру придется через стандартный диалог блитца (кстати в полноэкранном режиме он показывается за основным экраном игры (!), а потому выбрать ничего не получится). Поэтому вариант от Tadeus лучше.
(Offline)
 
Ответить с цитированием
Старый 01.10.2007, 22:19   #26
Fant
Бывалый
 
Регистрация: 05.09.2005
Сообщений: 623
Написано 4 полезных сообщений
(для 5 пользователей)
Re: Сеть

Сообщение от Michael
Если писать через StartNetGame(), то заходить в игру придется через стандартный диалог блитца (кстати в полноэкранном режиме он показывается за основным экраном игры (!), а потому выбрать ничего не получится). Поэтому вариант от Tadeus лучше.
Да, но по его варианту вообще не получается подключиться(
(Offline)
 
Ответить с цитированием
Старый 01.10.2007, 22:49   #27
Tadeus
Троллота
 
Регистрация: 09.07.2007
Сообщений: 1,829
Написано 554 полезных сообщений
(для 1,772 пользователей)
Re: Сеть

Мой вариант для тестирования Внимательно читайте статью

Так, а почему все безобразными рывками (я разумею если движется удаленный игрок, то на локальном компе он движется рывками)? И участок:
(Offline)
 
Ответить с цитированием
Старый 01.10.2007, 23:04   #28
Fant
Бывалый
 
Регистрация: 05.09.2005
Сообщений: 623
Написано 4 полезных сообщений
(для 5 пользователей)
Re: Сеть

Сообщение от Tadeus
Мой вариант для тестирования Внимательно читайте статью
Так, а почему все безобразными рывками (я разумею если движется удаленный игрок, то на локальном компе он движется рывками)?
(Offline)
 
Ответить с цитированием
Старый 01.10.2007, 23:05   #29
Tadeus
Троллота
 
Регистрация: 09.07.2007
Сообщений: 1,829
Написано 554 полезных сообщений
(для 1,772 пользователей)
Re: Сеть

А это всегда так, если не применять средства, вроде кубических сплайнов. По последнему, вот что я советую посмотреть http://www.gamedev.ru/articles/?id=80102 а также стандартный блицевский семпл C:\Program Files\Blitz3D\Samples\Blitz 3D Samples\AGore\BirdDemo\KBSplines (если установленно в стандартную директорию), также вот тебе пример в помощь:

;-3d Cubic Spline Interpolation-;

;[Updated] - Recursive Math Added For fastest Spline Speed Ever

;[Updated] - 3rd dimension added and having a little fun with the Y axis of the beginning Y value.

;-by Chroma (edited by TogaMario)
;-based on a tutorial at www.gamedev.net

;The object starts at position S and is predicted ahead one second to be at 1.
;The object is then predicted to E and then time reversed one second to 2.
;The spline is then plotted from S to E based on the predicted points of 1 and 2
;and the starting And ending velocities. The object is then moved along the
;spline Until the Next packet arrives and then process starts over.

;S = starting point - time=0
;1 = predicted position after 1 sec
;2 = predicted position reversed from E after 1 sec
;E = ending point

AppTitle "Cubic Spline Interpolation"

Graphics3D 800,600,16,2
SetBuffer BackBuffer()

i = 50

;Main Loop
While Not KeyHit(1)
Cls

i = i - 1
;Cubic Spline Interpolation (I love those words!)
cspline(50,i,50,100,100,100,100,100,100,300,75,-20,-10,0,0)

Flip
Wend
End

;-=-=-=-=-=-=-=-=-=-=-=-=-=-=;
;=Cubic Spline Interpolation=;
;-=-=-=-=-=-=-=-=-=-=-=-=-=-=;
Function cspline(Xold,Yold,Zold,Xvelold,Yvelold,Zvelold,XNew=0,YNew=0,ZNew=0,Xvelnew,Yvelnew,Zvelnew,XAccelNew,YAccelNew,ZAcccelNew,Time=3)

;Init Local Variables
Local x,y,z,x0,y0,z0,x1,y1,z1,x2,y2,z2,x3,y3,z3
Local a,b,c,d,e,f,g,h,i,j,k,l,t#

;Coord#1 is the current object's X,Y (or X,Z if using 3D)
Color 0,255,0
X0=Xold : Y0=Yold : Z0=Zold
Text X0-4,Y0-16,"S"
Rect X0,Y0,3,3,1

;Calc Coord#2
Color 255,255,0
X1 = X0 + XVelOld
Y1 = Y0 + YVelOld
Z1 = Z0 + ZVelOld
Text X1-4,Y1-16,"1"
Rect X1,Y1,3,3,1

;Calc Coord#3 (must calc after Coord#4)
Color 200,100,0
X2=XNew + XVelNew * Time + .5 * XAccelNew * Time^2
Y2=YNew + YVelNew * Time + .5 * YAccelNew * Time^2
Z2=ZNew + ZVelNew * Time + .5 * ZAccelNew * Time^2
Text X2-4,Y2-16,"2"
Rect X2,Y2,3,3,1

;Calc Coord#4
Color 255,0,0
X3=XNew
Y3=YNew
Z3=Znew
;X3=X2 - (XVelNew + XAccelNew * Time)
;Y3=Y2 - (YVelNew + YAccelNew * Time)
Text X3-4,Y3-16,"E"
Rect X3,Y3,3,3,1


;Calc Cubic Spline Points
RecursiveMathA=3*x2
RecursiveMathB=3*x1
RecursiveMathC=6*x1
RecursiveMathD=3*x0
RecursiveMathE=3*y2
RecursiveMathF=3*y1
RecursiveMathG=6*y1
RecursiveMathH=3*y0
RecursiveMathI=3*z2
RecursiveMathJ=3*z1
RecursiveMathK=6*z1
ResurciveMathL=3*z0


A = X3 - RecursiveMathA + RecursiveMathB - x0
B = RecursiveMathA - RecursiveMathC + RecursiveMathD
C = RecursiveMathB - RecursiveMathD
D = x0
E = y3 - RecursiveMathE + RecursiveMathF - y0
F = RecursiveMathE - RecursiveMathG + RecursiveMathH
G = RecursiveMathF - RecursiveMathH
H = y0
I = z3 - RecursiveMathI + RecursiveMathJ - z0
J = RecursiveMathI - RecursiveMathK + RecursiveMathL
K = RecursiveMathJ - RecursiveMathL
L = z0

;Draw the Spline
For t#=0 To 1 Step .001
     x = A*t^3 + B*t^2 + C*t + D
     y = E*t^3 + F*t^2 + G*t + H 
Plot x,y
Next

End Function
(Offline)
 
Ответить с цитированием
Старый 01.10.2007, 23:08   #30
Fant
Бывалый
 
Регистрация: 05.09.2005
Сообщений: 623
Написано 4 полезных сообщений
(для 5 пользователей)
Re: Сеть

Ого! Спасибо за код! Честно говоря смотришь на пример и думаешь, а нужна ли эта сеть...?
(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
СЕТЬ...СЕТЬ...СЕТЬ... ЛысыЙ_Чук-Иванчук 3D-программирование 8 19.03.2007 22:18
Сеть. HolyDel Blitz3D 3 13.03.2007 05:29


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


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