Собственно это последний не до конца ясный момент в Xash - точнее говоря еще не стандартизованый.
На данный момент имеется классическая виртуальная машина, как в Quake1. Из основных преимуществ - большая гибкость с точки зрения движка, возможность сборки исходников непосредственно из движковой консольки, большая терпимость к ошибкам в коде, невозможность фатального исхода - в самом худшем случае все ошибки вывалятся в движковую консоль, заместо виндового AcessViolation, так же язык позволяет использовать некоторые любопытные конструкции, по определению невозможные в С++: явная сериализация переменной уже при её объявлении, возможность сравнивая строк, подобно простым числам, констрцукии, типа switch( string ), и.т.д.
Из недостатков - прежде всего отсутствие классов и непривычность подхода к программированию - структура entvars_t размазана по всем исходниками в виде переменных с точкой в самом начале.
code:
.float m_flFanFriction;
.string m_szSounds;
Можно имплементировать классические длл-ки как в Half-Life.
Из преимуществ - б0льшие возможности для кодинга, привычные для большинства кодеров исходники, также имеется возможность вынести всю физику непосредственно в сервер, дабы мододелы могли добавлять новые MOVETYPE самостоятельно (и решить попутно кучу проблем с movewith, маятниками, конвейерами и прочими нестандартными физ. объектами), б0льшая скорость работы, по сравнению с VM, ну и конечно же возможность очень быстро перетащить все свои наработки в плане кодинга под новый движок (на QC придется избавляться от классов).
Недостатки дллк вы и сами знаете - для компиляции нужна студия, все это дело может вылетать в винду по непонятным причинам итд, итп.
Собственно предлагаю проглосовать за тот или иной вариант и при желании объяснить как он сделал свой выбор.
Разумеется, я за дллки + скриптовый язык для написания логики для карт. Моя связка - C++ DLL + Lua (ну это ты и так знаешь).
Цитата:
Дядя Миша писал: для компиляции нужна студия
Ну ой, какая студия? Нужен только компилятор, причем в теории - не обязательно cl (есть же всякие бесплатные mingw, gcc++ и т.п.). Конечно, МСовский CL самый лучший компилятор с++ под винды, но тем не менее.
Цитата:
Дядя Миша писал: все это дело может вылетать в винду по непонятным причинам
И не стыдно такое писать - "по непонятным причинам"?
Я таких тем видел немало, но зачем ты уподобляешься ламерам?
И вообще, когда ты уже усвоишь простую вещь: НИКТО, КРОМЕ ТЕБЯ, ПОД XASH НИЧЕГО СЕРЬЕЗНОГО ДЕЛАТЬ НЕ БУДЕТ
Голосовал за DLL - гибче, отлаживать легче, да и просто привычнее. В скрипты можно (и нужно) вынести отдельные вещи, но все на них делать имхо не стоит...
Голосовал за скрипт. Потенцильно, у скрипта больше возможностей сделать код чище и понятней (как оно там в qc, я не знаю). А в коде на си++ наружу торчит слишком много ненужных подробностей.
Ну и должны быть исходники движка для тех, кому скриптов оказалось мало
Голосовал за dll по причине, которая касается только меня - xash 0.45 надо как-то совместить с движком. Я начал перетаскивать все в QC, перетащил штук 20 энтить и умаялся. А помочь мне в этом деле я желающих не увидел .
Цитата:
А в коде на си++ наружу торчит слишком много ненужных подробностей.
Это не в "коде на С++", это в Valve такие неряшливые программеры
У меня ничего торчать не будет.
Сразу хочу сказать, что хотя интерфейс и не будет совместим с обычными халфовскими дллками, но общая структура, принцип работы энтитей и прочее будут сохранены. Так что кодер под халфу и не заметит разницы.
Дядя Миша
Без обид, но ты иной раз такие вопросы задаешь, что хоть стой, хоть падай ) Я бы тебе сказал, если бы в этом шарил, но я за быстроту работы за удобство использования за функциональность, логику и конечно же за графику
ИМХО
__________________
Kiss my ass if you don't like my Ford!
------------------------------------------ Game Area51 Update 1
First Person Shooter Released Jul 24, 2017
The game is a 3d shooter with the elements of the quest.
Без обид, но ты иной раз такие вопросы задаешь, что хоть стой, хоть падай )
Падать будешь, когда я буду задам вопрос типа: я могу вынести отрисовку декалей в клиентку, но получается слишком большой Overhead, вот вам исходники движка на пару дней - придумайте как его уменьшить.
Цитата:
но я за быстроту работы за удобство использования за функциональность, логику и конечно же за графику
XaeroX гм. вообще-то я client.dll имел в виду, может ты меня понял неправильно.
Но скажу тебе по секрету - в darkplaces есть возможность пересылать картинки по сети - картинка сжимается жпегом и отсылается мессагой.
Вот это действительно жоссцкая жэстть.