bomberman (aka dynablaster)

Модератор: Модераторы

Re: bomberman (aka dynablaster)

Сообщение скалогрыз » 06.06.2016 14:39:15

Дож писал(а):Почему не HTTP? Стандартизация, HTTPS, реализаций на паскале хватает

HTTP подразумевает разговор в одну сторону - запросы идут от клиента к серверу. Сервер не может послать какое-нибудь сообщение клиенту, пока клиент сам об этом не попросит.

Чат-протоколы (IRC или XMPP) для игр лучше подходят, т.к. сообщение от сервера может прийти в любой момент.

HTTP хорош для пошаговых стратегий :)
скалогрыз
долгожитель
 
Сообщения: 1660
Зарегистрирован: 03.09.2008 02:36:48

Re: bomberman (aka dynablaster)

Сообщение stanilar » 06.06.2016 22:07:30

скалогрыз писал(а):Чат-протоколы (IRC или XMPP) для игр лучше подходят

У меня слово jabber (использующий xmpp) прочно ассоциируется с HTTP, просто потому используется в веб-страничках. Собственно то, что в нем постоянно гоняют статус-сообщения говорит о ориентированности протокола на веб, соответственно на HTTP.
stanilar
постоялец
 
Сообщения: 272
Зарегистрирован: 09.03.2010 19:09:02

Re: bomberman (aka dynablaster)

Сообщение скалогрыз » 06.06.2016 23:31:00

stanilar писал(а):У меня слово jabber (использующий xmpp) прочно ассоциируется с HTTP, просто потому используется в веб-страничках

а IRC ассоциируется с веб страничками? ;)

Дальнейшее чтиво о том, почему вдруг XMPP интегрируется со страничками, вывел на BOSH
Собственно "ускоренный" обмен по http, хотя тут нужно заметить, что такой подход требует два соединения... причём разрывать их нельзя (т.е. http 1.1 обязателен к использованию), иначе будут тормоза на пересоединении.

и есть мнение, что Synapse с таким может не справиться, т.к. он ориентирован на синхронную передачу данных... хотя есть и ReadFilter и Монитор в их TBlockSocket
скалогрыз
долгожитель
 
Сообщения: 1660
Зарегистрирован: 03.09.2008 02:36:48

Re: bomberman (aka dynablaster)

Сообщение скалогрыз » 16.06.2016 07:37:58

MysticCoder писал(а):Можешь покурить мой код https://bitbucket.org/MysticCoder/eve а конкретно модуль _APOC_net.pas. udp, с возможностью подтверждения доставки.

подтверждение доставки через UDP мне как-то не нравится, лучше сделать через TCP. Вот что я точно буду делать через UDP, так это поиск севрера (имеется ввиду севрер в локальной сети).
Что на мой взгляд удачно - так это единый "серверерный модуль" обслуживающий несколько соединений, в отличии от того же synapse, или indy. Которые, по своей архитектуре (блокирующих сокетов) заставляют выделять поток на соединение.

А проект в целом интересный, но жаль что сошёл на нет.
скалогрыз
долгожитель
 
Сообщения: 1660
Зарегистрирован: 03.09.2008 02:36:48

Re: bomberman (aka dynablaster)

Сообщение скалогрыз » 24.06.2016 19:02:14

Всё! Релиз v1.0

А теперь непочатый край работы на доработку - локализация, сетевая игра, андройд версия, и т.д. и т.п.

---
Про App Review рассказывают всякие ужасы! На самом деле, это всё чистая правда!

Причём на Review приложение берут действительно быстро (в течении 24 часов).
Если у игры есть технические проблемы, вроде того что она падает (спасибо arm-64!), то отвергают тоже быстро, в течении нескольких часов после начала Review... а вот потом тягомотина может тянутся очень долго.
Мне пришлось ждать 10 дней, пока пришёл очередной отказ, по причине того, что работает "не так как мы поняли".

Пришлось расписать (со скриншотами), что приложение работает как и задумано и вообще всё хорошо.
После чего послал снова в Review (не поменяв бинарик)... и менее чем через 24 часа, приложение принято.
скалогрыз
долгожитель
 
Сообщения: 1660
Зарегистрирован: 03.09.2008 02:36:48

Re: bomberman (aka dynablaster)

Сообщение MysticCoder » 24.06.2016 19:45:58

скалогрыз писал(а):
MysticCoder писал(а):Можешь покурить мой код https://bitbucket.org/MysticCoder/eve а конкретно модуль _APOC_net.pas. udp, с возможностью подтверждения доставки.

подтверждение доставки через UDP мне как-то не нравится, лучше сделать через TCP. Вот что я точно буду делать через UDP, так это поиск севрера (имеется ввиду севрер в локальной сети).
Что на мой взгляд удачно - так это единый "серверерный модуль" обслуживающий несколько соединений, в отличии от того же synapse, или indy. Которые, по своей архитектуре (блокирующих сокетов) заставляют выделять поток на соединение.

А проект в целом интересный, но жаль что сошёл на нет.

Спасибо, пытался заточить максимально быстрым)
В сети бытует устойчивое мнение и где то даже приводилась аналитика и статистика, что юзание TCP параллельно с UDP ухудшает соединение(то ли потери пакетов, то ли искажения начинаются). Ну а подтверждение доставки у меня оно реализовано просто флагом, хочешь вешай на пакет флаг "подтвердить доставку", хочешь не вешай. Советую глянуть еще на реализацию сериализации, если у класса игрока надо добавить новое поле допустим MaxAmmo : integer;
То в сетевом коде надо будет добавить всего лишь одну строчку типа Registerчтототам(@MaxAmmo, SizeOf(MaxAmmo)), ну и при пересылке данных автоматически вычисляются те поля которые изменились и посылаются только они, вместо всего состояния класса. В планах было добавить сжатие, ибо при подключении >= 5 локальных ботов к серваку в инете мой adsl канал забивался полностью, но мотивация закончилась)
MysticCoder
постоялец
 
Сообщения: 130
Зарегистрирован: 14.09.2013 00:20:28

Re: bomberman (aka dynablaster)

Сообщение скалогрыз » 15.01.2017 08:55:27

Погряз в сетевой части. Слишком хочу сделать на Вебсокетах, чтобы использовать Udp.

На андроид времени не остаётся! так что прошу помощи за вознаграждение, у кого есть свободное время и желание.
Детали и стоимость указаны на Gamedev.ru
скалогрыз
долгожитель
 
Сообщения: 1660
Зарегистрирован: 03.09.2008 02:36:48

Пред.

Вернуться в Помощь за вознаграждение

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

Рейтинг@Mail.ru