MMO??? Что и как ? O_o
Может быть ктото подкинет простой сетевой игры...
С сервером простеньким чтобы только передвижение просчитывало и клиентом. Типа кубы ходят по плейну. Или просто какую нибуть инфу о работе блица с сервером. Или может просто пример игры по локальной сети. Простенький пример. Или может уроки какие нибуть, статьи на эту тему. Заранее благодарен всем. А теперь короткое ЧаВо по моему посту: 1. Да я нуб который ничего не умеет 2. ДА я уже начал делать мморпг 3. Прошу свои "умные" посты постить в другой теме , не здесь Спасибо за внимание. |
Ответ: MMO??? Что и как ? O_o
Фак Ю! (FAQ)
http://forum.boolean.name/showthread.php?t=4775 http://forum.boolean.name/showthread.php?t=4760 Спасибо Тадеусу за статьи. (Жаль что мало кто их читает или даже ищет) Это имхо базовые знания которые нужны для создания сетевой игры разумеется. Не ММО, разумеется, для этого нужен вагон терпения и опыт. Кроме того обрати внимание что должна быть сервер-клиентная архитектура игры, то есть всё, что обрабатывает игровую логику, физику, коллизии - должно быть собрано вчётко в одном месте, а то, что обрабатывает инпут, вывод и необязательную физику, которая на игры влияния не оказывает (колыхание травы, например) - в другом месте, чтобы когда будет написана основа разделить уже это всё на непосредственно сервер и клиент. Кроме того всё надо обязательно стандартизировать, никаких глобальных переменных для игрока, оружия и т.п. т.к. это делает невозможным добавление и обработку новых игроков. Передачу данных свести к минимуму. Не передавать строки кроме случаев, где по-иному никак и ни в коем случае не в цикле (имя игрока один раз при коннекте). Продумай, шо будеш делать если пинг от юзера (или сервера) слишком велик. Например, ЕСЛИ всё ещё нет пинга И игрок бежал ТОГДА продолжить заставлять персонажа бежать дальше пока ситуация с пингом не изменится ИНАЧЕ если есть пинг - делать шо "скажет" клиент, если нету пинга то ничего не делать. На Блитзетцетере ищи урок "Делаем чат" где собсно есть простейшая сервер-клиентная прога, ну, конечно, в игре всё в разы сложнее. |
Ответ: 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 минуту) |
Ответ: MMO??? Что и как ? O_o
Тебе оно надо?
Цитата:
|
Ответ: MMO??? Что и как ? O_o
Немог пройти мимо такой темы и решил ответить конкретно на поставленый вопрос:
> MMO??? Что и как ? O_o Модно, круто, прибыльно и долго, дорого, нереально малыми силами. Ж) |
Ответ: MMO??? Что и как ? O_o
Для начало Изучи всё о пакетах(прием отправка) посмотри примеры с udp соединением(Tcp не покатит на онлаин игру-это будет слаидшоу)
|
Ответ: MMO??? Что и как ? O_o
Антихрист
это вопрос кривизны рук, а не отличий технологий tcp и udp |
Ответ: MMO??? Что и как ? O_o
2Антихрист О, чудо! Как же тогда работают современные ММОРПГ на тсп? :D
|
тогда добавлю имхо tcp не покатит.Тем более если он(а) в этом нечего не понимает
Современные игры делают на BLitz? :D без библ? |
Ответ: MMO??? Что и как ? O_o
Цитата:
Цитата:
|
Ответ: MMO??? Что и как ? O_o
Цитата:
|
Ответ: MMO??? Что и как ? O_o
Цитата:
|
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 |
Ответ: MMO??? Что и как ? O_o
В ЮДП нет клиентов и серверов. И тот код, что я давал работает так: каждый запускает и вводит ИП второго игрока. Ну, а потом начинается беготня кубиками.
|
Re: MMO??? Что и как ? O_o
Да?
А если мы запускаем два раза эту програму на одной машине.(одну из блица , вторую компилируем) и вводим 127.0.0.1 то тогда что будет ? |
Часовой пояс GMT +4, время: 09:27. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot