|
05.09.2008, 00:12
|
#1
|
ПроЭктировщик
Регистрация: 22.12.2006
Сообщений: 182
Написано 2 полезных сообщений (для 2 пользователей)
|
MMO??? Что и как ? O_o
Может быть ктото подкинет простой сетевой игры...
С сервером простеньким чтобы только передвижение просчитывало и клиентом.
Типа кубы ходят по плейну. Или просто какую нибуть инфу о работе блица с сервером.
Или может просто пример игры по локальной сети.
Простенький пример.
Или может уроки какие нибуть, статьи на эту тему.
Заранее благодарен всем.
А теперь короткое ЧаВо по моему посту:
1. Да я нуб который ничего не умеет
2. ДА я уже начал делать мморпг
3. Прошу свои "умные" посты постить в другой теме , не здесь
Спасибо за внимание.
|
(Offline)
|
|
05.09.2008, 01:07
|
#2
|
Ференька
Регистрация: 26.01.2007
Адрес: улица Пушкина дом Колотушкина
Сообщений: 10,742
Написано 5,461 полезных сообщений (для 15,675 пользователей)
|
Ответ: MMO??? Что и как ? O_o
Фак Ю! (FAQ)
http://forum.boolean.name/showthread.php?t=4775
http://forum.boolean.name/showthread.php?t=4760
Спасибо Тадеусу за статьи. (Жаль что мало кто их читает или даже ищет) Это имхо базовые знания которые нужны для создания сетевой игры разумеется. Не ММО, разумеется, для этого нужен вагон терпения и опыт.
Кроме того обрати внимание что должна быть сервер-клиентная архитектура игры, то есть всё, что обрабатывает игровую логику, физику, коллизии - должно быть собрано вчётко в одном месте, а то, что обрабатывает инпут, вывод и необязательную физику, которая на игры влияния не оказывает (колыхание травы, например) - в другом месте, чтобы когда будет написана основа разделить уже это всё на непосредственно сервер и клиент.
Кроме того всё надо обязательно стандартизировать, никаких глобальных переменных для игрока, оружия и т.п. т.к. это делает невозможным добавление и обработку новых игроков.
Передачу данных свести к минимуму. Не передавать строки кроме случаев, где по-иному никак и ни в коем случае не в цикле (имя игрока один раз при коннекте). Продумай, шо будеш делать если пинг от юзера (или сервера) слишком велик. Например, ЕСЛИ всё ещё нет пинга И игрок бежал ТОГДА продолжить заставлять персонажа бежать дальше пока ситуация с пингом не изменится ИНАЧЕ если есть пинг - делать шо "скажет" клиент, если нету пинга то ничего не делать.
На Блитзетцетере ищи урок "Делаем чат" где собсно есть простейшая сервер-клиентная прога, ну, конечно, в игре всё в разы сложнее.
__________________
Мои проекты:
Анальное Рабство
Зелёный Слоник
Дмитрий Маслов*
Различие**
Клюква**
* — в стадии разработки
** — в стадии проектирования
Для проектов в стадии проектирования приведены кодовые имена
|
(Offline)
|
|
05.09.2008, 01:09
|
#3
|
Дэвелопер
Регистрация: 10.09.2007
Сообщений: 1,442
Написано 793 полезных сообщений (для 1,460 пользователей)
|
Ответ: MMO??? Что и как ? O_o
иногда человек так задает вопрос что невозможно ему ответить...
по пунктам:
1. не путай онлайн и ММО (отличие в слове "массивная")
2. на Блице никто в здравом уме сервер писать не станет.
3. тебе надо будет написать И клиент, И сервер.
4. уроки и статьи находятся на http://blitzetc.blitzmax.ru/index.ph...B9%D1%82%D0%B8
5. вот еще по русски: http://gamedev.ru/articles/?sect=8 (заметь я потратил на поиск ровно 1 минуту)
|
(Offline)
|
|
05.09.2008, 01:47
|
#4
|
Бывалый
Регистрация: 22.08.2006
Сообщений: 700
Написано 146 полезных сообщений (для 267 пользователей)
|
Ответ: MMO??? Что и как ? O_o
Тебе оно надо?
Вообще-то сначала я собирался делать MMORPG, но умные люди сказали: "убей сибя, пешы арканоед"
|
|
(Offline)
|
|
05.09.2008, 01:56
|
#5
|
Злобный Админ
Регистрация: 04.09.2005
Сообщений: 5,926
Написано 3,415 полезных сообщений (для 9,330 пользователей)
|
Ответ: MMO??? Что и как ? O_o
Немог пройти мимо такой темы и решил ответить конкретно на поставленый вопрос:
> MMO??? Что и как ? O_o
Модно, круто, прибыльно и долго, дорого, нереально малыми силами. Ж)
__________________
|
(Offline)
|
|
Эти 4 пользователя(ей) сказали Спасибо SBJoker за это полезное сообщение:
|
|
06.09.2008, 16:36
|
#6
|
Разработчик
Регистрация: 20.01.2007
Сообщений: 485
Написано 182 полезных сообщений (для 412 пользователей)
|
Ответ: MMO??? Что и как ? O_o
Для начало Изучи всё о пакетах(прием отправка) посмотри примеры с udp соединением(Tcp не покатит на онлаин игру-это будет слаидшоу)
|
(Offline)
|
|
06.09.2008, 16:59
|
#7
|
|
Ответ: MMO??? Что и как ? O_o
Антихрист
это вопрос кривизны рук, а не отличий технологий tcp и udp
|
|
|
06.09.2008, 17:10
|
#8
|
Троллота
Регистрация: 09.07.2007
Сообщений: 1,829
Написано 554 полезных сообщений (для 1,772 пользователей)
|
Ответ: MMO??? Что и как ? O_o
2Антихрист О, чудо! Как же тогда работают современные ММОРПГ на тсп? :D
|
(Offline)
|
|
06.09.2008, 17:11
|
#9
|
Разработчик
Регистрация: 20.01.2007
Сообщений: 485
Написано 182 полезных сообщений (для 412 пользователей)
|
тогда добавлю имхо tcp не покатит.Тем более если он(а) в этом нечего не понимает
Современные игры делают на BLitz? :D без библ?
Последний раз редактировалось jimon, 06.09.2008 в 17:19.
|
(Offline)
|
|
06.09.2008, 17:17
|
#10
|
Троллота
Регистрация: 09.07.2007
Сообщений: 1,829
Написано 554 полезных сообщений (для 1,772 пользователей)
|
Ответ: MMO??? Что и как ? O_o
Сообщение от Tadeus
2Антихрист О, чудо! Как же тогда работают современные ММОРПГ на тсп? :D
|
Сообщение от Антихрист
Современные игры делают на BLitz? :D без библ?
|
Где я хотя бы слово сказал о блице?
|
(Offline)
|
|
07.09.2008, 04:37
|
#11
|
Разработчик
Регистрация: 20.01.2007
Сообщений: 485
Написано 182 полезных сообщений (для 412 пользователей)
|
Ответ: MMO??? Что и как ? O_o
Сообщение от klopmaks
Может быть ктото подкинет простой сетевой игры...
С сервером простеньким чтобы только передвижение просчитывало и клиентом.
Типа кубы ходят по плейну. Или просто какую нибуть инфу о работе блица с сервером.
Или может просто пример игры по локальной сети.
Простенький пример.
Или может уроки какие нибуть, статьи на эту тему.
Заранее благодарен всем.
А теперь короткое ЧаВо по моему посту:
1. Да я нуб который ничего не умеет
2. ДА я уже начал делать мморпг
3. Прошу свои "умные" посты постить в другой теме , не здесь
Спасибо за внимание.
|
Tadeus Ну речь то идет о создании Игры на Blitz3d. Ему с udp будет проще.
|
(Offline)
|
|
07.09.2008, 10:30
|
#12
|
Троллота
Регистрация: 09.07.2007
Сообщений: 1,829
Написано 554 полезных сообщений (для 1,772 пользователей)
|
Ответ: MMO??? Что и как ? O_o
Сообщение от Антихрист
Tadeus Ну речь то идет о создании Игры на Blitz3d. Ему с udp будет проще.
|
В данном случае имхо надо использовать их совместно. Например, ТСР для логина, регистрации, чата и т.п., а ЮДП - для передвижения и действий.
|
(Offline)
|
|
14.09.2008, 16:18
|
#13
|
ПроЭктировщик
Регистрация: 22.12.2006
Сообщений: 182
Написано 2 полезных сообщений (для 2 пользователей)
|
Re: MMO??? Что и как ? O_o
спасибо Тадеусу за статии =)
Там дальше приводиться пример "кубо-гонок"
Я там немного застрял...
Код я понял и переписал так что у одного клиента вид(камера) от одного куба
у второго от второго. И управление.
Потоки тоже вроде поменял , но мне выдает 1 клиент что стрим_1 даз нот екзист
Кода немного поетому я выложу. Вопрос в первую очередь к Tадуесу помогите плз.
1 Клиент
Const out_port=53424
Const in_port=53425
Global Stream_1=CreateUDPStream(53425)
Global Stream_2=CreateUDPStream(53424)
Global op_ip$=Input()
Global cub
Global cub2
Graphics3D 640,480,32,2
SetBuffer BackBuffer()
plane=CreatePlane()
plane_tex=LoadTexture("terrain-1.jpg")
PositionEntity plane,0,-1,0
EntityTexture plane,plane_tex
ScaleTexture plane_tex,15,15
cub=CreateCube()
MoveEntity cub,-2,0,0
cub2=CreateCube()
MoveEntity cub2,2,0,0
cam=CreateCamera(cub)
PositionEntity cam,0,5,-10
While Not KeyHit(1)
If KeyDown(200) MoveEntity cub,0,0,.1
If KeyDown(208 ) MoveEntity cub,0,0,-.1
If KeyDown(203) TurnEntity cub,0,1,0
If KeyDown(205) TurnEntity cub,0,-1,0
UpdateNetwork()
RenderWorld
Flip
Wend
End
Function UpdateNetwork()
WriteLine Stream_1,EntityX(cub)
WriteLine Stream_1,EntityZ(cub)
WriteLine Stream_1,EntityYaw(cub)
SendUDPMsg Stream_1,Int_IP(op_ip$),in_port
If RecvUDPMsg(Stream_2) Then
PositionEntity cub2,Float(ReadLine$(Stream_2)),0,Float(ReadLine$( Stream_2))
RotateEntity cub2,0,Float(ReadLine$(Stream_2)),0
EndIf
End Function
Function Int_IP(IP$)
d1%=Left(IP$,Instr(IP$,".")-1):IP$=Right(IP$,Len(IP$)-Instr(IP$,"."))
d2%=Left(IP$,Instr(IP$,".")-1):IP$=Right(IP$,Len(IP$)-Instr(IP$,"."))
d3%=Left(IP$,Instr(IP$,".")-1):IP$=Right(IP$,Len(IP$)-Instr(IP$,"."))
d4%=IP$
Return (d1 Shl 24) + (d2 Shl 16) + (d3 Shl 8 ) +d4
End Function
2 Клиент
Const out_port=53425
Const in_port=53424
Global Stream_1=CreateUDPStream(53424)
Global Stream_2=CreateUDPStream(53425)
Global op_ip$=Input()
Global cub
Global cub2
Graphics3D 640,480,32,2
SetBuffer BackBuffer()
plane=CreatePlane()
plane_tex=LoadTexture("terrain-1.jpg")
PositionEntity plane,0,-1,0
EntityTexture plane,plane_tex
ScaleTexture plane_tex,15,15
cub=CreateCube()
MoveEntity cub,-2,0,0
cub2=CreateCube()
MoveEntity cub2,2,0,0
cam=CreateCamera(cub2)
PositionEntity cam,0,5,-10
While Not KeyHit(1)
If KeyDown(200) MoveEntity cub2,0,0,.1
If KeyDown(208 ) MoveEntity cub2,0,0,-.1
If KeyDown(203) TurnEntity cub2,0,1,0
If KeyDown(205) TurnEntity cub2,0,-1,0
UpdateNetwork()
RenderWorld
Flip
Wend
End
Function UpdateNetwork()
WriteLine Stream_1,EntityX(cub2)
WriteLine Stream_1,EntityZ(cub2)
WriteLine Stream_1,EntityYaw(cub2)
SendUDPMsg Stream_1,Int_IP(op_ip$),in_port
If RecvUDPMsg(Stream_2) Then
PositionEntity cub,Float(ReadLine$(Stream_2)),0,Float(ReadLine$(S tream_2))
RotateEntity cub,0,Float(ReadLine$(Stream_2)),0
EndIf
End Function
Function Int_IP(IP$)
d1%=Left(IP$,Instr(IP$,".")-1):IP$=Right(IP$,Len(IP$)-Instr(IP$,"."))
d2%=Left(IP$,Instr(IP$,".")-1):IP$=Right(IP$,Len(IP$)-Instr(IP$,"."))
d3%=Left(IP$,Instr(IP$,".")-1):IP$=Right(IP$,Len(IP$)-Instr(IP$,"."))
d4%=IP$
Return (d1 Shl 24) + (d2 Shl 16) + (d3 Shl 8 ) +d4
End Function
|
(Offline)
|
|
14.09.2008, 16:31
|
#14
|
Троллота
Регистрация: 09.07.2007
Сообщений: 1,829
Написано 554 полезных сообщений (для 1,772 пользователей)
|
Ответ: MMO??? Что и как ? O_o
В ЮДП нет клиентов и серверов. И тот код, что я давал работает так: каждый запускает и вводит ИП второго игрока. Ну, а потом начинается беготня кубиками.
|
(Offline)
|
|
14.09.2008, 17:36
|
#15
|
ПроЭктировщик
Регистрация: 22.12.2006
Сообщений: 182
Написано 2 полезных сообщений (для 2 пользователей)
|
Re: MMO??? Что и как ? O_o
Да?
А если мы запускаем два раза эту програму на одной машине.(одну из блица , вторую компилируем) и вводим 127.0.0.1 то тогда что будет ?
|
(Offline)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 22:47.
|