Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Прошу помощи. Клиент-серверное взаимодействие. (http://www.flasher.ru/forum/showthread.php?t=134314)

Wecoyote 26.12.2009 11:32

Прошу помощи. Клиент-серверное взаимодействие.
 
Общий привет. Давно читаю форум, зарегистрировался, чтобы спросить совет.

С Flash и ActionScript 2.0 работаю несколько лет, но возможности сетевого взаимодействия не использовал ни разу, кроме того, общее представление о сетях, серверах, клиентах и т.д. имею весьма поверхностное.

Есть задумка - написать браузерную онлайн игрушку, цели не коммерческие, как максимум - ненавязчивое предложение о пожертвовании.

Суть приблизительно в следующем:
Игрок регистрирует аккаунт, данные сохраняются на сервере.
Далее - выбирая из предложенных деталей (двигатель | корпус | орудие) игрок собирает танк.
Далее - из блоков игрок визуально составляет алгоритм действий танка.
Далее - запускается непосредственно битва танков двух пользователей.

Проблема, которая меня тревожит в следующем:
Для того, чтобы ход и результат битвы был одинаков для обоих игроков необходимо ход боя просчитывать на сервере.
Клиентский ролик должен с частотой 25-30 раз в секунду запрашивать и получать данные о текущем расположении танков / снарядов, повреждении танков. И прорисовывать соответствующий кадр.

Как вы думаете возможно ли обеспечить плавность действий на стороне пользователя, возможно ли это, если на сервере запущено 100-200 битв, и если необходим запуск какого-то скрипта на сервере, позволит ли хостинг запустить этот скрипт?

Если что-либо из вышеперечисленного невозможно, то может это стоит попробовать реализовать не на Flash + AS, а, скажем на asp.net или silverlight? С последними двумя технологиями не знаком, но думаю освоить их смогу, т.к. есть приличный опыт программирования на c#.

Еще хочу добавить, что вопрос не в том - как реализовать все вышеописанное, а только в том - на чем все это возможно реализовать и как обустроить процесс просчета и отправки клиенту данных о расположении юнитов до 30 раз в секунду.

Если я где-то заблуждаюсь - любая критика приветствуется.
Заранее спасибо.

Hauts 26.12.2009 13:10

Уж очень сложный вопрос вы подняли. Думаю, что при реализации вашей игры, вы сталкнетесь с кучей проблем, о которых и не предполагаете сейчас.

Танки уже реализованиы - http://tankionline.com, по крайней мере их плавное движение.

Относительно синхронизации игры для всех игроков - я над этим думал, из спортивного интереса, ссылка.

...на чем все это возможно реализовать и как обустроить процесс просчета и отправки клиенту данных о расположении юнитов до 30 раз в секунду - это возможно реализовать во флэше с клиентской стороны, относительно серверной - не знаю. Почитайте http://alternativaplatform.com/ru/.

Надеюсь, вам пожет. Было бы очень интересно посмотреть на ваши результаты.

Wecoyote 26.12.2009 13:19

Спасибо за ссылку на топик с синхронизацией, интересная тема.

Буквально пару минут назад получил подходящий совет:
Так как игрок не управляет танком непосредственно, а только смотрит за действиями танка, то можно просчитать ход всего боя на сервере и отправить клиенту полный лог действий танка. Это на мой взгляд очень хорошее решение.

Остается вопрос непосредственно о отправке, просчете и получении данных.
Если не трудно, опишите, как можно, скажем отправить на сервер число, серверный скрипт, скажем умножает его на 5 и возвращает значение вызвавшему ролику.

Добавлено:
Все, проблема полностью решена. Нашел интересную статью о интеграции ActionScript и веб сервиса на c#:
http://hostinfo.ru/articles/812/

Спасибо.

Hauts 26.12.2009 14:18

Насчет обмена - http://blog.alternativaplatform.com/...om-i-klientom/

Думаю, вам важнее знать, не как отправлять, изменять и получать обратно какое-либо значение, а как это сделеть наиболее правильнее для сетевой игры, то есть, в общем случае, быстро. А это, в свою очередь, зависит от протокола. А протокол, в свою очередь, уже от самой игры. Так что вам следует хорошенько подумать над тем, что вы хотите сделать, а уже потом все это структурировать и реализовывать. В этом плане лично мне ваша задумка с танками не кажется одной из лучших тем, которые можно придумать и реализовать.

Относительно создания своей конфигурации игрока (в вашем случае танка) — мне кажется намного интереснее программировать поведение, чем составлять комбинацию из заранее созданных элементов. Вот ссылка про подобную сетевую игру, почитайте.

Wecoyote 26.12.2009 14:56

Комбинируются только элементы самого танка как то корпус, орудие, двигатель. А код можно составить вполне полноценный, только из визуальных блоков, как то блок IF, блок FOR, плюс блоки непосредственно команд действия, как то ЕхатьВперед, повернуть влево на 15 градусов и т.д.


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

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.