![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: Dec 2009
Сообщений: 7
|
Общий привет. Давно читаю форум, зарегистрировался, чтобы спросить совет.
С Flash и ActionScript 2.0 работаю несколько лет, но возможности сетевого взаимодействия не использовал ни разу, кроме того, общее представление о сетях, серверах, клиентах и т.д. имею весьма поверхностное. Есть задумка - написать браузерную онлайн игрушку, цели не коммерческие, как максимум - ненавязчивое предложение о пожертвовании. Суть приблизительно в следующем: Игрок регистрирует аккаунт, данные сохраняются на сервере. Далее - выбирая из предложенных деталей (двигатель | корпус | орудие) игрок собирает танк. Далее - из блоков игрок визуально составляет алгоритм действий танка. Далее - запускается непосредственно битва танков двух пользователей. Проблема, которая меня тревожит в следующем: Для того, чтобы ход и результат битвы был одинаков для обоих игроков необходимо ход боя просчитывать на сервере. Клиентский ролик должен с частотой 25-30 раз в секунду запрашивать и получать данные о текущем расположении танков / снарядов, повреждении танков. И прорисовывать соответствующий кадр. Как вы думаете возможно ли обеспечить плавность действий на стороне пользователя, возможно ли это, если на сервере запущено 100-200 битв, и если необходим запуск какого-то скрипта на сервере, позволит ли хостинг запустить этот скрипт? Если что-либо из вышеперечисленного невозможно, то может это стоит попробовать реализовать не на Flash + AS, а, скажем на asp.net или silverlight? С последними двумя технологиями не знаком, но думаю освоить их смогу, т.к. есть приличный опыт программирования на c#. Еще хочу добавить, что вопрос не в том - как реализовать все вышеописанное, а только в том - на чем все это возможно реализовать и как обустроить процесс просчета и отправки клиенту данных о расположении юнитов до 30 раз в секунду. Если я где-то заблуждаюсь - любая критика приветствуется. Заранее спасибо. |
|
|||||
|
блогер
Регистрация: Feb 2008
Адрес: Россия, Новосибирск, Академгородок
Сообщений: 2,113
Записей в блоге: 1
|
Уж очень сложный вопрос вы подняли. Думаю, что при реализации вашей игры, вы сталкнетесь с кучей проблем, о которых и не предполагаете сейчас.
Танки уже реализованиы - http://tankionline.com, по крайней мере их плавное движение. Относительно синхронизации игры для всех игроков - я над этим думал, из спортивного интереса, ссылка. ...на чем все это возможно реализовать и как обустроить процесс просчета и отправки клиенту данных о расположении юнитов до 30 раз в секунду - это возможно реализовать во флэше с клиентской стороны, относительно серверной - не знаю. Почитайте http://alternativaplatform.com/ru/. Надеюсь, вам пожет. Было бы очень интересно посмотреть на ваши результаты.
__________________
hauts.ru |
|
|||||
|
Регистрация: Dec 2009
Сообщений: 7
|
Спасибо за ссылку на топик с синхронизацией, интересная тема.
Буквально пару минут назад получил подходящий совет: Так как игрок не управляет танком непосредственно, а только смотрит за действиями танка, то можно просчитать ход всего боя на сервере и отправить клиенту полный лог действий танка. Это на мой взгляд очень хорошее решение. Остается вопрос непосредственно о отправке, просчете и получении данных. Если не трудно, опишите, как можно, скажем отправить на сервер число, серверный скрипт, скажем умножает его на 5 и возвращает значение вызвавшему ролику. Добавлено: Все, проблема полностью решена. Нашел интересную статью о интеграции ActionScript и веб сервиса на c#: http://hostinfo.ru/articles/812/ Спасибо. Последний раз редактировалось Wecoyote; 26.12.2009 в 14:16. |
|
|||||
|
блогер
Регистрация: Feb 2008
Адрес: Россия, Новосибирск, Академгородок
Сообщений: 2,113
Записей в блоге: 1
|
Насчет обмена - http://blog.alternativaplatform.com/...om-i-klientom/
Думаю, вам важнее знать, не как отправлять, изменять и получать обратно какое-либо значение, а как это сделеть наиболее правильнее для сетевой игры, то есть, в общем случае, быстро. А это, в свою очередь, зависит от протокола. А протокол, в свою очередь, уже от самой игры. Так что вам следует хорошенько подумать над тем, что вы хотите сделать, а уже потом все это структурировать и реализовывать. В этом плане лично мне ваша задумка с танками не кажется одной из лучших тем, которые можно придумать и реализовать. Относительно создания своей конфигурации игрока (в вашем случае танка) — мне кажется намного интереснее программировать поведение, чем составлять комбинацию из заранее созданных элементов. Вот ссылка про подобную сетевую игру, почитайте.
__________________
hauts.ru Последний раз редактировалось Hauts; 26.12.2009 в 14:30. |
|
|||||
|
Регистрация: Dec 2009
Сообщений: 7
|
Комбинируются только элементы самого танка как то корпус, орудие, двигатель. А код можно составить вполне полноценный, только из визуальных блоков, как то блок IF, блок FOR, плюс блоки непосредственно команд действия, как то ЕхатьВперед, повернуть влево на 15 градусов и т.д.
|
![]() |
![]() |
Часовой пояс GMT +4, время: 00:18. |
|
|
« Предыдущая тема | Следующая тема » |
| Теги |
| Браузерная игра , клиент , сервер |
| Опции темы | |
| Опции просмотра | |
|
|