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

HLFX.Ru Forum (https://hlfx.ru/forum/index.php)
- Xash3D (https://hlfx.ru/forum/forumdisplay.php?forumid=14)
-- Quake VM vs Half-Life DLL (https://hlfx.ru/forum/showthread.php?threadid=1627)


Отправлено Дядя Миша 08-12-2008 в 11:18:

Quake VM vs Half-Life DLL

Собственно это последний не до конца ясный момент в Xash - точнее говоря еще не стандартизованый.
На данный момент имеется классическая виртуальная машина, как в Quake1. Из основных преимуществ - большая гибкость с точки зрения движка, возможность сборки исходников непосредственно из движковой консольки, большая терпимость к ошибкам в коде, невозможность фатального исхода - в самом худшем случае все ошибки вывалятся в движковую консоль, заместо виндового AcessViolation, так же язык позволяет использовать некоторые любопытные конструкции, по определению невозможные в С++: явная сериализация переменной уже при её объявлении, возможность сравнивая строк, подобно простым числам, констрцукии, типа switch( string ), и.т.д.
Из недостатков - прежде всего отсутствие классов и непривычность подхода к программированию - структура entvars_t размазана по всем исходниками в виде переменных с точкой в самом начале.

code:
.float m_flFanFriction; .string m_szSounds;

Можно имплементировать классические длл-ки как в Half-Life.
Из преимуществ - б0льшие возможности для кодинга, привычные для большинства кодеров исходники, также имеется возможность вынести всю физику непосредственно в сервер, дабы мододелы могли добавлять новые MOVETYPE самостоятельно (и решить попутно кучу проблем с movewith, маятниками, конвейерами и прочими нестандартными физ. объектами), б0льшая скорость работы, по сравнению с VM, ну и конечно же возможность очень быстро перетащить все свои наработки в плане кодинга под новый движок (на 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 08-12-2008 в 11:29:

Разумеется, я за дллки + скриптовый язык для написания логики для карт. Моя связка - C++ DLL + Lua (ну это ты и так знаешь).

Цитата:
Дядя Миша писал:
для компиляции нужна студия

Ну ой, какая студия? Нужен только компилятор, причем в теории - не обязательно cl (есть же всякие бесплатные mingw, gcc++ и т.п.). Конечно, МСовский CL самый лучший компилятор с++ под винды, но тем не менее.
Цитата:
Дядя Миша писал:
все это дело может вылетать в винду по непонятным причинам

И не стыдно такое писать - "по непонятным причинам"?

__________________

xaerox on Vivino


Отправлено Дядя Миша 08-12-2008 в 11:36:

Цитата:
И не стыдно такое писать - "по непонятным причинам"?

Ты мало тем видел - "помогите код вылетает ничо непонятно"?
я ж не себя имел в виду.

__________________
My Projects: download page

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

Цитата:

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


Отправлено XaeroX 08-12-2008 в 12:03:

Я таких тем видел немало, но зачем ты уподобляешься ламерам?
И вообще, когда ты уже усвоишь простую вещь:
НИКТО, КРОМЕ ТЕБЯ, ПОД XASH НИЧЕГО СЕРЬЕЗНОГО ДЕЛАТЬ НЕ БУДЕТ

edited:сорьки глаза режет

__________________

xaerox on Vivino


Отправлено Jumpdaphuckup! 08-12-2008 в 15:32:

Цитата:
Ты мало тем видел - "помогите код вылетает ничо непонятно"?
А им разве не объясняют как в дебажном режиме запускать?

Цитата:
и решить попутно кучу проблем с movewith, маятниками, конвейерами и прочими нестандартными физ. объектами
Чего это в маятниках и конвйерах такого нестандартного? И, кстати, в топку твой "мовевитч"

Цитата:
для компиляции нужна студия
Я бы не стал ориентироваться на "кодеров", которым студия недоступна

__________________
avtobus zekov


Отправлено Дядя Миша 08-12-2008 в 16:00:

Цитата:
Чего это в маятниках и конвйерах такого нестандартного? И, кстати, в топку твой "мовевитч"

Это тема для отдельного треда, создай если интересно.

__________________
My Projects: download page

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

Цитата:

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


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

Народ, пишете, почему вы сделали свой выбор.

__________________
My Projects: download page

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

Цитата:

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


Отправлено Government-Man 09-12-2008 в 11:01:

Голосовал за DLL - гибче, отлаживать легче, да и просто привычнее. В скрипты можно (и нужно) вынести отдельные вещи, но все на них делать имхо не стоит...


Отправлено BUzer 09-12-2008 в 12:23:

Голосовал за скрипт. Потенцильно, у скрипта больше возможностей сделать код чище и понятней (как оно там в qc, я не знаю). А в коде на си++ наружу торчит слишком много ненужных подробностей.
Ну и должны быть исходники движка для тех, кому скриптов оказалось мало


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

Голосовал за dll по причине, которая касается только меня - xash 0.45 надо как-то совместить с движком. Я начал перетаскивать все в QC, перетащил штук 20 энтить и умаялся. А помочь мне в этом деле я желающих не увидел .

Цитата:
А в коде на си++ наружу торчит слишком много ненужных подробностей.

Это не в "коде на С++", это в Valve такие неряшливые программеры
У меня ничего торчать не будет.
Сразу хочу сказать, что хотя интерфейс и не будет совместим с обычными халфовскими дллками, но общая структура, принцип работы энтитей и прочее будут сохранены. Так что кодер под халфу и не заметит разницы.

__________________
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-12-2008 в 13:37:

Цитата:
BUzer писал:
Ну и должны быть исходники движка для тех, кому скриптов оказалось мало

Дык а если движок делается для коммерческой игры?

__________________

xaerox on Vivino


Отправлено (_-=ZhekA=-_) 09-12-2008 в 20:37:

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

ИМХО

__________________
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.

http://button.moddb.com/download/medium/125531.png


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

Цитата:
Без обид, но ты иной раз такие вопросы задаешь, что хоть стой, хоть падай )

Падать будешь, когда я буду задам вопрос типа: я могу вынести отрисовку декалей в клиентку, но получается слишком большой Overhead, вот вам исходники движка на пару дней - придумайте как его уменьшить.
Цитата:
но я за быстроту работы за удобство использования за функциональность, логику и конечно же за графику

За Ленина, Сталина, Веру, Царя и Отечество

__________________
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-12-2008 в 10:12:

Цитата:
Дядя Миша писал:
я могу вынести отрисовку декалей в клиентку

Тут даже я падать буду. Серверная отрисовка чего-бы-то-ни-было - это жэсть
По сети, надо полагать, сразу буфер кадра пересылается?

__________________

xaerox on Vivino


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

XaeroX гм. вообще-то я client.dll имел в виду, может ты меня понял неправильно.
Но скажу тебе по секрету - в darkplaces есть возможность пересылать картинки по сети - картинка сжимается жпегом и отсылается мессагой.
Вот это действительно жоссцкая жэстть.

__________________
My Projects: download page

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

Цитата:

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


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

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