KadVar писал(а):
Кошир писал(а):
Харч писал(а):
Не, я конечно могу написать что я ХОЧУ сделать, но "хочу, "могу", "сделано" - все разные вещи
поэтому и не говорю
Внутри, по моему мнению, должны быть базовые команды, как то:
1) хождение, осмотр территории
2) различные действия с инвентарем/снаряжением
3) естественные потребности (пить, есть, сходить в туалет)
4) система, позволяющая заклинания, умения и остальные команды писать вне кода
1) а зачем это в ядре? ядро обрабатывает команду пользователя "смотреть", вызывает соответствующий скрипт, прочитает из базы описание и все.
2) в принципе, это аналогично 1, за тем исключением, что необходимо записывать в базу. Можно это захардкодить, а можно и вывести в скрипты, где кастомизаторы могут приделать слот "пятая нога" в своем маде.
3) см 2.
4) см 2.
Конечно, это все базовые скрипты, которые нужно выделить в базовую библиотеку, в которой будет создаваться модель персонажей, боев и всяких наворотов. Допустим, если планируется наличие заклинаний и умений, которые парализуют персонажа, то надо это состояние персонажа определять в базовом классе для всех заклинаний и умений (да и для большинства команд).
Боюсь скрипты на такие вещи сожрут всю производительность. Есть мнение, что некоторые моменты должны быть в виде вызываемых процедур нижнего уровня. Это то, что срабатывает очень часто, и мало модифицируется.
Одевание-снимание вещей никак не связано с наличием пятой ноги.
В любом случае нужна слотовая система, а введение частей тела - это должно быть довольно простой вещью.
У меня в прототипе движка все персонажи собирались из отдельных частей, на которые можно было надевать вещи
(или нельзя), и никак со скриптом одевания вещей это связано не было.
Кстати для одевания снимание вещей были необходимы свободные руки, это приводило к очень забавным ситуациям,
когда проклятая вещь оставалась в руках, и ни бросить её, ни взять оружие, ни переодеться, ни пожрать было уже нельзя.
Ну давайте подумаем на счет производительности. Хождение и осмотр - могут являться источниками повышенной нагрузки, если пользователям разрешено на спидволках за секунду пролетать полмада. Снять/одеть - в принципе то же спамиться может, в обычных мадах такое ограничивает лишь ширина канала и быстродействие клента
Но скрипты во всех этих случаях - простейшие и не используют каких-то сложных алгоритмов и если скрипты будут тормозить уже на этом этапе, то нафига они вообще, ведь будут и более сложные и потенциально более нагружающие систему?
Опять же, есть слотовая система одевания персонажу, но никто не запрещает же одевать человеку 3 рубашки и реализовывать это в своем маде через удобный интерфейс?
PS: Отчасти эти вопросы являются провокационными. Если внезапно
получить увеличивающуюся многочисленную аудиторию, то вопрос производительности и масштабируемости (вряд ли кто-то о нем задумывался) рано или поздно встанет. И будет менее больно, если в движке часть функций реализована не скриптами, а внутри. Но в свою очередь, это вызывает вопрос - а почему не делать движок так, чтобы скрипты можно было бы реализовывать и на коде ядра? (кстати, еще провокационный вопрос: а что будет в данном случае лучше - ядро на джаве или c/с++?)