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

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

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

Ответ
 
Опции темы
Старый 17.08.2011, 19:59   #1
LLI.T.A.L.K.E.R.
Мастер
 
Аватар для LLI.T.A.L.K.E.R.
 
Регистрация: 24.06.2009
Адрес: Набережные Челны
Сообщений: 930
Написано 292 полезных сообщений
(для 504 пользователей)
BlitzMAX сервер / Blitz3D клиент (RakNET)

На основе Multiplayer Top-Down Shooter от baton4ik...
Очень хочу сделать связку BlitzMAX сервер для Linux / Blitz3D клиент Windows.
Так как, изучив доступные игровые движки, только BlitzMAX с RakNET модулем работает на Linux (особенно как сервер).

Пытаюсь перевести клиент шутера на Blitz3D. Что получилось:
при соединеии клиента в блит3д - в блитзМАХ игрок коннектится
а вот при передачи сервера блитзМАХ - на блитз3д информация теряется

Возможно это из-за различий типов переменных (ну там int, char, string)
А ещё UnsignedShort, UnsignedChar если смотреть в пример SampleExample.bb

Пишу здесь так как baton4ik сюда заходит

(на счёт того, что лучше на ЯП C писать чем возиться с BlitzMAX - ответ стандартный: "здесь почти всё готово") ну скоро на линукс перейду, а там и на ЯП С посмотрю.

Скачать: BlitzMAXServer+BlitzMAXClient+Blitz3DClient=RakNET .rar
(Offline)
 
Ответить с цитированием
Старый 17.08.2011, 20:07   #2
NitE
злобный флудер
 
Регистрация: 10.07.2007
Сообщений: 2,585
Написано 789 полезных сообщений
(для 1,476 пользователей)
Ответ: BlitzMAX сервер / Blitz3D клиент (RakNET)

Blitz3D клиент для Linux.
????
(Offline)
 
Ответить с цитированием
Старый 17.08.2011, 20:12   #3
moka
.
 
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений
(для 6,863 пользователей)
Ответ: BlitzMAX сервер / Blitz3D клиент (RakNET)

Дело в том что сам RakNet имеет свой протокол над пакетами, и независимо от посылаемой информации которую шлёт пользователь, там в пакете будет различного рода информация для стабилизации передачи пакетов по UDP, для стабилизации очерёдности и другое. Поэтому просто так с сокетами и прямой комуникацией не выйдет.

Используй чистую коммуникацию через сокеты, т.к. с библиотеками (такими как RakNet), тебе нада знать специфику их пакетов. Также UDP для начинаний - не лучший выбор, бери TCP.

Почему именно RakNet? Я лично пробовал его использовать, и потом всё таки решил писать своё. И очень доволен, и опыт, и контроль над самим сетевым API полный. И сериализация достойная и кучу всего другого.

Пишу если что сервер на C# (.Net 4.0). Клиента на C# тоже (.Net 2.0), но также в скором будет клиент и на BlitzMax'е.

Да и насчёт C, тут спорно всё, для чего нужен сервер? Если это гипер проект (ММО убийца WoW, то можно и на C), но снова зависит от специфики проекта. Тот же EVE вообще написан на Python.
Если это игра с матчами, можно взять и Java или C#, где о многих вещах не нужно париться, и они практически не проигрывают в производительности тому же С, если правильно разрабатывать. (Конечно речь не идёт о высоко-нагруженных системах)
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
LLI.T.A.L.K.E.R. (17.08.2011)
Старый 17.08.2011, 20:23   #4
LLI.T.A.L.K.E.R.
Мастер
 
Аватар для LLI.T.A.L.K.E.R.
 
Регистрация: 24.06.2009
Адрес: Набережные Челны
Сообщений: 930
Написано 292 полезных сообщений
(для 504 пользователей)
Ответ: BlitzMAX сервер / Blitz3D клиент (RakNET)

NitE, поправил. Слова не так расставил.

Попробую отказаться от RakNET

(C я обобщил как с# или с++)
(Offline)
 
Ответить с цитированием
Старый 17.08.2011, 20:24   #5
baton4ik
Дэвелопер
 
Аватар для baton4ik
 
Регистрация: 21.11.2009
Адрес: Киев
Сообщений: 1,699
Написано 657 полезных сообщений
(для 1,962 пользователей)
Ответ: BlitzMAX сервер / Blitz3D клиент (RakNET)

А почему клиент на blitz3d? На blitzmax ведь есть модуль с аналогичным функционалом (а ещё лучше - xors3d). Заодно получишь всё то, что есть в blitzmax в отличии от blitz3d. И RakNet нормально функционировать будет.
(Offline)
 
Ответить с цитированием
Старый 17.08.2011, 20:26   #6
LLI.T.A.L.K.E.R.
Мастер
 
Аватар для LLI.T.A.L.K.E.R.
 
Регистрация: 24.06.2009
Адрес: Набережные Челны
Сообщений: 930
Написано 292 полезных сообщений
(для 504 пользователей)
Ответ: BlitzMAX сервер / Blitz3D клиент (RakNET)

3D на BlitzMAX осуществляется через MiniB3D?
Просто не видел 3д сделанное на BMax
(Offline)
 
Ответить с цитированием
Старый 17.08.2011, 20:32   #7
baton4ik
Дэвелопер
 
Аватар для baton4ik
 
Регистрация: 21.11.2009
Адрес: Киев
Сообщений: 1,699
Написано 657 полезных сообщений
(для 1,962 пользователей)
Ответ: BlitzMAX сервер / Blitz3D клиент (RakNET)

Сообщение от LLI.T.A.L.K.E.R. Посмотреть сообщение
3D на BlitzMAX осуществляется через MiniB3D?
Просто не видел 3д сделанное на BMax
MiniB3D, Xors3d, куча врапперов разных 3d-движков.
(Offline)
 
Ответить с цитированием
Старый 17.08.2011, 20:46   #8
moka
.
 
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений
(для 6,863 пользователей)
Ответ: BlitzMAX сервер / Blitz3D клиент (RakNET)

Если проще, то у тебя есть два варианта, которые я бы лично рассматривал:

1.
Server: BlitzMax + RakNet
Client: BlitzMax + RakNet + Xors3D

2.
Server: C# + Sockets (System.Net.Sockets)
Client A: C# + Sockets + Xors3D / OpenTK
Client B: BlitzMax + Sockets + Xors3D

Сравнивая их, на BlitzMax будет быстрее разрабатывать, т.к. ты уже знаком с ним, но основываясь самому языку и выбранного инструментария, возможности будут ограничены. И если рассматривать с точки зрения опыта и практических знаний, то у самого BlitzMax перспектив миниму по сравнению с C#. Когда на том же C# можно и работу найти хорошую, и проекты уже стоящие разрабатывать.
Плюс, ты зависишь от сетевой библиотеки, и всех её капризов (а они всегда есть).

Во втором варианте, сервер всё просто, только нужно самому не мало написать кода. Но какие плюсы - скорость, архитектурные возможности в сложных задачах, хорошие решения основываясь функциям языка, сериализация для сети и баз данных. Также базу данных подключить не проблема (большой выбор, куча хорошего инструментария).
Вариантов для клиента во втором варианте два (можно больше, хоть на мобилках, т.к. пишешь коммуникацию на чистых сокетах).
Первый вариант, тоже C#, что в этом хорошего? Сложность игры, и геймплая и многих решений, также может быть выше. Сетевая сериализация пакетов на сервере и клиенте, может быть реализована одной и той же библиотекой, так что не нада будет писать много кода, т.к. они используют одно и то же решение.
Можно использовать с Xors3D, без проблем, там и шейдеры есть, и привычный тебе синтаксис.
Можно писать на OpenTK (OpenGL), если есть желание мульти платформ, но тут учитывай, что OpenGL - это голенький GAPI, где нужно писать графический движок самому, и если у тебя никаких сложностей в графике, можно и так, но работы там будет писец как много. Но есть возможность если писать на Mono (альтернатива .Net, на том же C#. Технически почти никакой разницы с точки зрения разраба), то будет возможность поддержки и MacOS и Linux. А если юзать OpenGL ES, то используя MonoTouch можно компилить на iOS девайсы, а используя MonoDroid можно компилить под Android систему. Но работы снова, будет писец как много. Но опыт работы с OpenGL будет естественно очень ценным для будущего.
Второй вариант клиента, как раз тот же BlitzMax + сокеты, и использование Xors3D. По сути, лучше уже юзать первый вариант, если клиент всё таки будет на BltizMax, так будет проще и удобнее для разработки. Я бы шёл либо C# полностью либо BlitzMax полностью.
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
LLI.T.A.L.K.E.R. (17.08.2011)
Старый 21.08.2011, 23:14   #9
LLI.T.A.L.K.E.R.
Мастер
 
Аватар для LLI.T.A.L.K.E.R.
 
Регистрация: 24.06.2009
Адрес: Набережные Челны
Сообщений: 930
Написано 292 полезных сообщений
(для 504 пользователей)
Ответ: BlitzMAX сервер / Blitz3D клиент (RakNET)

Пока скажу коротко... Связь RakNET меджу BMax и B3D хорошая.
Оказывается просто портированный на B3D клиент шутера циклом создавал новых и новых игроков. (ну или это я не до конца логику портировал)
Временно сделал перепровеку всех id и ограничение на создание нового игрока. (кажется этот код я и не портировал) Просто type сильно отличаются
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


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


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