Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Программирование игр, графики и искусственного интеллекта > Простая 2-х мерная онлайн игра. Принципы действия.


Автор: Elfet 12.5.2005, 19:20
Хочу разобратся. (Для 2-х мерной, по клеточкам
Вот что я думаю:
клиент-сервер.
клиент любой сложности по отрисовке и восприятию данных?

сервер содержит карту мира, карту действий, карту перемещений, карту звука..

каждый клиент обрабатывает своего пользователя? или запросы на обработку отправлять серверу? если клиетн сам обрабатывает, то как изменять положение спрайтов - дождавший ответа сервера или нет?

карта мира:
? делятся на участки, которые содержат n - позиций?
? или просто считать для каждого учаска по определённой кратности? (например по 10, 1-10 - первый участок 10-20 - второй или 1.1-1.10-первый и 2.1-2.10 - второй)
как догружать по участкам или по примерно отстоящим позициям?

перемещения спрайтов?
начаньная позиция-конечная + один алгоритм обхода? а как опередить с действием по клетке нахождения спрайта? да и вообще как создовать действия по спрайтам если они двужутся?

smile

Автор: megaflop 13.5.2005, 14:19
есть такие "Законы дизайна онлайновых миров"
http://dtf.ru/articles/read.php?id=3774

там написано:

"Никогда не доверяйте клиенту
Никогда не делайте ничего на клиентской части ПО. Клиентская часть - в руках врага. Никогда не забывайте этого."

клиент посылает серверу запрос на изменение, сервер шлёт подтверждение, клиент отражает изменения <- это основная схема

клиент может хранить у себя всю графику, анимацию, звуки, модели...
а также карты зон... чтобы не грузить с сервера
дальше передаются только изменения координат и параметров объектов на карте

Автор: Elfet 16.5.2005, 15:07
Цитата(megaflop @ 13.5.2005, 15:19)
дальше передаются только изменения координат и параметров объектов на карте

а если сделать так что бы клиент это делал, а сервер проверял? smile

Автор: megaflop 17.5.2005, 14:01
в любом случае "истинный" мир игры находится на сервере и все изменения происходят в нём...

хотя если использовать схему peer2peer то мир игры можно рассредоточить между клиентами, но это гораздо сложнее чем клиент-сервер и мало где успешно реализовано

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)