|
3D-программирование Вопросы, касающиеся программирования 3D мира |
25.09.2007, 16:21
|
#16
|
Бывалый
Регистрация: 05.09.2005
Сообщений: 623
Написано 4 полезных сообщений (для 5 пользователей)
|
Re: Сеть
Сообщение от Данил
Да-да... научился пользоватся сетью по тутору тадеуса - сделал это... и ничего там особенного нет... чисто управление кубиками.. )))))
Йа хотел сделать проект - дубовую РПГ, но у меня не получилось из за тормозов.
|
Хорошо! Тогад и я, как будет время обязательно по его статье попробую сделатЬ!
|
(Offline)
|
|
29.09.2007, 11:01
|
#17
|
Бывалый
Регистрация: 05.09.2005
Сообщений: 623
Написано 4 полезных сообщений (для 5 пользователей)
|
Re: Сеть
Пытался взять flyer (аццкий мегапроект), который мне тут любезно предоставили на скачивание, но не судьба - в коде много ошибок, так что не запускается.
Может конечно я где-то и был невнимателен, но...скопировал пример Тадеуса, "вставил" в блиц и так и не получилось у меня запустить даже хост. Ошибка там был, мол host уже запущен. Не знаю что мне с этой сетью делать(
|
(Offline)
|
|
30.09.2007, 16:46
|
#18
|
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
|
Троллота
Регистрация: 09.07.2007
Сообщений: 1,829
Написано 554 полезных сообщений (для 1,772 пользователей)
|
Re: Сеть
Странно, у меня все работает
|
(Offline)
|
|
30.09.2007, 16:56
|
#20
|
Бывалый
Регистрация: 05.09.2005
Сообщений: 623
Написано 4 полезных сообщений (для 5 пользователей)
|
Re: Сеть
Сообщение от Tadeus
Странно, у меня все работает
|
тогда 100% я где-то что-то упустил по невнимательности! Приведи пожалуйста в FAQ полный код сети от начала и до конца (ну или прикрепи просто код)
|
(Offline)
|
|
30.09.2007, 17:09
|
#21
|
Троллота
Регистрация: 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
|
Оператор ЭВМ
Регистрация: 09.04.2007
Сообщений: 28
Написано 2 полезных сообщений (для 2 пользователей)
|
Re: Сеть
У меня тож в локалке тормозит (юзаю direct play).
при чем как-то странно:
создаю сервак без графички и подключаю 2-х клиентов
так вот первый бегает нормальноа (на екране второго), а вот второй клиен отображается малото того, что с тормозами, так еще и происходит некая ситуация при которой на экране клиента2 все нормально перемещается, а на экране клиента1 как игрок2 стоял на месте так и стоит. мож у кого такое было?
Ну раз уже пишу еще вопрос: как по сетми файл передать, если можно на direct play
|
(Offline)
|
|
01.10.2007, 21:22
|
#23
|
Троллота
Регистрация: 09.07.2007
Сообщений: 1,829
Написано 554 полезных сообщений (для 1,772 пользователей)
|
Re: Сеть
Через DirectPlay можно, но геморно
Лучше через TCP через банк побайтово
|
(Offline)
|
|
01.10.2007, 21:47
|
#24
|
Бывалый
Регистрация: 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
|
Бывалый
Регистрация: 22.08.2006
Сообщений: 700
Написано 146 полезных сообщений (для 267 пользователей)
|
Re: Сеть
Если писать через StartNetGame(), то заходить в игру придется через стандартный диалог блитца (кстати в полноэкранном режиме он показывается за основным экраном игры (!), а потому выбрать ничего не получится). Поэтому вариант от Tadeus лучше.
|
(Offline)
|
|
01.10.2007, 22:19
|
#26
|
Бывалый
Регистрация: 05.09.2005
Сообщений: 623
Написано 4 полезных сообщений (для 5 пользователей)
|
Re: Сеть
Сообщение от Michael
Если писать через StartNetGame(), то заходить в игру придется через стандартный диалог блитца (кстати в полноэкранном режиме он показывается за основным экраном игры (!), а потому выбрать ничего не получится). Поэтому вариант от Tadeus лучше.
|
Да, но по его варианту вообще не получается подключиться(
|
(Offline)
|
|
01.10.2007, 22:49
|
#27
|
Троллота
Регистрация: 09.07.2007
Сообщений: 1,829
Написано 554 полезных сообщений (для 1,772 пользователей)
|
Re: Сеть
Мой вариант для тестирования Внимательно читайте статью
Так, а почему все безобразными рывками (я разумею если движется удаленный игрок, то на локальном компе он движется рывками)? И участок:
|
|
(Offline)
|
|
01.10.2007, 23:04
|
#28
|
Бывалый
Регистрация: 05.09.2005
Сообщений: 623
Написано 4 полезных сообщений (для 5 пользователей)
|
Re: Сеть
Сообщение от Tadeus
Мой вариант для тестирования Внимательно читайте статью
|
Так, а почему все безобразными рывками (я разумею если движется удаленный игрок, то на локальном компе он движется рывками)?
|
(Offline)
|
|
01.10.2007, 23:05
|
#29
|
Троллота
Регистрация: 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
|
Бывалый
Регистрация: 05.09.2005
Сообщений: 623
Написано 4 полезных сообщений (для 5 пользователей)
|
Re: Сеть
Ого! Спасибо за код! Честно говоря смотришь на пример и думаешь, а нужна ли эта сеть...?
|
(Offline)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
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.
|