Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 03.05.2010, 18:09
YFred вне форума Посмотреть профиль Отправить личное сообщение для YFred Найти все сообщения от YFred
  № 1  
Ответить с цитированием
YFred

Регистрация: Apr 2008
Сообщений: 26
Отправить сообщение для YFred с помощью ICQ
Question Реал тайм игра - как реализовать?

Написал игру в которую можно играть 2-4 игрокам на одном компьютере. Что нужно для того чтобы сделать сетевой вариант? Т.е. чтобы 1 компьютер был сервером и к нему могли подключатся с других компьютеров. Подскажите с чего начать?

Старый 03.05.2010, 18:15
gloomyBrain вне форума Посмотреть профиль Отправить личное сообщение для gloomyBrain Найти все сообщения от gloomyBrain
  № 2  
Ответить с цитированием
gloomyBrain
 
Аватар для gloomyBrain

блогер
Регистрация: Mar 2008
Адрес: РФ, Санкт-Петербург
Сообщений: 2,272
Записей в блоге: 5
Отправить сообщение для gloomyBrain с помощью ICQ Отправить сообщение для gloomyBrain с помощью Skype™
Цитата:
Т.е. чтобы 1 компьютер был сервером и к нему могли подключатся с других компьютеров
Очевидно, начинать стоит с написания сервера =)
Вариантов масса: C/C++, Python, JAVA, даже на ActionScript можно, если с помощью Adobe AIR (хотя я бы не стал ввиду однопоточности AIR-приложений) и много как еще.
__________________
...вселенская грусть

Старый 03.05.2010, 18:19
YFred вне форума Посмотреть профиль Отправить личное сообщение для YFred Найти все сообщения от YFred
  № 3  
Ответить с цитированием
YFred

Регистрация: Apr 2008
Сообщений: 26
Отправить сообщение для YFred с помощью ICQ
Это я уже прочитал всё в других темах. Допустим я выбрал для написания сервера c++. Мне хотелось бы узнать поподробнее что должен представлять из себя этот сервер. Какие данные должны передаваться и что должно быть реализовано на сервере, а что в клиенте? Ссылки по теме если можно.

Я в этом полный 0. Поэтому прошу объяснить "на пальцах". С чего начать?

Старый 03.05.2010, 18:31
gloomyBrain вне форума Посмотреть профиль Отправить личное сообщение для gloomyBrain Найти все сообщения от gloomyBrain
  № 4  
Ответить с цитированием
gloomyBrain
 
Аватар для gloomyBrain

блогер
Регистрация: Mar 2008
Адрес: РФ, Санкт-Петербург
Сообщений: 2,272
Записей в блоге: 5
Отправить сообщение для gloomyBrain с помощью ICQ Отправить сообщение для gloomyBrain с помощью Skype™
Цитата:
Допустим я выбрал для написания сервера c++
Цитата:
Я в этом полный 0.
Не лучший выбор при таком раскладе =)

По теме:
Сервер должен ждать входящих socket-соединений
Сервер должен уметь отдавать политику безопасности (crossdomain) по 843 порту
Сервер (я бы так сделал, хотя это не обязательно) должен запускать новый поток для каждого клиента (или брать этот поток из буфера)
Сервер должен быть единственным, кто знает реальную картину мира и рассылает ее клиентам

Нужен некий клиент-серверный протокол (читай общий формат сообщений)

Клиент должен по присланным данным отобразить как выглядит мир в данный момент
Клиент должен отослать что хочет сделать пользователь (а не производить изменения мира самостоятельно) То есть когда я нажимаю кнопку "прыгнуть" - я отсылаю на сервер сообщения, в котором говорится о моем желании прыгнуть. Сервер проверяет число моих конечностей и, если оно позволяет мне прыгать - отсылает всем клиентам сигнал "gloomyBrain опять ведет себя как-то странно и прыгает ни с того ни с сего". После чего клиент показывает анимацию прыжка
__________________
...вселенская грусть

Старый 03.05.2010, 18:41
YFred вне форума Посмотреть профиль Отправить личное сообщение для YFred Найти все сообщения от YFred
  № 5  
Ответить с цитированием
YFred

Регистрация: Apr 2008
Сообщений: 26
Отправить сообщение для YFred с помощью ICQ
Т.е. все вычисления должен производить сервер (определение столкновений, убийства и т.п.), а на клиенте только выдавать картинку и передавать на сервер действия пользователя. Получается, что в многопользовательской игре программирование на as3 практически нет. Так?

P.S. И почему с++не лучший выбор? Что тогда?

Старый 03.05.2010, 18:52
incvizitor вне форума Посмотреть профиль Отправить личное сообщение для incvizitor Найти все сообщения от incvizitor
  № 6  
Ответить с цитированием
incvizitor
 
Аватар для incvizitor

блогер
Регистрация: Sep 2008
Адрес: Менск
Сообщений: 586
Записей в блоге: 1
Отправить сообщение для incvizitor с помощью Skype™
А у меня такой вопрос: где сервер хранит все переменные определённой игры?

Старый 03.05.2010, 18:52
gloomyBrain вне форума Посмотреть профиль Отправить личное сообщение для gloomyBrain Найти все сообщения от gloomyBrain
  № 7  
Ответить с цитированием
gloomyBrain
 
Аватар для gloomyBrain

блогер
Регистрация: Mar 2008
Адрес: РФ, Санкт-Петербург
Сообщений: 2,272
Записей в блоге: 5
Отправить сообщение для gloomyBrain с помощью ICQ Отправить сообщение для gloomyBrain с помощью Skype™
Мне нравится JAVA - ибо кроссплатформенность + скорость разработки (если знаком AS3, то проблем не будет). Минус - работать будет чуть медленнее, чем C++. Хотя вряд ли это будет заметно при нагрузке менее 1000 клиентов.

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

Пример - мы с Василием идем навстречу друг другу. Василий уже близко ко мне. Однако, я еще не получил данных о том, что Василий пересекается со мной - следовательно я иду вперед (у себя на экране и более нигде!). А вот когда сервер говорит: "эй, ребята, вы уже наполовину прошли сквозь друг друга, вот вам координаты до пересечения x=10 y=15" - тогда и у меня и у Василия все возвращается в нужное место.

Пример стоит читать так: "если бы я знал, что мне туда нельзя, я бы и без проверки на сервере туда не пошел".

Цитата:
Получается, что в многопользовательской игре программирование на as3 практически нет. Так?
Есть только один способ проверить =) Хотя, могу сказать сразу - нет, не так

Цитата:
А у меня такой вопрос: где сервер хранит все переменные определённой игры?
В оперативе, где ж еще? + сохраняет в БД при отключении клиента и грузит из БД при его логине
__________________
...вселенская грусть

Старый 03.05.2010, 19:01
incvizitor вне форума Посмотреть профиль Отправить личное сообщение для incvizitor Найти все сообщения от incvizitor
  № 8  
Ответить с цитированием
incvizitor
 
Аватар для incvizitor

блогер
Регистрация: Sep 2008
Адрес: Менск
Сообщений: 586
Записей в блоге: 1
Отправить сообщение для incvizitor с помощью Skype™
Цитата:
В оперативе, где ж еще? + сохраняет в БД при отключении клиента и грузит из БД при его логине
А на обычном серваке типа flasher.ru могут работать C++ приложения?

Старый 03.05.2010, 19:14
VVall вне форума Посмотреть профиль Отправить личное сообщение для VVall Найти все сообщения от VVall
  № 9  
Ответить с цитированием
VVall

Регистрация: Feb 2009
Сообщений: 1,195
flasher.ru - доменное имя, а не сервер.

На любом сервере могут, но как минимум надо VPS, а не обычный shared.

Старый 03.05.2010, 19:27
incvizitor вне форума Посмотреть профиль Отправить личное сообщение для incvizitor Найти все сообщения от incvizitor
  № 10  
Ответить с цитированием
incvizitor
 
Аватар для incvizitor

блогер
Регистрация: Sep 2008
Адрес: Менск
Сообщений: 586
Записей в блоге: 1
Отправить сообщение для incvizitor с помощью Skype™
VVall, я имел ввиду "как у flasher.ry", что это обычный сервак для динамических сайтов короче

Еще вопрос: я просто беру, закидываю на сервак файл .exe написаный на C++, клиент его вызывает, файл запускается, если его запускает другой клиент, то для него в уже работающем приложении создаётся новый канал. И всё? Счастье?

Создать новую тему Ответ Часовой пояс GMT +4, время: 19:26.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

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


 


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


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