HLFX.Ru Forum Страницы (2): [1] 2 »
Показать все 20 сообщений этой темы на одной странице

HLFX.Ru Forum (https://hlfx.ru/forum/index.php)
- Xash3D (https://hlfx.ru/forum/forumdisplay.php?forumid=14)
-- Виртуальная машина в Xash (https://hlfx.ru/forum/showthread.php?threadid=1953)


Отправлено Дядя Миша 08-09-2009 в 20:43:

Виртуальная машина в Xash

Как вы наверное помните, в январе этого года, я создал небольшой опрос - что вам удобнее - виртуальная машина из кваки (пускай и сильно доработанная) или же обычные дллки как в half-life.
Тогда большинство проголосовало за обычные дллки, и я их прикрутил.
Но виртуальную машину не стал выбрасывать (на ней меню работало),
на данный момент я перенес меню в движок и надобность в виртуальной машине отпала окончательно. Однакож выбрасывать её совершенно, как-то жалко что ли. У меня есть мысль как-то прикрутить её к серверу, и дать возможность писать на ней простенькие энтити.
С другой стороны - это только лишнее усложнение системы, на мой взгляд.
Вообщем я долго размышлял над этим вопросом и так и не пришел к какому-либо решению.
Поэтому снова обращаюсь к вам за советом: если VM нужна - предложите механизмы её имплементации.
Сразу предупреждаю - херню в стиле "прикрути её к серверу" писать не надо. Механизм интеракции распишите в деталях и в нескольких словах
о вазимодействии entvars игровой библиотеки с entvars виртуальной машины. Уже хотя бы потому что, что виртуальная машина не понимает указатели в прямом их написании, следовательно там юнионов надо будет понасажать, хитрых конверторов указателя в номер энтити и прочего.
Поэтому, повторюсь, писать строго по делу.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено XaeroX 09-09-2009 в 02:29:

Виртуальная машина а ля ку1, имхо, отжила свое. Выбрасывай ее на свалку истории.

__________________

xaerox on Vivino


Отправлено BUzer 09-09-2009 в 09:04:

Дядя Миша
Раз уже решил все на си писать, то выкидывай её нафиг, и не парься.
Если уж прикручивать скрипты, то че-нить помощнее, типа луа.


Отправлено Дядя Миша 09-09-2009 в 12:51:

BUzer да дело-то не в мощности. Мне бы пример какой-нибудь - как оно в совокупности пригодится. Ну вот есть у нас hl.dll, который может исполнять скрипты виртуальной машины - где такое счастье может понадобится?
Если, скажем, просто вводные настройки монстров\оружия поменять, так для этого виртуальной машины не надо.
Может эвенты, как в халфе? там помнится был код с условиями.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено SanYa 09-09-2009 в 20:00:

Дядя Миша свою xash weapon system перетащи на эту виртуальную машину. Или использовать скрипты, к примеру, для построения сложных скриптовых сцен, с ветвистыми диалогами и неоднозначным развитием событий ?

__________________
кто к нам с чем зачем, тот от того и того...


Отправлено Дядя Миша 09-09-2009 в 21:31:

SanYa я думал об этом.
Но опять же - народ толком не может простенькие скрипты освоить, из старой версии.
Мысль такая, что машину следует использовать для выполнения множества маленьких интерпретируемых скриптов (точнее говоря их компиляция будет производится на этапе запуска движка).
Кстати хотелось бы послушать Ксерокса, как у него в волатиле уживаются дллка с Lua. Про общую идеолгию тасказать.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено BUzer 10-09-2009 в 09:50:

Точно, ведь SanYa дельную вещь сказал - скриптовый язык можно использовать для маппинга. Например, встроить редактор скриптов прямо в редактор уровней. В варкрафте-3 примерно так и сделано - начинающие мапмейкеры могут собирать триггеры из заготовок, а продвинутые могут изучить скриптовый язык и творить всякие мощные штуки.


Отправлено XaeroX 10-09-2009 в 10:07:

BUzer ты разве не это же советовал, когда говорил про луа?

__________________

xaerox on Vivino


Отправлено Scrama 10-09-2009 в 10:25:

Подумалось: было бы неплохо иметь возможность писать свои ентити на qc и докидывать их вместе с картой. Допустим, захотелось маперу сделать паровоз - колесо-то соберет, а вот рычаг от поршня до обода уже нет, надо свой код писать. Ну создал porshen.qc, накодил там func_porshen, скомпилил в porshen.dat и пользует его, держа в папочке scripts, а дивг эту папочку смотрит на предмет лежащих там минипрогсов - это могло бы решить проблемы модеров с закрытостью кода некоторых модов.
ДЛЯ ТУПЫХ: Так можно было бы сделать партикли в контре.

__________________
"Злобным гениям не нужна харизма." © Shooter__Andy
"Making stuff for an "old ugly game" can be ten times more fun than grinding on a map for a dull, next-gen title." © Lunaran


Отправлено XaeroX 10-09-2009 в 11:13:

Scrama ну так для этих целей и можно взять луа. Зачем заставлять людей мучиться с куси? Даже я в нем ни бум-бум, а что говорить про новое поколение, которое выросло на хл2 и ждалкере?

__________________

xaerox on Vivino


Отправлено Дядя Миша 10-09-2009 в 11:38:

Цитата:
Зачем заставлять людей мучиться с куси?

Да хватит уже - ни бум бум он. В ксаше куси НИЧЕМ по внешнему виду не отличается от языка Си. Ну разве что ограниченной поддержкой настоящих указателей. (ненастоящие указатели это энтити).

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено XaeroX 10-09-2009 в 11:56:

Дядя Миша так я ничего не пробовал делать на куси.
Я помню только, что там аргументы идут до имени функции, меня это в такой шок повергло, что я даже не стал в этом куси ковыряться.

__________________

xaerox on Vivino


Отправлено Дядя Миша 10-09-2009 в 12:16:

Цитата:
Я помню только, что там аргументы идут до имени функции, меня это в такой шок повергло

Блин, да это в оригинальном только. В ксаше нет этого маразма.
Вот код цыклера на QC. Прям совсем непривычно, да?

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено XaeroX 10-09-2009 в 15:29:

Да ужасно. Один ".float" чего стоит

__________________

xaerox on Vivino


Отправлено Дядя Миша 10-09-2009 в 17:37:

XaeroX точка указывает на принадлежность к entvars_t
Scrama сделать можно, но исключительно как некий энтмод для конкретной карты. Т.е. основные энтити один фиг останутся в дллке, а если что-то не будет найдено, то возъмется из progs.dat.
Правда при такой системе не вполне ясно как использовать все плюшки. предоставляемые server.dll - ну тот же Movewith к примеру.
Можно конечно movewith вынести в движок, но тогда народ будет страдать, что вся физика в движке закрыта.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Временная зона GMT. Текущее время 22:23. Страницы (2): [1] 2 »
Показать все 20 сообщений этой темы на одной странице

На основе vBulletin версии 2.3.0
Авторское право © Jelsoft Enterprises Limited 2000 - 2002.
Дизайн и программирование: Crystice Softworks © 2005 - 2024