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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 04.06.2013, 09:36   #161
dampirik
Форумчанин
 
Регистрация: 02.07.2009
Сообщений: 722
По умолчанию

Цитата:
а сервер дает готовую картинку
С готовой картинкой уж очень много трафика кушается и ресурсов... нафиг оно нужно...
Сервер просто дает твои координаты и координаты других людей, НПС и тд. Сам просчитывает проходимость, физику и тд...
Правда возникает эффект запаздывания, но с ним можно бороться различными методами, например с помощью кубических сплайнов. Вот интересная статья на эту тему…
dampirik вне форума Ответить с цитированием
Старый 04.06.2013, 12:03   #162
Kix.IV
Участник клуба
 
Регистрация: 11.08.2012
Сообщений: 1,226
По умолчанию

Цитата:
Сообщение от ruN00b Посмотреть сообщение
Может, мне поступить так? Клиент дает серверу события вроде нажатия клавиши на клавиатуре, координаты мышки, нажаты ли левая и правая кнопка мыши, а сервер дает готовую картинку. Не будет лагать, если сервер мощный и быстрый?
А вы учтите, что время передачи отнюдь не ноль. Т.е. будет даже хуже.
Kix.IV вне форума Ответить с цитированием
Старый 04.06.2013, 14:05   #163
Гром
Старожил
 
Аватар для Гром
 
Регистрация: 21.03.2009
Сообщений: 2,193
По умолчанию

Сервер умрет полностью просчитывать картинку для каждого из клиентов, если уж только для себя машина еле-еле вывозит отрисовку.
Сервер всегда сообщает клиенту, что рисовать, а вот он-то уже и генерирует полную картинку.
Простые и красивые программы - коды программ + учебник C++
Создание игры - взгляд изнутри - сайт проекта
Тема на форуме, посвященная ему же
Гром вне форума Ответить с цитированием
Старый 04.06.2013, 21:58   #164
ruN00b
Почетный нуб
Форумчанин
 
Аватар для ruN00b
 
Регистрация: 07.05.2013
Сообщений: 155
По умолчанию

Ну, значит, буду отправлять не картинку. а координаты с сервера на клиент. Попробую сделать дня так за 2-5, если, конечно, не передумаю делать игру онлайновой. Хотя наверняка не передумаю, в игре такая графика и лаги, надо их чем-то компенсировать.
ruN00b вне форума Ответить с цитированием
Старый 04.06.2013, 22:11   #165
ROD
Linux C++ Qt ARM
Старожил
 
Аватар для ROD
 
Регистрация: 30.11.2008
Сообщений: 3,030
По умолчанию

Нужно отправлять не состояние мира, а изменения состояния мира.


Например стоят три моба и два игрока.

Если игроки идут, а мобы стоят на месте, то игроку сервер передает только перемещения игроков (типа Игрок A переместился на клетку XXYY, игрок B переместился на еще куда-то). При этом не нужно передавать где сейчас стоят мобы, поскольку они никуда не двигались => клиент и так знает где они.

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

"Слова ничего не стоят - покажите мне код!" © Линус Торвальдс

Последний раз редактировалось ROD; 04.06.2013 в 22:13.
ROD вне форума Ответить с цитированием
Старый 04.06.2013, 22:24   #166
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Цитата:
Сообщение от ruN00b Посмотреть сообщение
Ну, значит, буду отправлять не картинку. а координаты с сервера на клиент. Попробую сделать дня так за 2-5, если, конечно, не передумаю делать игру онлайновой. Хотя наверняка не передумаю, в игре такая графика и лаги, надо их чем-то компенсировать.
надо их не компенсировать, а избавляться от них.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 05.06.2013, 08:11   #167
ruN00b
Почетный нуб
Форумчанин
 
Аватар для ruN00b
 
Регистрация: 07.05.2013
Сообщений: 155
По умолчанию

Избавился на максимуме, но что можно еще выдавить из canvas. А вообще хочу использовать видеокарту, так тормозов точно небудет.
ruN00b вне форума Ответить с цитированием
Старый 05.06.2013, 11:42   #168
ROD
Linux C++ Qt ARM
Старожил
 
Аватар для ROD
 
Регистрация: 30.11.2008
Сообщений: 3,030
По умолчанию

Цитата:
Сообщение от ruN00b Посмотреть сообщение
Избавился на максимуме, но что можно еще выдавить из canvas. А вообще хочу использовать видеокарту, так тормозов точно небудет.
Ну так кто вам запрещает - используйте.
Дилетант широкого профиля.

"Слова ничего не стоят - покажите мне код!" © Линус Торвальдс
ROD вне форума Ответить с цитированием
Старый 05.06.2013, 17:30   #169
phomm
personality
Старожил
 
Аватар для phomm
 
Регистрация: 28.04.2009
Сообщений: 2,899
По умолчанию

Цитата:
Сообщение от ruN00b Посмотреть сообщение
Избавился на максимуме, но что можно еще выдавить из canvas. А вообще хочу использовать видеокарту, так тормозов точно не_будет.
Цитата:
Сообщение от Басня Крылова Мартышка и очки
К несчастью, то ж бывает у людей:
Как ни полезна вещь, — цены не зная ей,
Невежда про неё свой толк все к худу клонит;
А ежели невежда познатней,
Так он её ещё и гонит.
Уж извините, Вы и до канваса-то не доросли, и говорить , мол из канваса больше не выдавить ничего - полное пустословие.
Лично я на канвасе столько всего переделал, и скажу, что оно практически летает для своей области задач и для запланированного стиля работы с ним. Вам я уже не раз говорил, что у Вас неправильный подход и даже предлагал помочь, но Вы не слушаете, что ж, я решил последить просто за темой, и уж сегодня терпение то и закончилось.
Тем более, Вы так легко рассуждаете о вещах, о которых и базового представления-то не имеете, а ещё и заявления какие-то делаете, мол вот бета версия, вот уже ммо ворочу (ой, только подскажите, как), вот мол столько то и столько добавлю. Право, смешно.
Ну а код Вы выложили (с прицелом на то, что кто-то оптимизирует его, видимо), на него ведь без боли во всех точках тела не взглянешь.
Про вариативность тоже как-то руки не поднимаются даже, персонажи калькированы, мобы калькированы, рпг-система более чем уныла.
Вам уже не раз указали на ошибки, на пути их преодоления, но Вы продолжаете есть кактус, что ж, Ваше право, но, пожалуйста, не стоит это излагать как непреложную истину.

Не буду много глаголеть, вот старая моя заготовка 2д движка (на поглядеть) на канвасе (только канвас и GDI, без компонентов вообще). Планировалось под игру, но как-то не сложилось, думал в простенький движок перепишу, но пока не до этого (кстати, на будущее могу и с кем-то поработать под ним, хотелось бы доразвить).
Можно увидеть обычную графику (картинка полностью рисуется на экране), застретченую (растягивается), затайленую (дублируется), зеркалированную, всякие интерфейсные элементы (без зиллиона имейджей , лейблов, циклов проверок координат с целью смены одного имейджа на другой), некоторую долю эффектов простых, смену сцен, подсистему для диалогов, анимированные объекты, подсистему для менеджмента ресурсов по конфигурационным файлам. Единый, к слову сказать, таймер.
Ну и главное на что обратить взор в разрезе темы - поле для карты местности. Оно немного недоделано, есть небольшие глюки. Потайловое скролирование поля в целом работает почти полностью (мыло при смещении к краю карты - результат внедрения пиксельного скролинга, поломал немного), попиксельное с глюками ещё и жрёт проц (недодебажил, но по замыслу не должно жрать, ибо потайловое работает так же просто по смещениям в пикселях, но равным размеру клетки, а попиксельное просто ещё больше с буферами работает, чем потайловое, вырезая из буферов кусками, ну а вообще оно чаще вызывается). Вообще всё действо постоянно жрёт только 0-2 % проца (как при простое, так и при активных действиях юзера, кроме пиксельного скролинга конечно =( , а не 50-80 как у Вас, при том заметьте, воспроизводя ещё при этом анимацию всякую.
Кнопки: - потайловый скроллинг - стрелки, двигать ангела - home end delete pgdn; эскейп, энтер, альтф4 - естественное поведение. мышка у краёв карты - попиксельный скроллинг.

Прошу заметить, это только заготовка движка, но в ней в разы больше того, что у Вас есть из графики (не наполнения конечно, а именно работы), а геймплей там не увидеть, та часть которая была сделана была отключена для тестов работы объекта поля карты, который писался последним (раньше поле было статичное и там бегали кружочки по клеточкам по своим алгоритмам, и игрок управлял своими кружочками).

Итак, сделайте милость, не бросайтесь голословными утверждениям, а переходите к нормальным практикам программирования, желательно посредством обучения, ибо плохие практики, очевидно дают плачевный результат.
Вложения
Тип файла: rar acr.rar (2.74 Мб, 76 просмотров)

Последний раз редактировалось phomm; 05.06.2013 в 23:38.
phomm вне форума Ответить с цитированием
Старый 05.06.2013, 18:44   #170
EridorBlade
CAE Engineer
Пользователь
 
Аватар для EridorBlade
 
Регистрация: 10.03.2011
Сообщений: 75
По умолчанию

Цитата:
Сообщение от phomm Посмотреть сообщение
вот старая моя заготовка 2д движка (на поглядеть) на канвасе
У меня вылетела ошибка существования файла, а потом вырубился комп. Что-то не то.
EridorBlade вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Delphi RPG ruN00b Мультимедиа в Delphi 1 07.05.2013 09:40
RPG-SpaceInvaders revaldo666 Gamedev - cоздание игр: Unity, OpenGL, DirectX 9 08.02.2012 18:04
Delphi-клиент для Online RPG "Dragon Knight" apromix Gamedev - cоздание игр: Unity, OpenGL, DirectX 0 23.05.2009 12:48
3D-RPG Кронос Gamedev - cоздание игр: Unity, OpenGL, DirectX 25 12.05.2007 11:21