Сразу скажу - я понимаю, что лимиты зло и лучше вообще обходиться без них.
Но иногда введение некоего лимита сильно упрощает код и архитектуру в целом.
Как вы думаете, какое максимальное количество видов оружия было бы адекватным для движка? Разумеется, при условии, что полная перекомпиляция сорцов движка может его изменить - но это, так скажем, в особых случаях (и при наличии полных сорцов), а так - игровые библиотеки этот лимит увеличить не могут. Как в халфе*.
Пожалуйста, отвечаем честно, сколько понадобилось бы лично вам, а не по принципу "щоб было" и "всего да побольше".
Также советую перед ответом прикинуть, сколько видов оружия в халфе и известных вам модах и играх. Я мог бы подсказать, но это будет не очень честно - как будто я навязываю некое число.
* - тут надо оговориться, в халфе количество пушек хоть и ограничено 32 в старых версиях и 64 в новых, но речь только о предиктящихся пушках. Серверных - может быть сколько угодно на усмотрение связки клиент-сервер, в обход движка.
PLut писал: но если делать по несколько видов оружия одного типа, то быстро уеду за пределы 32х пушек.
А что подразумевается под несколькими видами одного оружия? Красная монтировка, синяя монтировка, золотая монтировка - это три вида оружия или таки один?
Дядя Миша
У тебя в NT массив weapon_data_t динамический или статический?
И дельта-конпрессия её есть? (в смысле, на сервере фреймы также хранят все веапон-даты для всех игроков)?
Это, тащемта, нехилый такой объём памяти, и если пушек всего 14, как в халфе - лишний расход в случае статической аллокации.
XaeroX Нет, это одно оружие. Вот нож, монтировка и ключ - это разное оружие одного класса. Так же может быть несколько штурмовых винтовок: м16, ак47 и скар какой-нибудь. Беретта, глок, десерт игл... Ну, я думаю, ты уловил мысль.
PLut
Мысль я уловил, но всё равно сложно вообразить больше 32 видов оружия. По-моему, даже в фоллауте пушки укладываются в число 32, а ведь это самая что ни на есть кондовая RPG.
Да и потом, многие из них явно лишние. Взять тот же КС 1.6. Как часто вы использовали b-3-3? Или b-4-7? То-то же.
В csgo все пушки достаточно часто используются, кроме дробовиков(сложно убить на ближней дистанции) и пулеметов(дорого и разброс сильный). В сумме накапливается примерно 30, если не считать утилитарные штуки. Все зависит от игровой механики.
Утилитарные вещи считаются в эту вепондоту?
По мне нужно 64, а если писать один класс для разных пушек, то это некрасиво выглядит как-то.
ILZM писал: Ну там наверное уже 64 стоит, если игроков 64
Какая связь?
Цитата:
ILZM писал: Почему так сложно выделить 64 структур?
А кто сказал, что сложно выделить 64 структуры?
Не сложно, но есть нюанс. Допустим, структура весит 88 байт, как в халфе. Максимум игроков 64, packet backup 32. Итого: 88 * 64 * 32 * 64 = 11534336, т.е. 11 с лишним мегабайт памяти под пушки на сервере. Много это или мало - вопрос явно философский, но опытный программист всегда найдёт, куда потратить лишние мегабайты, а потому расходовать их надо экономно.
Добавлено 25-06-2016 в 04:14:
Цитата:
tolerance писал: И кстати, будешь ли ты делать разделение на тип патронов?
Патроны - это вещь сугубо игровая и движок не затрагивает. В отличие от пушек, для которых нужен предиктинг.