И два режима соединения - Сервер-Клиент или как в старом ДУМ...
Насколько я знаю, эта фича недопилена, иначе бы зандронум не нужен был. Нормально работает там только P2P, который такой себе по интернету.
Причём, чем больше игроков играет, тем больше он "такой себе". Не зря ограничение на 8 стоит )
Не знаю о чем идет речь. Мой мод сейчас больше чем даже АЕОД и мы играем минимум втроем постоянно. Режим - "NETMODE-0". Проблем нет. Иногда, очень редко бывает "Out of синхронизэйшен". Если начать Скриптить на ACS - тогда полный пизнес, хотя и они не помеха если их ОЧЕНЬ осторожно использвать и они у меня имеются (в уровнях которые ДУМ64).
Что же касается P2P - то максимум 3 игрока...
P.S. И я слышал что уже пилят новый мультиплеер для гоззы
С моей точки зрения мультиплеер в котором нельзя скриптить — ниоч.
Скриптить можно, просто нужно знать, что можно пихать используя ACS, а что нельзя... Это только методом долгих изысканий (мне удалось весь ДУМ64 засунуть в свой мод без вредя мультиплееру)
Я знаю примерно как должен работать этот мультиплеер. Там есть жёсткое разделение на клиент и сервер, на клиенте почти не выполняется логика, присутствуют только "куклы" акторов с серверной стороны.
Но это довольно сильно недопилено, о точном состоянии кода знает только dpJudas на форуме здума.
Он недавно перестал сидеть в дискорде, так что я хз по текущему прогрессу )
Помню на этот счёт как-то веточку нашел в репозитории - https://github.com/coelckers/gzdoom/commits/clientserver Даже качал, собирал и запускал, но мягко говоря там на тот момент происходил лютый треш, а так ждем нормальный МП в гоззе
Таак тогда извините.
Лично я был не в курсе что можно так играть.
Просто я слышал как бы что есть проблемы с дикой рассинхронизацией сервака при игре.
А режимов там только 2 да?
ДЕзматч и кооператив?
Game modes
ZDoom supports three different multiplayer game modes. Multiplayer source ports may also implement additional game modes, such as Capture The Flag or Domination.
Deathmatch
Deathmatch is a multiplayer game style pioneered by Doom in which players face off against each other, connected to a common area via a network.
A point, called a frag, is granted to a player whenever he or she kills an opponent.
Upon death, players restart at a random deathmatch start.
Players spawn with all keys, and keys are never placed on the map (there is currently no clean way to circumvent this).
Team deathmatch
Team deathmatch is a variant of deathmatch where players are placed into two or more teams. Players score frags by killing members of opposing teams. Gameplay options allow to reduce or remove friendly fire damage.
Cooperative
Cooperative gameplay, often referred to as co-op or coop, is a multiplayer game mode in which human players cooperate against a given game's monsters. Cooperative play is the default game mode if the -deathmatch parameter is not specified at the command line.
Network modes
ZDoom provides two networking modes to change how nodes connect to each-other. Depending on networking conditions, one may be more favorable then the other. You can force a netmode using the '-Netmode #' command line parameter.
Peer-to-Peer
Netmode 0, the default, is the traditional netmode. The faster of the two, each node talks to each other node directly, and the game is only slowed down by the slowest connection between two nodes. In Internet games, this does require all nodes to be able to contact all other nodes, or the game will appear to lock up when it starts (this only applies if you have 3 or more players). Hole punching is used by all guest nodes to connect to other nodes.
Packet Server
Netmode 1, which must be forced on, is an alternate mode added to ZDoom. The slowest of the two (depending on networking conditions), each node talks to the arbitrator (typically the first player), and the arbitrator then routes the info to each other node. As you are adding the time it takes the arbitrator to route the information to each node, Internet games can be slowed down significantly by this netmode, but with the advantage of a simpler network setup (only the host needs to be contactable). It's recommended that you do not force this netmode in 2 player games, as it's not needed (nothing changes about how the connection is initiated and maintained) and just results in larger packets.
Packet Server
Netmode 1, which must be forced on, is an alternate mode added to ZDoom. The slowest of the two (depending on networking conditions), each node talks to the arbitrator (typically the first player), and the arbitrator then routes the info to each other node. As you are adding the time it takes the arbitrator to route the information to each node, Internet games can be slowed down significantly by this netmode, but with the advantage of a simpler network setup (only the host needs to be contactable). It's recommended that you do not force this netmode in 2 player games, as it's not needed (nothing changes about how the connection is initiated and maintained) and just results in larger packets.
Судя по описанию это тот же P2P, только арбитратор используется как прокси. Чтобы не нужно хамачи было. Но это не полноценный c/s.
Труп погибшего игрока, но еще НЕ респавнившегося, в коде чем отличается от трупа, того же погибшего игрока, который уже респавнился? Я имею ввиду есть различие во флагах или пропертиях?
Если ты о технической разнице между "живой"\"мёртвый", то при нормальных условиях минимальные отличия это флаги CORPSE и SOLID.
SHOOTABLE же вроде не отключается хотя именно он и говорит игре о том что актор может быть убит. При этом воскрешающие ф-ции реагируют непосредственно на CORPSE флаг, т. е. без флага этого воскрешён "труп" не может быть.
Да я трезв как стёклышко, просто мне казалось что после успешного воскрешения труп перестаёт быть таковым. Если же "воскресший труп" это не какая-то исключительно скриптинговая специфика, то не мог бы ты более развёрнуто пояснить что сие значит в твоём определении?
Возможно этот тест не отображает истинную картину процесса респауна в мультике, но результат следующий:
Запустил сингл гоззы в режиме эмуляции мультика (с параметрами -host 1 -respawn) =>
~ myinfo =>
сдох =>
~ myinfo =>
отреспился =>
~ info собственного трупа после респа =>
Скажем так, я вообще сомневаюсь что special1 вообще относится к процессу респа, ибо его значение не постоянно при каждой смерти. И как я писал выше не исключено что:
а) (my)info не отображают детали всех изменений; и
б) эмуляция респа в сингле отличается от таковой в мультике.