HLFX.Ru Forum Страницы (16): « Первая ... « 5 6 7 8 [9] 10 11 12 13 » ... Последняя »
Показать все 231 сообщений этой темы на одной странице

HLFX.Ru Forum (https://hlfx.ru/forum/index.php)
- Xash3D (https://hlfx.ru/forum/forumdisplay.php?forumid=14)
-- Xash 0.8 beta (build 1507) (https://hlfx.ru/forum/showthread.php?threadid=2711)


Отправлено XaeroX 01-04-2011 в 19:32:

Цитата:
adamix писал:
написать быстро используя опенсорсную либу, либо писать свои велосипеды и возможно не уложиться в срок.

Это называется "наговнять по-быстрому". Я бы за такое премии лишал. Имей в виду, если когда-нибудь будешь в мою контору на работу устраиваться

__________________

xaerox on Vivino


Отправлено adamix 01-04-2011 в 19:36:

Цитата:
XaeroX писал:
Это называется "наговнять по-быстрому". Я бы за такое премии лишал. Имей в виду, если когда-нибудь будешь в мою контору на работу устраиваться


Ну нет. Можно писать медленно и хорошо, однако юзая опенсорсные либы. А вот писать хорошо продукт и свои велосипеды - намного труднее, опять же если время поджимает.


Отправлено Дядя Миша 01-04-2011 в 20:06:

Цитата:
adamix писал:
Печально. Спасибо за работу. Ждем сорцов.

вот это вот что за поток сознания?
Если сказать нечего - лучше ничего не говори.
XaeroX если есть антидемидович, значит и есть и сам демидович - его полная противоположность?

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено fire64 01-04-2011 в 20:57:

Дядя Миша, а в чем причина ?

Вроде бы все отлично было, баги фиксились, совместимость увеличивалась и т.д.

__________________
Вся сила лысого кощея,
Сокрыта в башне из костей
Воздвигнутой, под небесами
На месте похорон людей


Отправлено Zttrium 01-04-2011 в 21:12:

Причина: 1 апреля

PS: капча рулит


Отправлено Дядя Миша 02-04-2011 в 08:30:

Цитата:
fire64 писал:
Вроде бы все отлично было, баги фиксились, совместимость увеличивалась и т.д.

ну со стороны - отлично, да. А с моей точки зрения проект давно превратился в подобие русской сказки "уши приклеили - хвост отвалился".
То есть поправишь один баг - а в другом моде что-то изломается.
Да и это вообщем-то не такая уж большая беда. Мне просто надоело его делать. Тем более от вас помощи никакой. Попросил скроллбар для меню накодить и что?
Поэтому сворачиваю разработку. Вон молодые адамиксы спят и видят, как бы выдать ксаш за свой проект. Надож им предоставить такую возможность =)

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено adamix 02-04-2011 в 12:49:

Ну вот, чуть что - сразу я. Да еще и выдать ксаш за свой проект. Не любите вы меня, уйду я от вас! (с)


Отправлено Дядя Миша 02-04-2011 в 13:35:

А вот и настоящий апдейт (в отличие от первоапрельского, вчерашнего).
Теперь мышка в меню использует виндовый курсор, а не рисованный.
А также добавлена новая система кредитсов в Half-Life (только в Half-Life, на остальные моды не влияет). Чтобы просмотреть её в действии - запустите c5a1

Добавлено 02-04-2011 в 17:35:

Это скорее всего последняя версия. Кстати SDK тоже обновился, перекачайте кому надо.
Сделаю полную ревизию исходников и выложу.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено PunkPaToB 02-04-2011 в 13:35:

А вот может я вообще глупость говорю, но как идея прикрутить брашевой энтити funkc_tank или пулемету крестик, который будет двигаться равномерно с дулом?


Отправлено fire64 02-04-2011 в 13:41:

PunkPaToB, а причем тут движок ?
Работай на клиенто-серверных dll.

Все что нужно, там есть.

__________________
Вся сила лысого кощея,
Сокрыта в башне из костей
Воздвигнутой, под небесами
На месте похорон людей


Отправлено Ku2zoff 02-04-2011 в 16:02:

>>Это скорее всего последняя версия.
А как же предиктинг? Он всё ещё глючит.


Отправлено Дядя Миша 02-04-2011 в 16:11:

Ku2zoff не осилил я предиктинг, увы. Да и лень уже разбираться.
ну ничего, сами напишете

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено FiEctro 02-04-2011 в 16:13:

Дядя Миша
>> не осилил я предиктинг

А что конкретно в нём не ясно? Расписал бы, мб кто нить знает, или читал об этом.

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!


Отправлено Ku2zoff 02-04-2011 в 16:21:

Механизм в общих чертах скорее всего такой:

Имеем медленное сетевое соединение. Когда включен предиктинг, то игра клиента, не дожидаясь получения полной информации от сервера, "предугадывает" действия игроков и их оружий по "обрывкам" приходящей инфы. Это дело компенсирует лаги.
Наверное, я правильно себе это представляю.

Только как на уровне движка это работает - ХЗ.

>>не осилил я предиктинг, увы.
Дык не надо было его вообще делать. Один фиг его не будет в "старом" варианте движка, в котором несовместимые дллки.


Отправлено Дядя Миша 02-04-2011 в 16:58:

Цитата:
Ku2zoff писал:
Имеем медленное сетевое соединение. Когда включен предиктинг, то игра клиента, не дожидаясь получения полной информации от сервера, "предугадывает" действия игроков и их оружий по "обрывкам" приходящей инфы. Это дело компенсирует лаги.
Наверное, я правильно себе это представляю.

Ну если рассуждать на уровне "вот это автомобиль, у него есть колёса, они круглые, чтобы крутится. Значит когда колеса крутятся, автомобиль едет", то безусловно правильно.
А если вдаваться в технические подробности, то всё это дело выглядит вот как.
1. при мультиплеере сервер сознательно пропускает некоторые пакеты, в зависимости от настроек cl_updaterate, rate и cl_cmdrate.
2. но при этом может посылать usercmd_t чаще, чем сервер присылает новые дельта-апдейты.
3. непосланные (и посланные тоже), команды usercmd_t считаются с момента получения последнего дельта-обновления.
4. каждый кадр выполняется предиктинг этих комманд, как для оружия, так и непосредственно для игрока. В отличие от кваки, где предиктинг, т.н. "накопительный", т.е. в первый пропущенный кадр мы делаем одну итерацию, во второй две, итд, в халфе предиктинг ВСЕГДА делает кол-во итераций, в прямо зависимости от настроек cl_cmdbackup. А результаты предиктинга не только не херятся, но и бережно сохраняются в циркулярный массив на 64 слота. Вопрос лишь в том, что является инкрементатором этого массива и при каких условиях.
5. т.н. runfuncs на клиенте становятся равны true лишь на последней итерации предиктинга. В противном случае мы получим громадную пачку шагов плеера и кучу эвентов-дубликатов.
6. на клиенте есть три важные функции: txferLocalOverrides, TxferPredictionData, ProcessPlayerState. Первая из них копирует некоторые параметры из clientdata_t в player->curstate, в частности оригин повышенной точности для локального игрока. Вторая функция копирует параметры предиктинга для локального игрока, при инкрементировании той самой переменной, о которой я упоминал в четвертом абзаце. Тут я могу, конечно ошибаться, но общий смысл таков. Третья функция коллекционирует информацию плеер-стейтов со всех игроков. Причем эти игроки считаются обычными солидными энтитями, в отличие от, например QW, где для каждого игрока на клиенте запускается настоящий предиктинг. Правда в QW нету компенсации лагов на сервере, в отличие от HL.
7. код компенсатора лагов на сервере можно подглядеть в Hl2beta либо в OSHLDS (почти паста). Суть кода в том, что он анализирует кол-во пропущенных пакетов и на основании этого приблизительно рассчитывает местоположение лагающего игрока на сервере.
Важное отличие лагкомпенсатора от предиктинга заключается в том, что его результаты не являются фейковыми, а действительны для всех игроков.
К слову сказать, лаг компенсатор, я таки утащил из OSHLDS. Правда до конца не подключил, но думаю это несложно.
8. К вопросу о том, надо ли было делать предиктинг или нет. Без предиктинга (точнее без вызова тех трёх функций, о которых я упоминал в шестом пункте, в куче модов бы неработала половина фичей).
К примеру в той же параное бы напрочь исчезли брашевые энтити, в hlrally не удалось бы подключиться к серверу, кое-где был бы просто вылет в винду и прочее. В DMC, к примеру, при отключенном предиктинге исчезает HUD. Так что прежде чем нести херню, логично было бы поинтерисоваться почему я вообще продолжил работы в данном направлении.
9. когда я выложу сорцы там будет лежать файлик с моим рассуждениями и наблюдениями по поводу предиктинга. Неглупый человек, прочитав его, сэкономит массу времени при имплементации.

Добавлено 02-04-2011 в 20:58:

Цитата:
Ku2zoff писал:
Один фиг его не будет в "старом" варианте движка, в котором несовместимые дллки.

вот конкретно этого предиктинга - не будет. А вообще он там уже был, начиная с 14 февраля 2010 года.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Временная зона GMT. Текущее время 02:11. Страницы (16): « Первая ... « 5 6 7 8 [9] 10 11 12 13 » ... Последняя »
Показать все 231 сообщений этой темы на одной странице

На основе vBulletin версии 2.3.0
Авторское право © Jelsoft Enterprises Limited 2000 - 2002.
Дизайн и программирование: Crystice Softworks © 2005 - 2024