Максим Б.
2206 повідомлень
#15 років тому
Смотрю иногда на предложения к проектам, и удивляюсь.
Вот к примеру

Вот на что рассчитывают люди которые пишут что смогут реализовать? Или они не внимательно читают проект, и просто видят знакомые слова и пишут "сделаю" надеясь разобраться по "ходу дела", или ХЗ еще что...

Я имею ввиду эту фразу "Сам поединок должен быть онлайн, например как в текен или мортал комбат тоесть соперники могут бить одновременно."

Одним словом - "...можно грабить корованы".
Тимур Ш.
1278 повідомлень
#15 років тому
Ну в принципе в упрощенном виде, но мы такое реализовывали.
Задержка по времни между юзерами до 0.3 сек
цена правда примерно в 2 раза больше.
Эдуард Третьяков
269 повідомлень
#15 років тому
Цитата ("Pixorama"):
Одним словом - "...можно грабить корованы".

Ооо! Да! ONline BattleToads 3D: Corovaneer! Как же я жду эту игру!
Вообще в таких проектах одно ТЗ должно готовиться за сумму, примерно равную всему этому проекту.
Так что без вариантов.
Максим Б.
2206 повідомлень
#15 років тому
Цитата:
Ну в принципе в упрощенном виде, но мы такое реализовывали.
Задержка по времни между юзерами до 0.3 сек
цена правда примерно в 2 раза больше.


Можно посмотреть?
Я не говорю что это нельзя реализовать. Знаю даже как. Но это будет просто техническая демка, она не будет играбельна.
Артем Л.
11416 повідомлень
#15 років тому
Реализовать можно все что угодно, вопрос упирается во время и деньги
Тимур Ш.
1278 повідомлень
#15 років тому
Цитата ("Pixorama"):

Можно посмотреть?
Я не говорю что это нельзя реализовать. Знаю даже как. Но это будет просто техническая демка, она не будет играбельна.

Это часть сервиса, который еще не запущен, поэтому ссылку могу дать только в личку, и игры там на двух юзеров и намного попроще, но пришлось решать ту же проблему синхронизации.
Пути решения:
1. Сокет на С++ на котором обрабатывается вся логика,начало и результат удара считает сервер.
2. Отправляются данные только по контрольным точкам, а клиенты отбрабатывают их визуально
3. При "ударе" по нажатии кнопки сначала сигнал об этом идет на сервер, потом обрабатывается флеш-клиентом.
Это не решает всех вопросов, но снижает видимое расхождение
Тимур Ш.
1278 повідомлень
#15 років тому
Цитата ("Hungry_Hunter"):
Реализовать можно все что угодно, вопрос упирается во время и деньги

А вот все что угодно нельзя, вопрос упирается в пинг...
Максим Б.
2206 повідомлень
#15 років тому
Цитата:
1. Сокет на С++ на котором обрабатывается вся логика,начало и результат удара считает сервер.
2. Отправляются данные только по контрольным точкам, а клиенты отбрабатывают их визуально
3. При "ударе" по нажатии кнопки сначала сигнал об этом идет на сервер, потом обрабатывается флеш-клиентом.


Я делал точно так же. Только вместо сокет-сервера использовал Red5 и данные передавались по RTMP протоколу, через SharedObject. Тестировал на локальной машине, все отлично, можно мортал комбат писать, или гоночки Но через инет не реально, т.к. время отзыва у разлных пользователей различное, то даже если решить проблему синхронизации, то это уже все равно не рилтайм будет.

Единственное что можно реально реализовать, это бои как в WorldOfWarcraft. На первый взгляд кажется что они в рилтайме проходят, но это не так. Там есть некий короткий цикл за который игроки делают удары или какие то иные действия. Т.е. если ты не сделал ни какого действия, то это не значит что твой противник будет ждать своего хода. И т.к. эти циклы длятся доли секунды, то создается впечатление что бой в рилтайм режиме. Но в этом тоже есть свой минус. У игрока с меньшим временем отклика будет преимущество перед противником с большим, т.к. он успеет за то же время выполнить больше действий.
Дмитрий Войциховский
2128 повідомлень
#15 років тому
Трудно все это, и действительно пинги будут рулить... тот кто инет через тарелку качает вообще и всегда будет нещадно бит )))
----------
Правильно подобные проекты можно организовать только в локалке или перед началом боя именно что тестировать скорость отклика и "уравнивать время".