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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 23.05.2012, 06:57   #1161
Виталий Желтяков
Старожил
 
Аватар для Виталий Желтяков
 
Регистрация: 19.04.2010
Сообщений: 2,702
По умолчанию

Цитата:
А тут вы ошибаетесь. 1.5 тыс соеденинений совсем не много
Вы наверное путаете количество одновременных соединений и количество одновременных пользователей.
Виталий Желтяков вне форума Ответить с цитированием
Старый 24.05.2012, 18:09   #1162
Beermonza
Инженер ИС
Старожил
 
Аватар для Beermonza
 
Регистрация: 13.12.2006
Сообщений: 2,671
По умолчанию

Ребят, вы можете обсуждать что угодно, только не мой сервер ...причина банальна - вы его не видели, а показывать я его в деталях не собираюсь. За сим, всем благодарность за участие и внимание. Всего доброго!
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
Beermonza вне форума Ответить с цитированием
Старый 25.05.2012, 09:47   #1163
Simply-Art
Программист и
Участник клуба
 
Аватар для Simply-Art
 
Регистрация: 29.10.2006
Сообщений: 1,266
По умолчанию

Цитата:
Сообщение от Beermonza Посмотреть сообщение
Ребят, вы можете обсуждать что угодно, только не мой сервер ...причина банальна - вы его не видели, а показывать я его в деталях не собираюсь. За сим, всем благодарность за участие и внимание. Всего доброго!
Я обсуждал не сервер, а клиент. Хочу услышать одно, будет ли
Цитата:
переложить волновой алгоритм в мозг пользователя
или
Цитата:
мозг клиентской программы
Если остается первый вариант, то увы в такие 2D игры я не играю. В какие играю написано в посте 1160
Simply-Art вне форума Ответить с цитированием
Старый 07.06.2012, 21:36   #1164
xwicked
Участник клуба
 
Аватар для xwicked
 
Регистрация: 21.03.2010
Сообщений: 1,508
Хорошо

Цитата:
Сообщение от Beermonza Посмотреть сообщение
...
На сервере зафиксированы попытки запустить два приложения, войти за меня, подключиться за одного и того же пользователя, обмануть ложными пакетами, ошибки на стороне клиента, ...сервер со всеми задачами справился на отлично. Это и была цель теста. ...
Этого злодея я знаю...
Короче опаздывал на тест. Время > 21:00. Завалился на форум, прочитал, что тест прошёл, про повторный запуск пост не увидел. Ребутнулся в физический Win764 и впопыхах ломился от твоего ника : Исправил потом на свой и таже ошибка. Потом на WinXPSP2 over Linux Debian - опять не пустил Подумал, что профукал своё счастье и всё.
Скрин восстановил из корзины, как увидел этот пост.
Тему выборочно(70%) прочитал до последнего поста. Помочь смогу только бета-тестом и всё.
P.S. SSE оптимизация это мощно!
Изображения
Тип файла: jpg Безымянный2.jpg (25.7 Кб, 99 просмотров)
Google - лучший помощник программиста.
---
моя лаборатория | мой FaceBook
xwicked вне форума Ответить с цитированием
Старый 16.06.2012, 15:37   #1165
Beermonza
Инженер ИС
Старожил
 
Аватар для Beermonza
 
Регистрация: 13.12.2006
Сообщений: 2,671
По умолчанию

Чтобы все было понятно сразу.

1. Поиска пути в том понимании, которое в него вкладывает Виталик (Виталий Желтяков) не будет. Это означает, что лабиринты вы будете обходить сами, кликая по проходам, а элементарный алгоритм обхода коротких препятствий (он же для мобов) не будет вас выводить из себя при встрече с деревьями, пеньками, столбиками и пр. Как будут себя вести мобы? ...очень просто. У них есть точка респа. Они сканируют зону вокруг себя, сами топают до цели, если радиус поиска цели от точки респа будет покинут, моб потеряет цель и, либо останется на месте, либо вернется обратно. Задача разработчика - создать обстановку локации так, чтобы ни мобы ни пользователи не нуждались в алгоритме поиска, ...это сложно, но реализуемо.

2. Для примера MMO с огромным числом пользователей, играющих одновременно, смотрите Dofus.

3. Сервер - и есть игра, клиентское приложение - дискретный отпечаток того, что происходит на сервере, самостоятельно сглаживающий дискретные пакеты синхронизации в непрерывные события. Гром описал практически то, что я реалиовал в проекте, за исключением избыточной синхронизации на каждую клетку пути - это напрасный расход ресурсов. Как только начнете заниматься своим проектом и проработкой и оптимизацией протокола, то поймете почему

Цитата:
Сообщение от Виталий Желтяков Посмотреть сообщение
А как сервер узнаёт куда двигаться? В каком направлении?
В этой теме есть короткий алгоритм перемещений объектов по основному игровому таймеру. И клиент и сервер, суть, имеют один и тот же метод определения позиционирования на карте, ...сервер - виртуально, клиент и виртуально и визуализировано. Для того, чтобы отправить объект в точку карты, достаточно задать новую точку и переключить объект в режим "перемещение". Сервер начнет перемещать объект у себя, а клиент, через пакет синхронизации, у себя. В любой момент вновь подключившийся пользователь, находящийся в зоне видимости, получит от сервера пакет синхронизации, причем от текущей точки до новой. Все клиенты "видят" одну и ту же картинку. Ведение искусственного таймаута устраняет возможные преимущества пользователей с меньшим пингом. Сцена атаки вообще просчитывается заранее, а клиентское приложение показывает его во времени.

Цитата:
Сообщение от Виталий Желтяков Посмотреть сообщение
Достаточно производить расчёт только для области видимости. У Вас там 300-500 ячеек, которые можно с лёгкостью пропустить через волновой алгоритм.
Разумеется, сервер не отправляет пакеты всем, кто находится на локации, только тем, кто может видеть объект на своем экране. Это касается сражений. Для перемещения этот метод не работает, поскольку заход из невидимой области в область видимую потребует синхронизации, которая по ресурсоемкости равноценна стандартному перемещению, ...за сим, часть ресурсов из области расчетной переброшено в область пакетирования без условий.

Цитата:
Сообщение от Виталий Желтяков Посмотреть сообщение
К тому же мы пока говорили только о перемещении, а как Вы собираетесь реализовывать дальние атаки (стрелковое оружие)? Если более конкретно, то как будет рассчитываться вероятность попадания на малых углах при наличии препятствий?
Снаряд, брошенный с дальней дистанции, ничем не отличается от объекта, движущегося по линейному алгоритму. Этот расчет никуда не денется и проверять на препятствия нужно всегда, в любой игре. После расчета пакет синхронизации будет содержать начальную точку, конечную точку и индекс направления.
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его

Последний раз редактировалось Beermonza; 16.06.2012 в 16:04.
Beermonza вне форума Ответить с цитированием
Старый 17.06.2012, 12:52   #1166
Виталий Желтяков
Старожил
 
Аватар для Виталий Желтяков
 
Регистрация: 19.04.2010
Сообщений: 2,702
По умолчанию

Цитата:
Снаряд, брошенный с дальней дистанции, ничем не отличается от объекта, движущегося по линейному алгоритму. Этот расчет никуда не денется и проверять на препятствия нужно всегда, в любой игре. После расчета пакет синхронизации будет содержать начальную точку, конечную точку и индекс направления.
Вы не представляете как это будет выглядеть на малых углах атаки.

Beermonza, это ваша игра и это ваше желание - прислушиваться к советам или нет.
Виталий Желтяков вне форума Ответить с цитированием
Старый 17.06.2012, 19:35   #1167
Beermonza
Инженер ИС
Старожил
 
Аватар для Beermonza
 
Регистрация: 13.12.2006
Сообщений: 2,671
По умолчанию

Виталик, я прекрасно понимаю как это работает математически, ...достаточно посмотреть на алгоритм моего перемещения, и сразу станет понятно, что в основе дискретное смещение на клетку сглаженное промежуточным. Я показывал пример аркады, на том же алгоритме, там уже движение по баллистической траектории (прыжки). Анимация закладывается из расчета 16 текстур на все направления. Рисовать это все будет клиент, а индексы поворота легко рассчитываются по координатам начальной точки и точки в которой находится цель. Так же легко можно внести элемент баллистики.
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
Beermonza вне форума Ответить с цитированием
Старый 17.06.2012, 22:53   #1168
Виталий Желтяков
Старожил
 
Аватар для Виталий Желтяков
 
Регистрация: 19.04.2010
Сообщений: 2,702
По умолчанию

Вы всё равно не понимаете. Вот пример:
Стреляющий - зелёная клетка;
Цель - красная клетка;
Препятствие - желтая клетка.
Как будет производиться расчёт попадания?
Изображения
Тип файла: jpg 1.JPG (2.6 Кб, 167 просмотров)
Виталий Желтяков вне форума Ответить с цитированием
Старый 18.06.2012, 14:38   #1169
Beermonza
Инженер ИС
Старожил
 
Аватар для Beermonza
 
Регистрация: 13.12.2006
Сообщений: 2,671
По умолчанию

Цитата:
Сообщение от Виталий Желтяков Посмотреть сообщение
Вы всё равно не понимаете. Вот пример:
Стреляющий - зелёная клетка;
Цель - красная клетка;
Препятствие - желтая клетка.
Как будет производиться расчёт попадания?
Берем мой алгоритм перемещения объекта. Используем условие очередности X и Y координат в зависимости от начальной и конечной точки. Попиксельное смещение передвигает объект между клетками. Как только смещение наберет размер тайла, объект будет переброшен в соседнюю клетку. Внутреннее условие проверяет доступность очередной клетки, и если в ней есть препятствие, то вернуть объекту конечную точку в этом месте, ...т.е. допустим, стрела, летит от персонажа в точку препятствия. Отсылаем всем, кто видит, пакет с началом и концом полета стрелы. Клиент рисует событие полета с элементом баллистики. Все.
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
Beermonza вне форума Ответить с цитированием
Старый 18.06.2012, 19:43   #1170
Виталий Желтяков
Старожил
 
Аватар для Виталий Желтяков
 
Регистрация: 19.04.2010
Сообщений: 2,702
По умолчанию

Цитата:
Берем мой алгоритм перемещения объекта. Используем условие очередности X и Y координат в зависимости от начальной и конечной точки. Попиксельное смещение передвигает объект между клетками. Как только смещение наберет размер тайла, объект будет переброшен в соседнюю клетку. Внутреннее условие проверяет доступность очередной клетки, и если в ней есть препятствие, то вернуть объекту конечную точку в этом месте, ...т.е. допустим, стрела, летит от персонажа в точку препятствия. Отсылаем всем, кто видит, пакет с началом и концом полета стрелы. Клиент рисует событие полета с элементом баллистики. Все.
Так что будет в моём случаи? Стрела попадёт в препятствие или цель?
Виталий Желтяков вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Уроки по созданию игр для новичков... -=DeS=- Gamedev - cоздание игр: Unity, OpenGL, DirectX 750 14.11.2017 20:26
Музыка программистов - как вы относитесь к АРИИ? Весёлый Жека Свободное общение 46 10.10.2008 22:32
Конкурсы по созданию игр на Delphi mutabor Свободное общение 0 15.06.2007 12:40
Работа по созданию ПО remix Фриланс 3 22.04.2007 11:00