![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#161 | |
Форумчанин
Регистрация: 02.07.2009
Сообщений: 722
|
![]() Цитата:
Сервер просто дает твои координаты и координаты других людей, НПС и тд. Сам просчитывает проходимость, физику и тд... Правда возникает эффект запаздывания, но с ним можно бороться различными методами, например с помощью кубических сплайнов. Вот интересная статья на эту тему… |
|
![]() |
![]() |
![]() |
#162 |
Участник клуба
Регистрация: 11.08.2012
Сообщений: 1,226
|
![]()
А вы учтите, что время передачи отнюдь не ноль. Т.е. будет даже хуже.
|
![]() |
![]() |
![]() |
#163 |
Старожил
Регистрация: 21.03.2009
Сообщений: 2,193
|
![]()
Сервер умрет полностью просчитывать картинку для каждого из клиентов, если уж только для себя машина еле-еле вывозит отрисовку.
Сервер всегда сообщает клиенту, что рисовать, а вот он-то уже и генерирует полную картинку.
Простые и красивые программы - коды программ + учебник C++
Создание игры - взгляд изнутри - сайт проекта Тема на форуме, посвященная ему же |
![]() |
![]() |
![]() |
#164 |
Почетный нуб
Форумчанин
Регистрация: 07.05.2013
Сообщений: 155
|
![]()
Ну, значит, буду отправлять не картинку. а координаты с сервера на клиент. Попробую сделать дня так за 2-5, если, конечно, не передумаю делать игру онлайновой. Хотя наверняка не передумаю, в игре такая графика и лаги, надо их чем-то компенсировать.
|
![]() |
![]() |
![]() |
#165 |
Linux C++ Qt ARM
Старожил
Регистрация: 30.11.2008
Сообщений: 3,030
|
![]()
Нужно отправлять не состояние мира, а изменения состояния мира.
Например стоят три моба и два игрока. Если игроки идут, а мобы стоят на месте, то игроку сервер передает только перемещения игроков (типа Игрок A переместился на клетку XXYY, игрок B переместился на еще куда-то). При этом не нужно передавать где сейчас стоят мобы, поскольку они никуда не двигались => клиент и так знает где они. Для контроля на предмет рассинхронизации, как вариант, следует передавать некую "контрольную сумму состояния", которая будет высчитываться исходя из координат объектов. (это чисто пример).
Дилетант широкого профиля.
"Слова ничего не стоят - покажите мне код!" © Линус Торвальдс Последний раз редактировалось ROD; 04.06.2013 в 22:13. |
![]() |
![]() |
![]() |
#166 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
![]()
надо их не компенсировать, а избавляться от них.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
![]() |
![]() |
![]() |
#167 |
Почетный нуб
Форумчанин
Регистрация: 07.05.2013
Сообщений: 155
|
![]()
Избавился на максимуме, но что можно еще выдавить из canvas. А вообще хочу использовать видеокарту, так тормозов точно небудет.
|
![]() |
![]() |
![]() |
#168 |
Linux C++ Qt ARM
Старожил
Регистрация: 30.11.2008
Сообщений: 3,030
|
![]()
Ну так кто вам запрещает - используйте.
Дилетант широкого профиля.
"Слова ничего не стоят - покажите мне код!" © Линус Торвальдс |
![]() |
![]() |
![]() |
#169 | ||
personality
Старожил
Регистрация: 28.04.2009
Сообщений: 2,899
|
![]() Цитата:
Цитата:
Лично я на канвасе столько всего переделал, и скажу, что оно практически летает для своей области задач и для запланированного стиля работы с ним. Вам я уже не раз говорил, что у Вас неправильный подход и даже предлагал помочь, но Вы не слушаете, что ж, я решил последить просто за темой, и уж сегодня терпение то и закончилось. Тем более, Вы так легко рассуждаете о вещах, о которых и базового представления-то не имеете, а ещё и заявления какие-то делаете, мол вот бета версия, вот уже ммо ворочу (ой, только подскажите, как), вот мол столько то и столько добавлю. Право, смешно. Ну а код Вы выложили (с прицелом на то, что кто-то оптимизирует его, видимо), на него ведь без боли во всех точках тела не взглянешь. Про вариативность тоже как-то руки не поднимаются даже, персонажи калькированы, мобы калькированы, рпг-система более чем уныла. Вам уже не раз указали на ошибки, на пути их преодоления, но Вы продолжаете есть кактус, что ж, Ваше право, но, пожалуйста, не стоит это излагать как непреложную истину. Не буду много глаголеть, вот старая моя заготовка 2д движка (на поглядеть) на канвасе (только канвас и GDI, без компонентов вообще). Планировалось под игру, но как-то не сложилось, думал в простенький движок перепишу, но пока не до этого (кстати, на будущее могу и с кем-то поработать под ним, хотелось бы доразвить). Можно увидеть обычную графику (картинка полностью рисуется на экране), застретченую (растягивается), затайленую (дублируется), зеркалированную, всякие интерфейсные элементы (без зиллиона имейджей , лейблов, циклов проверок координат с целью смены одного имейджа на другой), некоторую долю эффектов простых, смену сцен, подсистему для диалогов, анимированные объекты, подсистему для менеджмента ресурсов по конфигурационным файлам. Единый, к слову сказать, таймер. Ну и главное на что обратить взор в разрезе темы - поле для карты местности. Оно немного недоделано, есть небольшие глюки. Потайловое скролирование поля в целом работает почти полностью (мыло при смещении к краю карты - результат внедрения пиксельного скролинга, поломал немного), попиксельное с глюками ещё и жрёт проц (недодебажил, но по замыслу не должно жрать, ибо потайловое работает так же просто по смещениям в пикселях, но равным размеру клетки, а попиксельное просто ещё больше с буферами работает, чем потайловое, вырезая из буферов кусками, ну а вообще оно чаще вызывается). Вообще всё действо постоянно жрёт только 0-2 % проца (как при простое, так и при активных действиях юзера, кроме пиксельного скролинга конечно =( , а не 50-80 как у Вас, при том заметьте, воспроизводя ещё при этом анимацию всякую. Кнопки: - потайловый скроллинг - стрелки, двигать ангела - home end delete pgdn; эскейп, энтер, альтф4 - естественное поведение. мышка у краёв карты - попиксельный скроллинг. Прошу заметить, это только заготовка движка, но в ней в разы больше того, что у Вас есть из графики (не наполнения конечно, а именно работы), а геймплей там не увидеть, та часть которая была сделана была отключена для тестов работы объекта поля карты, который писался последним (раньше поле было статичное и там бегали кружочки по клеточкам по своим алгоритмам, и игрок управлял своими кружочками). Итак, сделайте милость, не бросайтесь голословными утверждениям, а переходите к нормальным практикам программирования, желательно посредством обучения, ибо плохие практики, очевидно дают плачевный результат. Последний раз редактировалось phomm; 05.06.2013 в 23:38. |
||
![]() |
![]() |
![]() |
#170 |
CAE Engineer
Пользователь
Регистрация: 10.03.2011
Сообщений: 75
|
![]() |
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
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 |