Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > разработка игр, графический дизайн и моделирование > Gamedev - cоздание игр: Unity, OpenGL, DirectX
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.12.2010, 23:49   #11
Beermonza
Инженер ИС
Старожил
 
Аватар для Beermonza
 
Регистрация: 13.12.2006
Сообщений: 2,671
По умолчанию

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

Ладно, кроме шуток. Понятно, что есть разделение на модель математическую и физическую. Объясню, почему это не одно и то же. Математическая модель - это описательная модель объекта, которая составлена из простейших параметров. Вот идет человек, математика в том, что он за некоторое время проходит некоторый путь, и в каждый дискретный момент времени находится на определенном расстоянии от точки начала наблюдения, двигаясь в определенном направлении. Задача такой модели вытащить параметры: начало движения, направление движения (или пункт назначения), скорость перемещения. Естественно, в любой момент времени можно знать где находится объект из этих простых величин.

Теперь давай представим сколько времени нужно серверу и сколько ресурсов системы, чтобы перемещать персонажа по его математической модели? ...в масштабах обработки миллионов байт при блиттинге с альфа-каналом, которое практически мгновенно выполняется - это (математическая модель объекта) ничто.

Теперь, что такое физическая модель объекта. Это исчерпывающий перечень параметров состояния объекта, в который включаются параметры эффектов, наборы покадрового изменения вершин (анимация), учет гравитации, модели столкновений на уровне реалистичности ("тряпичная кукла"), всевозможное управление вплоть до частиц, ...что еще можно отметить. Это все не входит в математическую модель сервера, ему не нужно это просчитывать, поскольку если будет дана команда на выполнение некоторого эффекта просто 4-мя байтами "покажи тут облако" оно, суть у всех клиентов нарисуется и будет вести себя идентично остальным, созданным у каждого клиента, ...проходя мимо него, персонаж создаст такое же возмущение частиц, как и у всех, ...а если не такое? ...мы в состоянии заметить и как-то узнать и сказать по чату "эй, у меня правые 500 частиц завились на полтора витка, а у тебя?"

Вот почему я сначала заподозрил троллинг, поскольку вижу текст неглупого и разбирающегося человека, ...какие тогда могут быть вопросы!?
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
Beermonza вне форума Ответить с цитированием
Старый 21.12.2010, 09:48   #12
russian-stalker
Участник клубаДжуниор
 
Аватар для russian-stalker
 
Регистрация: 23.08.2008
Сообщений: 1,616
По умолчанию

Цитата:
Сообщение от Beermonza Посмотреть сообщение
russian-stalker, довольно так и интересная манера общения, т.е. как бы возмущаясь подтверждаешь предложение, и описываешь почему согласен с этим подтверждающим возмущением ...перисхилтон...
Не понимаю я вашего юмора. Человек мне сказал, что графику не стоит обрабатывать на сервере. Я подтвердил его слова, имея ввиду, что о обработке графики на сервере не может идти и речи. Но человек, смутившись моим предложением, сказал, что не стоит генерировать графику на сервере. В чем я здесь виноват? Ну вышло маленькое недопонимание и что?

Цитата:
Ладно, кроме шуток...
Ну все это само собой, я понимаю, что не стоит передавать позицию каждой частицы, положение костей etc, даже анимацию не стоит передавать, ибо передав ID действия, клиент сам может выбрать анимацию, и серверу будет, мягко говоря, все равно что там у клиента `отыграется`.
Но вот физика не дает мне покоя... Рассмотрим такой пример:
Юзер подходит к стенке, запускает хак, благодаря которому физический движок на стороне клиент пропускает его пройти сквозь стену(или `войти` прямо в стену). Ведь расстояние, которое он пройдет `в стену`, будет одинаковым с расстоянием обычного движения. Или же другой пример: юзер, с помощью хака, убирает гравитацию, благодаря чему может летать.
Вот поэтому мне и не хочется обделять сервер обработкой физики.

Цитата:
Вот почему я сначала заподозрил троллинг, поскольку вижу текст неглупого и разбирающегося человека, ...какие тогда могут быть вопросы!?
Ну а разве этому, как вы выразились, "неглупому и разбирающемуся человеку", не нужно совершенствоваться? Познавать новое? Я думал, что именно для этих целей и предназначен сей форум. Ведь не только студентам глупые вопросы задавать?
pushl $0x18E3DF6B
call ICQ
russian-stalker вне форума Ответить с цитированием
Старый 21.12.2010, 11:09   #13
phomm
personality
Старожил
 
Аватар для phomm
 
Регистрация: 28.04.2009
Сообщений: 2,876
По умолчанию

Может быть, довольно рискованное занятие, но предложение таково : просчет физики и некоторых подобных вещей, не важных особо для целостности игромира, но могущих быть уязвимыми, оформлять в модули. Данные модули сервант при подключении клиента высылает ему и клиент полагается на данные модули, и в том числе может ещё и серванту говорить чексуммы разаллоцированных в памяти модулей, ну для некоего подобия защиты от хака. Вот и не придется серванту заботиться о таких вещах, залил клиенту и забыл, и даже часть клиенто-обновленческих функций отпадет сама собой.
phomm вне форума Ответить с цитированием
Старый 21.12.2010, 20:14   #14
Beermonza
Инженер ИС
Старожил
 
Аватар для Beermonza
 
Регистрация: 13.12.2006
Сообщений: 2,671
По умолчанию

russian-stalker, я к тебе с полным уважением (поэтому на "ты"), но не без доли юмора, почему? ...вот по этому:

Цитата:
Сообщение от russian-stalker
Рассмотрим такой пример:
Юзер подходит к стенке, запускает хак, благодаря которому физический движок на стороне клиент пропускает его пройти сквозь стену(или `войти` прямо в стену). Ведь расстояние, которое он пройдет `в стену`, будет одинаковым с расстоянием обычного движения. Или же другой пример: юзер, с помощью хака, убирает гравитацию, благодаря чему может летать.
Вот поэтому мне и не хочется обделять сервер обработкой физики.
Несколько раз говорено с разных сторон, что сервер владеет математической моделью игрового мира. Никакой, как ты говоришь "хак", запущенный пользователем не может отправить в игнор проверку подлинности пакета на сервере, и каким-то чудесным образом не дать ему "посмотреть" по математической модели, что пользователь стоит в таком-то месте, хочет туда-то, а там на пути стена, ...элементарный частный случай "поиска пути" вернет в пакет точку до стены, и сервер отошлет пользователю "топай сюда, а не куда пожелал". Я пытаюсь это объяснить уже в третий раз.

И плевать мы хотели, что там пользователь уже тысячу раз бомбанул свое приложение, и не бегает, а летает с точки на точку, с сосиской вместо оружия (как он у себя видит), у остальных от так же ходит как и положено "по-умолчанию". Ну, улавливаешь? ...это его личные проблемы. Следующий пакет обновления вернет все величины на место, или если его "хак" более продвинутый, так и пусть извращается как ему отсутствие мозгов позволяет, сервер от этого иначе работать не станет.

Продолжаем разговор...
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
Beermonza вне форума Ответить с цитированием
Старый 21.12.2010, 20:36   #15
russian-stalker
Участник клубаДжуниор
 
Аватар для russian-stalker
 
Регистрация: 23.08.2008
Сообщений: 1,616
По умолчанию

Цитата:
Сообщение от Beermonza Посмотреть сообщение
...
Продолжаем разговор...
Нет, все я правильно понимаю. Видимо, мы говорим на разных языках. Про хак - я немного не это имел ввиду. Спасибо большое, все в некоторой степени прояснилось. Завтра начну писать. Сегодня собрал Ogre3D, Bullet, стянул Boost под GCC. Осталось сделать тоже самое для MinGW, и можно будет приступать к работе.
Благодарю всех. Это не выразит всей моей благодарности, но поставил всем плюсики.
pushl $0x18E3DF6B
call ICQ
russian-stalker вне форума Ответить с цитированием
Старый 21.12.2010, 21:04   #16
Beermonza
Инженер ИС
Старожил
 
Аватар для Beermonza
 
Регистрация: 13.12.2006
Сообщений: 2,671
По умолчанию

Цитата:
Сообщение от russian-stalker
Видимо, мы говорим на разных языках.
Ну, да, на языках создавшего сервер MMO и только планирующего создание ...буду рад, если чем-то помог.
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
Beermonza вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Возможные комбинации из чисел Serg1k Microsoft Office Excel 17 17.12.2021 13:27
Показательные грабли guz Общие вопросы C/C++ 1 25.11.2010 11:11
Все возможные варианты строки Vikenty Общие вопросы Delphi 3 29.08.2010 03:30
графы - Все возможные пути manuk Помощь студентам 9 23.05.2010 23:58
Все возможные слагаемые anGeee Паскаль, Turbo Pascal, PascalABC.NET 4 04.12.2008 20:22