![]() |
|
||||||||||
|
|||||
|
Написал игру в которую можно играть 2-4 игрокам на одном компьютере. Что нужно для того чтобы сделать сетевой вариант? Т.е. чтобы 1 компьютер был сервером и к нему могли подключатся с других компьютеров. Подскажите с чего начать?
|
|
|||||
|
Цитата:
Вариантов масса: C/C++, Python, JAVA, даже на ActionScript можно, если с помощью Adobe AIR (хотя я бы не стал ввиду однопоточности AIR-приложений) и много как еще.
__________________
...вселенская грусть |
|
|||||
|
Это я уже прочитал всё в других темах. Допустим я выбрал для написания сервера c++. Мне хотелось бы узнать поподробнее что должен представлять из себя этот сервер. Какие данные должны передаваться и что должно быть реализовано на сервере, а что в клиенте? Ссылки по теме если можно.
Я в этом полный 0. Поэтому прошу объяснить "на пальцах". С чего начать? |
|
|||||
|
Цитата:
Цитата:
По теме: Сервер должен ждать входящих socket-соединений Сервер должен уметь отдавать политику безопасности (crossdomain) по 843 порту Сервер (я бы так сделал, хотя это не обязательно) должен запускать новый поток для каждого клиента (или брать этот поток из буфера) Сервер должен быть единственным, кто знает реальную картину мира и рассылает ее клиентам Нужен некий клиент-серверный протокол (читай общий формат сообщений) Клиент должен по присланным данным отобразить как выглядит мир в данный момент Клиент должен отослать что хочет сделать пользователь (а не производить изменения мира самостоятельно) То есть когда я нажимаю кнопку "прыгнуть" - я отсылаю на сервер сообщения, в котором говорится о моем желании прыгнуть. Сервер проверяет число моих конечностей и, если оно позволяет мне прыгать - отсылает всем клиентам сигнал "gloomyBrain опять ведет себя как-то странно и прыгает ни с того ни с сего". После чего клиент показывает анимацию прыжка
__________________
...вселенская грусть |
|
|||||
|
Т.е. все вычисления должен производить сервер (определение столкновений, убийства и т.п.), а на клиенте только выдавать картинку и передавать на сервер действия пользователя. Получается, что в многопользовательской игре программирование на as3 практически нет. Так?
P.S. И почему с++не лучший выбор? Что тогда? |
|
|||||
|
Мне нравится JAVA - ибо кроссплатформенность + скорость разработки (если знаком AS3, то проблем не будет). Минус - работать будет чуть медленнее, чем C++. Хотя вряд ли это будет заметно при нагрузке менее 1000 клиентов.
Столкновения можно проверять и там и там - другое дело, что приоритет у сервера. То есть некоторые вещи можно сначала показать, а затем уже реально произвести. Пример - мы с Василием идем навстречу друг другу. Василий уже близко ко мне. Однако, я еще не получил данных о том, что Василий пересекается со мной - следовательно я иду вперед (у себя на экране и более нигде!). А вот когда сервер говорит: "эй, ребята, вы уже наполовину прошли сквозь друг друга, вот вам координаты до пересечения x=10 y=15" - тогда и у меня и у Василия все возвращается в нужное место. Пример стоит читать так: "если бы я знал, что мне туда нельзя, я бы и без проверки на сервере туда не пошел". Цитата:
Цитата:
__________________
...вселенская грусть |
|
|||||
|
Регистрация: Feb 2009
Сообщений: 1,195
|
flasher.ru - доменное имя, а не сервер.
На любом сервере могут, но как минимум надо VPS, а не обычный shared. |
|
|||||
|
VVall, я имел ввиду "как у flasher.ry", что это обычный сервак для динамических сайтов короче
![]() Еще вопрос: я просто беру, закидываю на сервак файл .exe написаный на C++, клиент его вызывает, файл запускается, если его запускает другой клиент, то для него в уже работающем приложении создаётся новый канал. И всё? Счастье? |
![]() |
![]() |
Часовой пояс GMT +4, время: 19:26. |
|
|
« Предыдущая тема | Следующая тема » |
|
|