Sidebar

Xash3D: Обсуждение

Raid

VIP
Jul 11, 2006
8,308
33
220
0
CSM-чат
2 gfdjr5:
На брашах сделать совершенно новый не получится, тк совершенно новый одинаково хорошо умеет и в открытые пространства, и в закрытые, в лайтмапы, в динамический свет, ну ты пони.
 

gfdjr5

[NULL]
Nov 25, 2012
563
0
0
Raid said:
2 gfdjr5:
На брашах сделать совершенно новый не получится, тк совершенно новый одинаково хорошо умеет и в открытые пространства, и в закрытые, в лайтмапы, в динамический свет
Да лучше бы не врали публике. Писали, что Сурс - совершенно новый движок, написанный с нуля. В то же время писали, что взяв исходники Квэйка разделили на два проекта - GoldSrc и Src. И как это Сурс написан с нуля после этого? Сам Кармак утвердил, что в исходниках всё ещё есть участки от Квэйка. Да что там, в слитых сурсах можно всё видеть. Структура файлов та же, код тот же. Тяжело, конечно, поддерживать тогда было Стим, а сейчас что? Состояние гонки? Сурс 2 написали. А что там нового? Код ведь тот же. Только-только в нём была введена поддержка шейдеров версии 3. Взялись бы они за это серьёзнее, написали бы движок и уровня Анрил 4 и Фростбайта 3. А то и лучше.

Raid said:
ну ты пони
Каждый день открываешь для себя что-то новое.
 

Дядя Миша

Супер Модератор
Mar 28, 2010
15,347
235
0
Кубань
Тут дело не в предиктинге, по крайней мере я считаю так.
На здоровье.
Альтернатива существует?
В ку3 это всё весьма неплохо реализовано, с экстраполяцией. Главная фишка - в использовании low-res таймера, что само по себе позволяет получить хорошую предиктабельность. Но не совместимо с некоторым кодом на сервере.
только: NetQuake | QuakeWorld
NQ - это Normal Quake. Никакого NetQuake в природе не существует.

[ADDED=Дядя Миша]1411665860[/ADDED]
А сорс превратился в огромного слабоуправляемого монстра, с которым не сделаешь уже ничего. Вот прекрасные последствия написания кода на С++.
 
Last edited:

gfdjr5

[NULL]
Nov 25, 2012
563
0
0
Дядя Миша said:
В ку3 это всё весьма неплохо реализовано, с экстраполяцией. Главная фишка - в использовании low-res таймера, что само по себе позволяет получить хорошую предиктабельность. Но не совместимо с некоторым кодом на сервере.
Экстраполяция может внести свой отрицательный вклад тем, что если игрок будет, допустим, бежать к обрыву и от него перестанут приходить пакеты, то сервер его и скинет вниз. Хотя клиент, пока пакеты на сервер не приходили, остановился у края обрыва.

Дядя Миша said:
NQ - это Normal Quake. Никакого NetQuake в природе не существует.
Назвали его так исторически. После того, как появился QW, за обычным закрепилось название NetQuake. А вот о названии Normal Quake я не слышал. Но мы говорим об одном и том же Квэйке первом, расчитанном на игру по локали, поэтому не суть.

Дядя Миша said:
А сорс превратился в огромного слабоуправляемого монстра, с которым не сделаешь уже ничего. Вот прекрасные последствия написания кода на С++.
Слабая управляемость у кода на С. А сурс является ярким примером того, как не надо использовать ООП в С++. И код на С++ не подразумевает классов. Это лишь язык с увеличенными, по сравнению с С, функционалом. На нём и процедурно, как на С, можно писать программы. Но и при использовании классов надо с умом подходить, а не городить говнокод. Сурс явно плохой пример ООП, зато отличный пример того, как не нужно писать, оформлять и проектировать свой проект. "Слабоуправляемым монстром" код становится, когда плохо спроектирован. Сделать можно - переписать всё начисто. Но у вэлв нет на это времени. Поэтому придётся довольствоваться этим.

Где квар sys_ticrate у ксаша? Как он за частотой обновления сервера следит?
 

Дядя Миша

Супер Модератор
Mar 28, 2010
15,347
235
0
Кубань
от него перестанут приходить пакеты, то сервер его и скинет вниз
Я смотрю у тебя фантазия, как у нашего общего друга. А может это сезонное.
Слабая управляемость у кода на С
И в чём это выражается?
сурс является ярким примером того, как не надо использовать ООП
То есть его ламерье писало, правильно понимаю?
И код на С++ не подразумевает классов
О как.
Покажи нам свои проекты, где всё по канонам.
 

gfdjr5

[NULL]
Nov 25, 2012
563
0
0
Дядя Миша said:
Я смотрю у тебя фантазия, как у нашего общего друга. А может это сезонное.
Отличный пример это когда клиент А бежит и прыгает с обрыва, а клиент Б экстраполируя данные, получит информацию о прыжке после того как персонаж выбежит за грань обрыва, и затем весьма "резко" прыгнет.
А что? Такое вполне могло бы быть. Есть модификации к GTA San Andreas - SA:MP, для поддержки мультиплеера. В самой СА изначально только поддержка сингла была. А тут прикрутили сеть. И на начальных версиях было так, что когда игрок переходил в меню паузы, обновления от него переставали приходить и ему отсылаться. И когда такой игрок вел авто, то при переходе в паузу авто продолжало двигаться для всех других игроков. За это время авто могло и скатиться в кювет и перевернувшись, взорваться, убив всех, кроме игроков в паузе, пассажиров. Она могла и упасть в воду, и утопить всех пассажиров, что не в паузе. После же возвращения игрока в игру наступал резкий синхрон сервера с последними данными от игрока. То-есть, несмотря на то, что авто продолжало куда-то двигаться, как игрок вышел из паузы, он и авто со всеми пассажирами возвращаются на позицию, в которой они были перед уходом этого игрока в паузу. Предиктинг, кстати, прикрутили там только недавно, но замечу, что так же отрывисто, как в ксаше, игроки по миру у клиента не бегали. Стрелять только приходилось "по пингу", на упреждение.

Не про бумера ли ты часом?

Дядя Миша said:
И в чём это выражается?
А я что, могу использовать каждую подсистему движка отдельно друг от друга? Могу их свободно расширить? Одно небольшое изменение в коде не приведёт к общей неработоспособности всей системы? А для новых изменений мне не придётся переписывать значительную часть кода?

Дядя Миша said:
То есть его ламерье писало, правильно понимаю?
Писали люди, которые не особо заботились о том, как они потом будут менеджить этот код.

Дядя Миша said:
О как. Покажи нам свои проекты, где всё по канонам.
"Нам" это кому? Ты знаешь, что такое парадигмы программирования? Ты мне покажи, где написано, что код С++ всегда пишут с классами. В С++ имеется поддержка классов, но никто не обязывал их использовать. Поэтому я не понимаю за что такие плохие отзывы в сторону С++.
 
Last edited:

Дядя Миша

Супер Модератор
Mar 28, 2010
15,347
235
0
Кубань
А я что, могу использовать каждую подсистему движка отдельно друг от друга?
Ну я же могу, почему ты не можешь?
А для новых изменений мне не придётся переписывать значительную часть кода?
Всё зависит от того, как это было спроектировано. А не от языка.
В С++ имеется поддержка классов, но никто не обязывал их использовать.
Я тебе еще раз говорю, Сишный исходник, переименованный в .cpp даёт падение в производительности на 40%. По крайней мере на шестой студии.
 

gfdjr5

[NULL]
Nov 25, 2012
563
0
0
Дядя Миша said:
Ну я же могу, почему ты не можешь?
И тебе не придётся дописывать его или тащить вместе с ним дополнительный функционал? Так ли это?

Дядя Миша said:
Всё зависит от того, как это было спроектировано. А не от языка.
Ну так и я о том же. Но на плюсах делать проще, если виртуальные классы использовать. Вместо wavdata и mp3data сделать интерфейс sounddata, а от неё унаследовать уже их. Или лучше даже sounddata оставить, сделать отдельный интерфейс загрузчика звуков и хандлер для него, чтобы можно было указатели добавлять в его лист загрузчиков. Тогда и менеджер звуков сделать, в котором определить метод загрузки звука. Этот метод при вызове будет обращаться к хандлеру с названием звука для загрузки. А хандлер проверяет, есть ли среди загрузчиков тот, что поддерживает указанное расширение. Есть - грузит и выдает указатель на sounddata, нет - возвращает с ошибкой.
Вот и расширяемость.

Дядя Миша said:
Я тебе еще раз говорю, Сишный исходник, переименованный в .cpp даёт падение в производительности на 40%. По крайней мере на шестой студии.
Я не знаю как работает такая старая студия. Попробуй на новых посмотреть. Может просто при смене расширения шестая студия автоматом компилирует код как C++. От того, что просто расширение сменилось и студия даёт код настолько медленнее, скорее всего это какие-либо особенности шестой студии. У неё уж старый компилятор, может возьмёшь за 2010 или 2013 экспресс? Бесплатная. Только зарегестрироваться нужно, чтобы код активации прислали. У них компиляторы поновее будут. Глядишь и код быстрее скомпилируют.
 
Last edited:

gfdjr5

[NULL]
Nov 25, 2012
563
0
0
Кто-нибудь может сходить вместе со мной потестить Ксаш в мультиплеере? Обычная халфа. Или кс 1.3/1.5 (если запустится).
Скачайте заранее карту 1337_street. Она компактная, для теста подойдёт. Хочется посмотреть что из себя представляет предикт код сейчас. В мастер-сервере сервер не отобразится, думаю, поэтому напишите в лс, кому скинуть айпи.

Карта:
http://rghost.ru/58214520
 
Last edited:

bel

New member
Sep 23, 2012
19
0
0
2 gfdjr5:
Уважаемый, вот что Вы к человеку-то докопались?

Если человек хочет развивать наследие от QuakeWorld в отдельную ветку - пусть развивает. Замечу, что у него довольно-таки неплохо получается (последняя версия для меня была 0.96, остались хорошие впечатления).

Выбор языка - тоже его дело. Есть вещи, которые принципиально нужно писать на Си; и я сам считаю, что игры (ядро/серверную часть) лучше всего писать на Си (не инди; не смартфонные). Выбор языка чаще всего связанно с привычкой. Пускай есть какое-то снижение производительности, но оно обязательно присутствует. Хоть 1% - это его аргумент, и он действует. А Ваши контраргументы не смогут полностью отменить снижение производительности.

Отказ от плюшек тоже связанны с привычкой. Если "чо" в Си есть дефайны, и если умело ими пользоваться, то можно написать такой код, который будет конфеткой. Если грамотно проектировать код, иметь какие-то правила внутри своих проектов (ЕМНИП у валв приватные переменные начинаются на m_ ), то никаких проблем внутри ядра быть не должно. Можно и на Си наговнокодить. И будет этот код работать в сто раз хуже, чем в той же Java. Тут дело не в языке, а в проектировке, понимаете?

Я никогда не поверю в то, что у Вас нет вещи, которая хуже остальных, но используете Вы её исключительно из привычки. Пускай на Си нет таких плюшек и библиотек, как на С++, но если человек хочет писать велосипед - пускай пишет. Особенно хороши велосипед тогда, когда они заточены под свои параметры. В этом нет ничего криминального, и опять-таки же это выбор каждого.

Не занимайтесь демагогией. Умейте уважать выбор других, а то складывается такое ощущение, что Вы это делаете для собственной выгоды. Вас что-то не устраивает? Делайте свой движок или используйте любой другой (UT4, сурцы есть и написан он на Вашем любимом C++).
 

gfdjr5

[NULL]
Nov 25, 2012
563
0
0
bel said:
2 gfdjr5:
Уважаемый, вот что Вы к человеку-то докопались?

Если человек хочет развивать наследие от QuakeWorld в отдельную ветку - пусть развивает. Замечу, что у него довольно-таки неплохо получается (последняя версия для меня была 0.96, остались хорошие впечатления).

Выбор языка - тоже его дело. Есть вещи, которые принципиально нужно писать на Си; и я сам считаю, что игры (ядро/серверную часть) лучше всего писать на Си (не инди; не смартфонные). Выбор языка чаще всего связанно с привычкой. Пускай есть какое-то снижение производительности, но оно обязательно присутствует. Хоть 1% - это его аргумент, и он действует. А Ваши контраргументы не смогут полностью отменить снижение производительности.

Отказ от плюшек тоже связанны с привычкой. Если "чо" в Си есть дефайны, и если умело ими пользоваться, то можно написать такой код, который будет конфеткой. Если грамотно проектировать код, иметь какие-то правила внутри своих проектов (ЕМНИП у валв приватные переменные начинаются на m_ ), то никаких проблем внутри ядра быть не должно. Можно и на Си наговнокодить. И будет этот код работать в сто раз хуже, чем в той же Java. Тут дело не в языке, а в проектировке, понимаете?

Я никогда не поверю в то, что у Вас нет вещи, которая хуже остальных, но используете Вы её исключительно из привычки. Пускай на Си нет таких плюшек и библиотек, как на С++, но если человек хочет писать велосипед - пускай пишет. Особенно хороши велосипед тогда, когда они заточены под свои параметры. В этом нет ничего криминального, и опять-таки же это выбор каждого.

Не занимайтесь демагогией. Умейте уважать выбор других, а то складывается такое ощущение, что Вы это делаете для собственной выгоды. Вас что-то не устраивает? Делайте свой движок или используйте любой другой (UT4, сурцы есть и написан он на Вашем любимом C++).
Как-нибудь без вас решу, хорошо? Без обид.
 
Last edited:

gfdjr5

[NULL]
Nov 25, 2012
563
0
0
AHTu6uoTuK said:
Ну так он таки прав. Это движок ДМа, ему и решать, как его пилить. :roll:
Так и спорить не буду. Он итак решает как его пилить, не будет же он всё бросать и делать по новому или переделывать имеющееся по-другому. А вы как стервятники налетели. Есть что сказать по существу - говорите. А нет, так и смысла говорить нет. Я не указываю, как надо делать, я лишь делаю предложения, а потом мы их обсуждаем. Тема и создана для обсуждений. Какие претензии в мой адрес? Я разве писал что-то наподобие: "ДМ, Си - говно короче, полное. Воот. Так что ты, это, на крестах, короче, делай, окда? И студия шестая тоже говно, бери 2013 и пили короче движок быстрее. А потом допиливай предиктинг и поддержку закачки ресурсов"? Нет, не писал. Вы бы лучше про баги сюда отписывали, может нашлись бы люди, что их исправили бы.
 

Cybermax

Супер Модератор
Mar 11, 2008
2,736
26
36
Вот именно для нее и прикупили исходники Quake 2.
Чё?

[ADDED=Cybermax]1411851447[/ADDED]
А вы как стервятники налетели.
Кто мы? Ты тут один. :) С одной стороны интерес к движку надо подогревать. Но не демагогией.
 
Last edited:

Raid

VIP
Jul 11, 2006
8,308
33
220
0
CSM-чат
Думаю так же стоит сделать расширенное управление звуками (спец. энтитей), чтобы можно было играть 2 звука параллельно, и менять громкость от нуля до 100% не выключая. Суть такого действия вот в чём: едет, скажем, поезд. Снаружи у него звук стука колёс. В салоне тот же звук, с тем же таймингом, однако с фильтром (приглушённый). Как высовываешься наружу - срабатывает плавное (и регулируемое соответственно) затухание звука в салоне, и увеличение громкости звука снаружи. Засовываешься обратно в салон - соответственно, затухает звук снаружи, и набирает громкость звук внутри.
 

Game Server

CSM TV

Page QR Code

QR Code

Donate Campaign

Total amount
$0.00
Goal
$25.00

Latest profile posts

TestUser wrote on TRUP@C's profile.
Master?
TestUser wrote on TRUP@C's profile.
Hello Father

Members online

No members online now.

Discord