Government-Man писал: а кому не хватит кисмета - C++
Т.е. если не помогает аспирин - делаем ампутацию.
Цитата:
Government-Man писал: На УДК или Юнити любые скрипты сделать в разы проще, чем в халфе.
Можно пример?
Добавлено 16-01-2014 в 05:17:
Цитата:
FiEctro писал: Хм, хотел бы я взглянуть на этих людей.
Гляди на здоровье, я не стеснительный.
Добавлено 16-01-2014 в 05:21:
Цитата:
thambs писал: хазардус курс 2 всех переплюнул, это, наверное, самый крутой хлмод вообще когда либо сделанный. там и скрипты крышесносящие и дизайн на шесть с плюсом. всякие там срузисы и прочие кайримы сосут по сравнению с его gameplay, я бы его по крутизне, пожалуй, с портал 2 сравнил.
Не играл ни в тот, ни в другой, и даже не тянет.
Щас доиграю облевон и пойду в кайриме бегать.
Фор хум хау, в общем.
Government-Man писал: Они пишут, что C++ был выбран из-за высокой производительности по сравнению с UnrealScript.
Это надо читать как "мы урезаем бюджет и теперь не можем содержать группу компиляторщиков, которая занималась US виртуальной машиной и JIT".
С++ в виде бинарников - жутко платформенно-зависимый, сошки не отовсюду грузить можно, особенно на телефонах, всякие защиты, Dalvik'и JNI и прочая пердь. А байткод можно грузить когда угодно и как угодно, хоть с сд-карты в рантайме.
Цитата:
Government-Man писал: Сам подумай, что проще: вязать условия из энтитей или написать скрипт на C# или UnrealScript?
Ответ очевиден - вязать условия из энтитей. Это тот же самый кисмет, только в 3д. А детали в виде текстовых подписей и цветных стрелочек завсегда в какой-нибудь джекхаммер прикрутить можно.
Добавлено 16-01-2014 в 05:30:
Цитата:
Government-Man писал: А чем визуальный редактор по-твоему хуже, чем скриптование энтитями в халфе?
Как минимум хуже с позиции пространственного представления. В халфе ты триггеры и связи видишь в контексте уровня, а кисметы эти - сами по себе.
XaeroX писал: Как минимум хуже с позиции пространственного представления.
По-моему, совершенно надуманная проблема, в худшем случае это лишь вопрос привычки и влияние синдрома утенка.
Тем более, что если не считать триггеров и других объектов имеющих реальное трехмерное воплощение, то все логические узлы куда нагляднее выглядят именно в виде графа, а таких узлов в сложных скриптах больше.
Добавлено 15-01-2014 в 19:37:
Цитата:
XaeroX писал: А байткод можно грузить когда угодно и как угодно, хоть с сд-карты в рантайме.
А толку-то? Движок все равно написан на C++ и портировать его на другие платформы по любому придется.
Government-Man писал: в худшем случае это лишь вопрос привычки и влияние синдрома утенка
Народу не нужны новые привычки. Народу нужны старые привычки.
Цитата:
Government-Man писал: если не считать триггеров и других объектов имеющих реальное трехмерное воплощение
Т.е. не считать 95% всех объектов? Оригинально.
Добавлено 16-01-2014 в 06:39:
Цитата:
Government-Man писал: А толку-то? Движок все равно написан на C++ и портировать его на другие платформы по любому придется.
Движок ставится вместе с апк-шкой. Куда ты моды ставить собираешься, и откуда их сошки грузить?
Ах да, я забыл, в современных движках моды стали немодными.
XaeroX писал: Народу не нужны новые привычки. Народу нужны старые привычки.
Так мы все-таки народ обсуждаем, или тех, кто реально хочет что-то сделать и ищет для этого движок?
Добавлено 15-01-2014 в 20:30:
Цитата:
XaeroX писал: Т.е. не считать 95% всех объектов? Оригинально.
Да брось, в сложных скриптах большинство объектов - логические. Но даже реальные объекты проще представлять в виде узлов графа. Особенно если у тебя кнопка на одном конце карты активирует дверь на другом конце при условии что в ста метрах от кнопки игрок подобрал карточку. По-твоему удобнее летать через всю карту чтобы посмотреть скрипт, чем увидеть его в виде компактного графа? Ну знаешь ли...
Government-Man писал: Так мы все-таки народ обсуждаем, или тех, кто реально хочет что-то сделать и ищет для этого движок?
Т.е. по-твоему те, кто что-то хочет сделать, мечтает поменять привычки? Я тебя сильно разочарую...
Цитата:
Government-Man писал: По-твоему удобнее летать через всю карту чтобы посмотреть скрипт, чем увидеть его в виде компактного графа? Ну знаешь ли...
Вообще-то да. Иначе будет как в ретрибушене - карточка лежит чёрти где, дверь надо разбить ломом, и вообще не поймёшь, где тут логика. Зато граф - безупречен.
XaeroX писал: Вообще-то да. Иначе будет как в ретрибушене - карточка лежит чёрти где, дверь надо разбить ломом, и вообще не поймёшь, где тут логика. Зато граф - безупречен.
Знаешь, я кажется начинаю понимать, в чем проблема тех, кто кубает под халфу и делает халфоподобные движки - это неумение абстрагировать.
Одни в ужасе смотрят на то, как современные редакторы ставят на уровень сразу целые меши - ведь если кубист не может сделать такую модельку сразу в редакторе, дергая за отдельные вертексы, то у него сразу реакция "такого не бывает, такого быть не должно". Других охватывает досада от того, что они не могут в уме просчитать визибилити на современных игровых уровнях, ведь явно не для того был создан компьютер, чтобы делать сложные вычисления за человека! Третьи с подозрением смотрят на классы, предпочитая скурпулезно контролировать каждый байт в своем коде. Странно, что с таким подходом у нас на форуме никто до сих пор не попытался создать свой шиндоуз или вообще свой процессор. Долой абстракцию! Да здравствуют транзисторы!
Ну и возвращаясь к теме разговора - опять же налицо неумение абстрагировать и отделять одну задачу от другой. Логика взаимодействия объектов и их расположение на уровне - это совершенно разные задачи, которые при разработке современных игор вообще выполняются разными людьми. И если уровень непроходим из-за того, что дизайнер утопил кнопку в стене, то это не должно волновать скриптовщика и как-то нарушать безупречность его графа.
Но даже при одиночной разработке отделение борща от тараканов соверщенно невредно, ибо организует мысли в нужном направлении.
Government-Man прав. В скриптинге большинство объектов - логические. Когда в халфе вся комната заставлена энтитями, особенно не имеющими визуального отображения в игре, становится уже совсем неуютно - постоянно куда-то их двигаешь, да ещё и думаешь, как их расставить так, чтоб потом легче было разобраться. К тому же некоторые скрипты повторяются в разных местах, приходится копировать всю цепочку и менять имена (если энтити на одной карте, чтоб коллизий не было), а копипаст, как известно, чреват ошибками. Можно было бы написать один скрипт и применять в разных местах, но с другими параметрами. Конечно, цепочку скриптов можно и закодить в C++ - например один warpball вместо связки из 5 энтить, и жизнь наладится, но перекомпилировать код при возникновении новой цепочки - как-то не комильфо, тем более для маппера.
Government-Man
Написал много букв, но логики я не уловил.
Причём тут абстракция, понимание логики работы алгоритмов, раздувание кода из-за классов и создание процессоров? Всё это отдельные увлекательные для обсуждения вещи, правда, 90% из них тут не с кем обсуждать - ну вот кто, скажем, тут способен процессор сделать, хотя бы примитивный? То-то же.
Цитата:
Government-Man писал: при разработке современных игор вообще выполняются разными людьми
Так вот это-то и плохо. Один человек должен объекты расставлять и скрипты писать в редакторе уровней.
А модели кубать в редакторе моделей - да, другие люди должны.
Цитата:
Government-Man писал: И если уровень непроходим из-за того, что дизайнер утопил кнопку в стене, то это не должно волновать скриптовщика и как-то нарушать безупречность его графа.
Безусловно. Но отвечать будет скриптовик, и именно его скрипты назовут дерьмовыми и бажными. И ему придётся с пеной у рта доказывать, что виноват таки дизайнер.
Цитата:
Government-Man писал: отделение борща от тараканов соверщенно невредно, ибо организует мысли в нужном направлении.
И разрушает целостный взгляд на вещи.
Поэтому у таких людей всегда есть очень чёткое представление о том, как надо делать различные компоненты движка, но самого движка - как не было, так и нет.
Добавлено 16-01-2014 в 16:43:
Цитата:
FreeSlave писал: Когда в халфе вся комната заставлена энтитями, особенно не имеющими визуального отображения в игре, становится уже совсем неуютно - постоянно куда-то их двигаешь, да ещё и думаешь, как их расставить так, чтоб потом легче было разобраться.
А в кисмете уютно, ничего двигать не надо, разобраться в сложной схеме легко? То, что плохо выглядит в 3д, в 2д выглядит ещё хуже, т.к. целого измерения для размещения узлов не хватает.
>К тому же некоторые скрипты повторяются в разных местах, приходится копировать всю цепочку и менять имена (если энтити на одной карте, чтоб коллизий не было), а копипаст, как известно, чреват ошибками.
ну вот у меня для этого дела есть набор .map файлов с префабами, где у каждого объекта есть префикс в имени, то бы удобно было делать автозамену из скрипта
FreeSlave писал: К тому же некоторые скрипты повторяются в разных местах, приходится копировать всю цепочку и менять имена (если энтити на одной карте, чтоб коллизий не было), а копипаст, как известно, чреват ошибками.
В VHE 4.1 и Sledge, кстати, есть опция при пасте "сделать уникальные таргетнеймы". И во всей пасте они меняются - и в таргетах в том числе. Мне её делать лениво, но вообще опция хорошая.
XaeroX, я не знаю, что такое кисмет, я говорил о текстовых скриптах, которые знают о необходимых им объектах на карте (своего рода переменные окружения), но логику взаимодействия держат в себе. Легче иметь дело напрямую с циклами, условиями и логическими операциями, чем имитировать их работу через мультименеджеры, вызывающие сами себя, и всякие мультисорсы и релэи. Да, мапперу придется изучить язык скриптов, но это окупится впоследствии.