TGA [B0S], если хотите помочь, то можете скачать последнюю версию игры и посмотреть вложенные в архив исходники - может быть, чего-нибудь оптимизируете/исправите.
Ох, лол. Там по-хорошему придется для оптимизации всю сетевую часть переписать, там же костыль на костыле. Но оно ведь и сейчас более-менее приемлемо, даже с высокой задержкой. По крайней мере лучше, чем 0.5.
игра ещё сырая оч.. сетевой код не оптемизирован, всё прыгает и скачет. задержка между нажатием кнопки и выполнении команды примерно 1-2 секунды, что на самом деле существенно. И ещё несколько багов: мегасфера даёт зелёный броник(по крайне мере иконка зелёного броника), ракета взрывается со звуком бфг, не предусмотрен спуск вниз со ступенек(т.е. запрыгнуть на полочку можно, а чтобы с неё слезть, обязательно надо в сторону отходить)
Посмотрел. Действительно "ох лол". TCP+UDP на гамакере - это страшный сон. Да еще и нельзя указывать порт при создании сервера/присоединении к нему. На мой взгляд что-то сделать с текущей версией - нириально. Поэтому, с вашего позволения, не поленюсь и сделаю для вас свою заготовку под сетевой дум2д где будет онли UDP.
игра ещё сырая оч.. сетевой код не оптемизирован, всё прыгает и скачет. задержка между нажатием кнопки и выполнении команды примерно 1-2 секунды, что на самом деле существенно. И ещё несколько багов: мегасфера даёт зелёный броник(по крайне мере иконка зелёного броника), ракета взрывается со звуком бфг, не предусмотрен спуск вниз со ступенек(т.е. запрыгнуть на полочку можно, а чтобы с неё слезть, обязательно надо в сторону отходить)
О, ну ты не видел версий до 0.6. Там был тот еще выигрыш с сетевым кодом.
Поэтому, с вашего позволения, не поленюсь и сделаю для вас свою заготовку под сетевой дум2д где будет онли UDP.
Ну ладно же. Только тогда я, считай, немного там написал. Я не пробовал делать онли-UDP, например. А порт - это я могу просто в список cvar на сервере воткнуть, это не страшно.
Скрытый текст:
Вы бы лучше играли хоть немного, а то скучно же. :3
И ещё несколько багов: мегасфера даёт зелёный броник(по крайне мере иконка зелёного броника), ракета взрывается со звуком бфг, не предусмотрен спуск вниз со ступенек(т.е. запрыгнуть на полочку можно, а чтобы с неё слезть, обязательно надо в сторону отходить)
Там просто изображение брони, чтобы было понятно сколько её, и то, что она изображена зелёного цвета в данном случае ни о чём не говорит. Спуск со ступеней не был предусмотрен в Doom 2d, а Doom 2D Multiplayer опирается на эту игру.
Поэтому, с вашего позволения, не поленюсь и сделаю для вас свою заготовку под сетевой дум2д где будет онли UDP.
Попробовал слать все частые пакеты через UDP. Задержки не особо видно, зато пакеты часто не доходят, из-за чего появляется дерганность. В основном, наверное, потому, что я не делал предсказывания движения, почти нихера не понимаю в сетевых протоколах, да и вообще не особо кодер. Как ты собрался делать онли-UDP с гарантированной доставкой пакетов, да еще и на 39dll, да еще и без client prediction?
Товарищ JustAnother начал переписывание серверной части игры на Visual C#. Хочу пожелать ему удачи, так как если этот проект действительно будет реализован, то это игра будет работать в разы быстрее.
Да, стало немного лучше, но еще есть над чем работать - ладно у меня фпс выше 40 не поднимался(ибо я держал у себя и клиент и сервер, а об этом вы пишете в "багах"), но вот у других людей, запускавших только клиент - фпс был таким же. Как вариант, можно попробовать снизить фпс игры до 30 - всё будет менее плавно, но зато будет работать быстрее.
Добавлено спустя 3 часа 3 минуты 21 секунду:
И еще пару вещей: 1) По прежнему никак нельзя указать порт, который будет слушать сервер, или к которому будет подключатся клиент. 2) Крайне не хватает или "ауто-свитч веапонс", или возможности назначить конкретные оружия на отдельные клавиши - листать двумя кнопками оружия в момент напряжённого боя просто мега-удобно.
FPS игры во многом зависит от мощности видеокарты. Игра отлично идёт на слабых компах, но с сильной видюхой.
TGA:
1) По прежнему никак нельзя указать порт, который будет слушать сервер, или к которому будет подключатся клиент.
Вроде бы это нельзя сделать на 39DLL. Надо будет спросить у Простовиталика.
TGA:
2) Крайне не хватает или "ауто-свитч веапонс", или возможности назначить конкретные оружия на отдельные клавиши - листать двумя кнопками оружия в момент напряжённого боя просто мега-удобно.
Это специально, как в оригинальном Doom2D. Если сделать автопереключение/назначение на отдельные клавиши, то геймплей кардинально изменится. И не в лучшую сторону, ИМХО.
Это специально, как в оригинальном Doom2D. Если сделать автопереключение/назначение на отдельные клавиши, то геймплей кардинально изменится. И не в лучшую сторону, ИМХО.
Вот это вообще не объеснение, а очередная отговорка. Я уже тоже давно прошу, чтоб сделали назначения оружия на отдельные кнопки. К тому же я это говорю как активный игрок. Можете оставить эти перелистывания и пользоваться ими, но для сетевой игры, где каждая секунда решает жить тебе или нет, такое управление никуда не годится. Doom 2d была более спокойная игра и там это не раздрожало. А тут надо брать пример не только с оригинала, но и с NFK например.
Вот это вообще не объеснение, а очередная отговорка.
Норкоман, лол. И не отговорка это, а попытка следовать букве оригинала. Я подумаю. По-моему, это можно реализовать ещё одним параметром на сервере с тремя значениями. Например: параметр ?_wpnchange со значениями 0, 1 и 2. 0 - смена оружия способом "перелистывания" 1 - смена оружия путём нажатия на соответствующую клавишу 2 - смена оружия любым из перечисленных выше способов
Например: параметр ?_wpnchange со значениями 0, 1 и 2.
Ну и зачем эти трудности? После появления функции назначения на каждое оружие кнопки все заядлые гемеры по-любому перейдут на такое управление, потому что перелистывание это не по-спортивному. А тут заходят на сервер, а их управление не работает. Это только злость будет вызывать. Если по дефолту будет стоять 2 (что, конечно, будет правильно), то этот параметр практически бессмысленен (примерно то же самое, что и oldaim, которым вообще никто не пользуется). Поэтому тут просто надо ввести такую возможность смены оружия, чтоб она работала везде.