>> Сколько месяцев у тебя ушло, прежде чем ты наконец понял, куда надо кликать два раза, чтобы твой функ-ротатинг ротатился именно так, как тебе нужно? Но ты ведь нипочём уже не признаешься...
Любая программа ориентированная на пользователей, должна быть интуитивно понятной, и охватывать как можно большую аудиторию. Иначе ты отсеешь большую часть пользователей, оставив только пару гиков, но у гиков есть свои движки
Впрочем Волатила насколько я помню имеет как и ВМ так и минимальный набор энтитей, и это я считаю вполне разумным подходом.
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
FiEctro писал: Волатила насколько я помню имеет как и ВМ так и минимальный набор энтитей, и это я считаю вполне разумным подходом.
Ну так я же учёл ошибки и с вами советовался уже на ранних этапах разработки новой версии.
Цитата:
nemyax писал: То, что интуитивно понятно одному пользователю, другой пользователь может считать леденящей душу дичью.
+1
При этом скриптовый подход уже много лет стандарт де-факто, а настойки у энтитей у каждого свои.
Может быть, скоро стандартом станут кисметы/блупринты. Но по сути это те же скрипты, где параметры одних функций и return-ы других соединяешь мышкой. Для тех, кто на дух не переносит печатать на клавиатуре что-то сложнее targetname-ов.
nemyax писал: То, что интуитивно понятно одному пользователю, другой пользователь может считать леденящей душу дичью.
Владелец жигулей тоже может считать иномарки дичью, чтож теперь всем на жигулях ездить? Если части пользователей эта система доставляет неудобства, она уже не является интуитивно понятной.
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
Спор ни о чём, т.к. ни один вменяемый человек с нуля не разбирается, а всегда по аналогии. Разработчики игры дают пример как использовать инструменты, человек пробует повторить, у него получается, а после этого он уже идёт читать документацию и вникать в тонкости. Это и есть главный критерий удачности системы. Если не удалось сделать по аналогии простейшую вещь, не заглядывая в доки - система гавно, а автор - член партии справедливая россия.
XaeroX писал: Жигули это func_rotating, иномарка - это скрипты?
Зависит от реализации.
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
>> В каком смысле - от реализации?
От местоположения галочек функ-ротатинга в окошке свойств? От названия скриптовых функций?
От IDE в которой ты работаешь. Я вот например не видел, чтобы тот же Джек позволял редактировать Lua скрипты внутри.
>> Приведи пример интуитивно понятной относительно сложной системы (которая по твоей логике удобна абсолютно всем пользователям).
Первая квака, энтитии для маппинга, квейк си для скриптов, это довольно примитивный пример, но я думаю ты поймешь о чем я.
Конечно в идеале желательно чтобы вся серверная часть (по возможности) была на скриптах. Т.е. вся игровая логика должна быть доступна для редактирования. Хочешь шутан пишешь, хочешь гонки, хочешь овечек.
Энтитии же это уже универсальный набор особо не завязанный на игровой логике (кстати может быть написан на тех же скриптах), содержащий самые базовые пресеты.
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
Пользователю удобно то, что ему привычно. Все попытки нагородить огород в рассчете на удобство и красоту как правило заканчиваются ничем. Хотите примеров? Возьмем язык Си. Для массовой аудитории это был первый язык, потому что язык B использовался только внутри AT&T и широкого распространения не получил. А теперь задумайтесь, почему большинство востребованных современных языков наследует от Си как минимум синтаксис. Точно так же и с энтитями. Кармак придумал эту систему объектов, параметры которых могут быть описаны комплиментарной парой key-value. В эту схему укладывается абсолютно любое описание. Единственный относительный недостаток такого подхода это то, что эти описания сжирают вполне реальные эдикты, что несколько расточительно. Так что и нечего тут выдумвать акторы какие-то, скрипты. Ну для сложных систем наверное имеет смысл подключить lua какой-нибудь и писать скрипты на нём. Но тут уже встаёт другой вопрос - а как это корректно увязать с сейв-рестором и сменой уровней? Вы обратите внимание что современные движки неохотно дружат и с тем и с другим, этот вопрос всячески заминается.
Добавлено 09-06-2018 в 16:55:
Да вот хотя бы взять пример увязки Lua с модом Жэки Area 51.
Возьмем типичный скрипт
Что это такое? Это костыль, обусловленный наличием отсутствия в HLFX парент-системы. Меняет фейковые двери на настоящие, ставя на их место func_wall. И вот уже моё недавнее утверждение о том, что стена может куда-то поехать или телепортироваться обретает новый смысл.
Дальше у нас идёт куча однотипных функций, что-то вроде
C++ Source Code:
1
function door_reactor2()
2
local mydoor = FindEntityByTargetname(entity(0),'door_reactor2');
Скажите пожалуйста, вероятность запутаться в этой куче почти похожих функций сильно отличается от вероятности запутаться в списке однотипных энтить, для которых Джек и кварк хотя бы рисуют стрелочки от активатора к цели?
То что скрипты решат все проблемы, это иллюзия такая. Ничерта они не решат. На сложную задачу лучше сделать отдельную энтить-контроллёр, а не ломать голову в поисках волшебной концепции, которая разом решит все проблемы человечества и подымет цену на нефть до 150 баксов за баррель.
Добавлено 09-06-2018 в 16:59:
ЗЫ. Забыл самое вкусное упомянуть - FireTargetsDelayed скорее всего расходует эдикты на создание задержки, либо задерживается средствами виртуальной машинки, но тогда не факт, что это корректно дружит со сменой уровней. Собственно в моде Жэки мы переодически и наблюдаем какие-то странно залипшие двери. Это ни в упрёк никому, это на самом деле реальная проблема.
Костыль - это между прочим основной паттерн проектирования в геймдеве.
Цитата:
Дядя Миша писал: Меняет фейковые двери на настоящие, ставя на их место func_wall
И что в этом такого? Если это выглядит как дверь и ведет себя как дверь, то это - дверь.
Цитата:
Дядя Миша писал: Скажите пожалуйста, вероятность запутаться в этой куче почти похожих функций сильно отличается от вероятности запутаться в списке однотипных энтить, для которых Джек и кварк хотя бы рисуют стрелочки от активатора к цели?
То что скрипты решат все проблемы, это иллюзия такая. Ничерта они не решат. На сложную задачу лучше сделать отдельную энтить-контроллёр, а не ломать голову в поисках волшебной концепции, которая разом решит все проблемы человечества и подымет цену на нефть до 150 баксов за баррель.
Вот поглядите, пожалуйста: человек сам выдумал с потолка тезис и сам же его героически попытался опровергнуть, а теперь пытается доказать, что окружающие неправы.
Дядя Миша
Что за дурацкие претензии вообще? Мод вышел? Вышел. Работает? Работает. А как там внутри все устроено? Да всем на это плевать! Если мод полон багов - это вина разработчика, а не движка. Скрипты там или энтити или хрен пойми что - никого это не интересует. Игрок видит игру а не движок.
Дядя Миша писал: Расскажи как много гвоздей тебе удалось закрутить отвёрткой
Хорошая отвертка (ну то есть движок) должна подстраиваться под задачи пользователя. А если в ответ на просьбу добавить в движок, например, поддержку скриптов, разработчик начинает говниться и нести какую-то чушь про правильную и неправильную архитектуру, то такого разработчика нужно гнать на мороз имхо.