HLFX.Ru Forum
профиль •  правила •  регистрация •  календарь •  народ •  FAQ •  поиск •  новое •  сутки •  главная •  выход  
HLFX.Ru Forum HLFX.Ru Forum > Наш форум > Компьютерные игры > Диалоги о модах к халфе
Как та самая передача про животных, только про моды к халфе
Страницы (7): « 1 2 3 [4] 5 6 7 »   Предыдущая тема   Следующая тема
Автор
Тема Новая тема    Ответить
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32188
Нанёс повреждений: 392 ед.

Рейтинг



Цитата:
XaeroX писал:
Не будем показывать на героя пальцем

Ну он как бы не совсем ушёл

__________________
My Projects: download page

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

Цитата:

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

Сообщить модератору | | IP: Записан
Сообщение: 172858

Старое сообщение 08-06-2018 20:39
-
nemyax
Нёмыч

Дата регистрации: Jul 2011
Проживает: (void)
Сообщений: 4133

Рейтинг



Цитата:
Ku2zoff писал:
З.Ы. А как насчёт модов к халфе-то?

Ну я вот смотрю, в мод Headcrab Frenzy народ на стиме фспаигрувает =)

Сообщить модератору | | IP: Записан
Сообщение: 172859

Старое сообщение 08-06-2018 21:09
- За что?
FiEctro
Кот Арсис

Дата регистрации: Aug 2006
Проживает: код
Сообщений: 12882
Возраст: 32

Рейтинг



>> Сколько месяцев у тебя ушло, прежде чем ты наконец понял, куда надо кликать два раза, чтобы твой функ-ротатинг ротатился именно так, как тебе нужно? Но ты ведь нипочём уже не признаешься...

Любая программа ориентированная на пользователей, должна быть интуитивно понятной, и охватывать как можно большую аудиторию. Иначе ты отсеешь большую часть пользователей, оставив только пару гиков, но у гиков есть свои движки

Впрочем Волатила насколько я помню имеет как и ВМ так и минимальный набор энтитей, и это я считаю вполне разумным подходом.

Сообщить модератору | | IP: Записан
Сообщение: 172860

Старое сообщение 09-06-2018 05:52
- За что?
nemyax
Нёмыч

Дата регистрации: Jul 2011
Проживает: (void)
Сообщений: 4133

Рейтинг



Цитата:
FiEctro писал:
Любая программа ориентированная на пользователей, должна быть интуитивно понятной

То, что интуитивно понятно одному пользователю, другой пользователь может считать леденящей душу дичью.

Сообщить модератору | | IP: Записан
Сообщение: 172861
Метки: кстате да

Старое сообщение 09-06-2018 06:50
- За что?
 XaeroX
Crystice Softworks

Дата регистрации: Oct 2005
Проживает: Торонто
Сообщений: 34498
Нанёс повреждений: 514 ед.
Возраст: 37

Рейтинг



Награды
 
[1 награда]


Цитата:
FiEctro писал:
Волатила насколько я помню имеет как и ВМ так и минимальный набор энтитей, и это я считаю вполне разумным подходом.

Ну так я же учёл ошибки и с вами советовался уже на ранних этапах разработки новой версии.
Цитата:
nemyax писал:
То, что интуитивно понятно одному пользователю, другой пользователь может считать леденящей душу дичью.

+1
При этом скриптовый подход уже много лет стандарт де-факто, а настойки у энтитей у каждого свои.
Может быть, скоро стандартом станут кисметы/блупринты. Но по сути это те же скрипты, где параметры одних функций и return-ы других соединяешь мышкой. Для тех, кто на дух не переносит печатать на клавиатуре что-то сложнее targetname-ов.

__________________
Правдой дорожить, лжи не потакать,
Дальних не судить, ближним помогать,
С тишиной сойтись на исходе дня
Научи меня, Родина моя!

Сообщить модератору | | IP: Записан
Сообщение: 172862

Старое сообщение 09-06-2018 06:56
-
FiEctro
Кот Арсис

Дата регистрации: Aug 2006
Проживает: код
Сообщений: 12882
Возраст: 32

Рейтинг



Цитата:
nemyax писал:
То, что интуитивно понятно одному пользователю, другой пользователь может считать леденящей душу дичью.


Владелец жигулей тоже может считать иномарки дичью, чтож теперь всем на жигулях ездить? Если части пользователей эта система доставляет неудобства, она уже не является интуитивно понятной.

Сообщить модератору | | IP: Записан
Сообщение: 172863

Старое сообщение 09-06-2018 08:03
- За что?
 XaeroX
Crystice Softworks

Дата регистрации: Oct 2005
Проживает: Торонто
Сообщений: 34498
Нанёс повреждений: 514 ед.
Возраст: 37

Рейтинг



Награды
 
[1 награда]


Цитата:
FiEctro писал:
Владелец жигулей тоже может считать иномарки дичью, чтож теперь всем на жигулях ездить?

Жигули это func_rotating, иномарка - это скрипты?

__________________
Правдой дорожить, лжи не потакать,
Дальних не судить, ближним помогать,
С тишиной сойтись на исходе дня
Научи меня, Родина моя!

Сообщить модератору | | IP: Записан
Сообщение: 172865

Старое сообщение 09-06-2018 08:26
-
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32188
Нанёс повреждений: 392 ед.

Рейтинг



Спор ни о чём, т.к. ни один вменяемый человек с нуля не разбирается, а всегда по аналогии. Разработчики игры дают пример как использовать инструменты, человек пробует повторить, у него получается, а после этого он уже идёт читать документацию и вникать в тонкости. Это и есть главный критерий удачности системы. Если не удалось сделать по аналогии простейшую вещь, не заглядывая в доки - система гавно, а автор - член партии справедливая россия.

__________________
My Projects: download page

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

Цитата:

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

Сообщить модератору | | IP: Записан
Сообщение: 172867

Старое сообщение 09-06-2018 08:42
-
FiEctro
Кот Арсис

Дата регистрации: Aug 2006
Проживает: код
Сообщений: 12882
Возраст: 32

Рейтинг



Цитата:
XaeroX писал:
Жигули это func_rotating, иномарка - это скрипты?


Зависит от реализации.

Отредактировано FiEctro 09-06-2018 в 09:13

Сообщить модератору | | IP: Записан
Сообщение: 172869

Старое сообщение 09-06-2018 09:11
- За что?
 XaeroX
Crystice Softworks

Дата регистрации: Oct 2005
Проживает: Торонто
Сообщений: 34498
Нанёс повреждений: 514 ед.
Возраст: 37

Рейтинг



Награды
 
[1 награда]


FiEctro
В каком смысле - от реализации?
От местоположения галочек функ-ротатинга в окошке свойств? От названия скриптовых функций?

Добавлено 09-06-2018 в 16:27:

Цитата:
FiEctro писал:
Если части пользователей эта система доставляет неудобства, она уже не является интуитивно понятной.

Приведи пример интуитивно понятной относительно сложной системы (которая по твоей логике удобна абсолютно всем пользователям).

__________________
Правдой дорожить, лжи не потакать,
Дальних не судить, ближним помогать,
С тишиной сойтись на исходе дня
Научи меня, Родина моя!

Сообщить модератору | | IP: Записан
Сообщение: 172870

Старое сообщение 09-06-2018 09:27
-
FiEctro
Кот Арсис

Дата регистрации: Aug 2006
Проживает: код
Сообщений: 12882
Возраст: 32

Рейтинг



>> В каком смысле - от реализации?
От местоположения галочек функ-ротатинга в окошке свойств? От названия скриптовых функций?

От IDE в которой ты работаешь. Я вот например не видел, чтобы тот же Джек позволял редактировать Lua скрипты внутри.

>> Приведи пример интуитивно понятной относительно сложной системы (которая по твоей логике удобна абсолютно всем пользователям).

Первая квака, энтитии для маппинга, квейк си для скриптов, это довольно примитивный пример, но я думаю ты поймешь о чем я.

Конечно в идеале желательно чтобы вся серверная часть (по возможности) была на скриптах. Т.е. вся игровая логика должна быть доступна для редактирования. Хочешь шутан пишешь, хочешь гонки, хочешь овечек.

Энтитии же это уже универсальный набор особо не завязанный на игровой логике (кстати может быть написан на тех же скриптах), содержащий самые базовые пресеты.

Сообщить модератору | | IP: Записан
Сообщение: 172877

Старое сообщение 09-06-2018 12:47
- За что?
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32188
Нанёс повреждений: 392 ед.

Рейтинг



Пользователю удобно то, что ему привычно. Все попытки нагородить огород в рассчете на удобство и красоту как правило заканчиваются ничем. Хотите примеров? Возьмем язык Си. Для массовой аудитории это был первый язык, потому что язык B использовался только внутри AT&T и широкого распространения не получил. А теперь задумайтесь, почему большинство востребованных современных языков наследует от Си как минимум синтаксис. Точно так же и с энтитями. Кармак придумал эту систему объектов, параметры которых могут быть описаны комплиментарной парой key-value. В эту схему укладывается абсолютно любое описание. Единственный относительный недостаток такого подхода это то, что эти описания сжирают вполне реальные эдикты, что несколько расточительно. Так что и нечего тут выдумвать акторы какие-то, скрипты. Ну для сложных систем наверное имеет смысл подключить lua какой-нибудь и писать скрипты на нём. Но тут уже встаёт другой вопрос - а как это корректно увязать с сейв-рестором и сменой уровней? Вы обратите внимание что современные движки неохотно дружат и с тем и с другим, этот вопрос всячески заминается.

Добавлено 09-06-2018 в 16:55:

Да вот хотя бы взять пример увязки Lua с модом Жэки Area 51.
Возьмем типичный скрипт

C++ Source Code:
1
function script_alarm_1()
2
 
3
FireTargetsDelayed('sirena',ePlayer,USE_ON, 0);
4
FireTargetsDelayed('hurt',ePlayer,USE_ON, 0);
5
FireTargetsDelayed('cv_airfilt_offline',ePlayer,USE_ON, 10);
6
FireTargetsDelayed('comp_toxins_present',ePlayer,USE_ON, 25);
7
FireTargetsDelayed('cv_warnyellow',ePlayer,USE_ON, 35);
8
FireTargetsDelayed('particle_hurt',ePlayer,USE_ON, 0);
9
FireTargetsDelayed('scientist_camera_0001',ePlayer,USE_ON, 0);
10
FireTargetsDelayed('scientist_camera_00001',ePlayer,USE_ON, 0);
11
 
12
end;

Чем эта функция принципиально отличается от мульти менеджера?
Хорошо, возьмем другую.
C++ Source Code:
1
function door_54()
2
local mydoor  = FindEntityByTargetname(entity(0),'door_light_1');
3
while not IsNullEntity(mydoor) do
4
  mydoor.frame = 1 - mydoor.frame;
5
mydoor = FindEntityByTargetname(mydoor,'door_light_1');
6
end;
7
end;

Меняем pev->frame на двери. Перебираем в цикле все энтити в мире, чтобы найти нужную.
Хорошо, может примеры неудачные? давайте возьмем посложнее
C++ Source Code:
1
function door_swap( doornumber )
2
local fSwap = flags.GetBool('Door'..tostring(doornumber)..'_State');
3
if not fSwap then
4
  local eDoor1a = FindEntityByTargetname(eNullEntity,'door_'..tostring(doornumber)..'_a1');
5
if not IsNullEntity( eDoor1a ) then
6
  eDoor1a.effects = ClearBits( eDoor1a.effects, EF_NODRAW );
7
eDoor1a.solid = SOLID_BSP;
8
ConPrint( 'Origin: '..tostring(eDoor1a.origin) );
9
end;
10
local eDoor2a = FindEntityByTargetname(eNullEntity,'door_'..tostring(doornumber)..'_a2');
11
if not IsNullEntity( eDoor2a ) then
12
  eDoor2a.effects = ClearBits( eDoor2a.effects, EF_NODRAW );
13
eDoor2a.solid = SOLID_BSP;
14
end;
15
local eDoor1 = FindEntityByTargetname(eNullEntity,'door_'..tostring(doornumber)..'_1');
16
if not IsNullEntity( eDoor1 ) then
17
  eDoor1.effects = SetBits( eDoor1.effects, EF_NODRAW );
18
eDoor1.solid = SOLID_BSP;
19
end;
20
local eDoor2 = FindEntityByTargetname(eNullEntity,'door_'..tostring(doornumber)..'_2');
21
if not IsNullEntity( eDoor2 ) then
22
  eDoor2.effects = SetBits( eDoor2.effects, EF_NODRAW );
23
eDoor2.solid = SOLID_BSP;
24
eDoor2.origin = eDoor2a.origin;
25
end;
26
else
27
  local eDoor1a = FindEntityByTargetname(eNullEntity,'door_'..tostring(doornumber)..'_a1');
28
if not IsNullEntity( eDoor1a ) then
29
  eDoor1a.effects = SetBits( eDoor1a.effects, EF_NODRAW );
30
eDoor1a.solid = SOLID_BSP;
31
end;
32
local eDoor2a = FindEntityByTargetname(eNullEntity,'door_'..tostring(doornumber)..'_a2');
33
if not IsNullEntity( eDoor2a ) then
34
  eDoor2a.effects = SetBits( eDoor2a.effects, EF_NODRAW );
35
eDoor2a.solid = SOLID_BSP;
36
end;
37
local eDoor1 = FindEntityByTargetname(eNullEntity,'door_'..tostring(doornumber)..'_1');
38
if not IsNullEntity( eDoor1 ) then
39
  eDoor1.effects = ClearBits( eDoor1.effects, EF_NODRAW );
40
eDoor1.solid = SOLID_BSP;
41
end;
42
local eDoor2 = FindEntityByTargetname(eNullEntity,'door_'..tostring(doornumber)..'_2');
43
if not IsNullEntity( eDoor2 ) then
44
  eDoor2.effects = ClearBits( eDoor2.effects, EF_NODRAW );
45
eDoor2.solid = SOLID_BSP;
46
end;
47
end;
48
flags.SetBool('Door'..tostring(doornumber)..'_State',not fSwap,MISSION_NUMBER+1);
49
end;

Что это такое? Это костыль, обусловленный наличием отсутствия в HLFX парент-системы. Меняет фейковые двери на настоящие, ставя на их место func_wall. И вот уже моё недавнее утверждение о том, что стена может куда-то поехать или телепортироваться обретает новый смысл.
Дальше у нас идёт куча однотипных функций, что-то вроде
C++ Source Code:
1
function door_reactor2()
2
local mydoor  = FindEntityByTargetname(entity(0),'door_reactor2');
3
while not IsNullEntity(mydoor) do
4
  mydoor.frame = 1 - mydoor.frame;
5
mydoor = FindEntityByTargetname(mydoor,'door_reactor2');
6
end;
7
end;
8
 
9
function door_reactor2_2()
10
local mydoor  = FindEntityByTargetname(entity(0),'door_reactor2_2');
11
while not IsNullEntity(mydoor) do
12
  mydoor.frame = 1 - mydoor.frame;
13
mydoor = FindEntityByTargetname(mydoor,'door_reactor2_2');
14
end;
15
end;
16
 
17
function reactor_wall_01()
18
local mydoor  = FindEntityByTargetname(entity(0),'reactor_wall_1');
19
while not IsNullEntity(mydoor) do
20
  mydoor.frame = 1 - mydoor.frame;
21
mydoor = FindEntityByTargetname(mydoor,'reactor_wall_1');
22
end;
23
end;
24
 
25
function reactor_wall_02()
26
local mydoor  = FindEntityByTargetname(entity(0),'reactor_wall_2');
27
while not IsNullEntity(mydoor) do
28
  mydoor.frame = 1 - mydoor.frame;
29
mydoor = FindEntityByTargetname(mydoor,'reactor_wall_2');
30
end;
31
end;
32
 
33
function reactor_wall_03()
34
local mydoor  = FindEntityByTargetname(entity(0),'reactor_wall_3');
35
while not IsNullEntity(mydoor) do
36
  mydoor.frame = 1 - mydoor.frame;
37
mydoor = FindEntityByTargetname(mydoor,'reactor_wall_3');
38
end;
39
end;

Скажите пожалуйста, вероятность запутаться в этой куче почти похожих функций сильно отличается от вероятности запутаться в списке однотипных энтить, для которых Джек и кварк хотя бы рисуют стрелочки от активатора к цели?
То что скрипты решат все проблемы, это иллюзия такая. Ничерта они не решат. На сложную задачу лучше сделать отдельную энтить-контроллёр, а не ломать голову в поисках волшебной концепции, которая разом решит все проблемы человечества и подымет цену на нефть до 150 баксов за баррель.

Добавлено 09-06-2018 в 16:59:

ЗЫ. Забыл самое вкусное упомянуть - FireTargetsDelayed скорее всего расходует эдикты на создание задержки, либо задерживается средствами виртуальной машинки, но тогда не факт, что это корректно дружит со сменой уровней. Собственно в моде Жэки мы переодически и наблюдаем какие-то странно залипшие двери. Это ни в упрёк никому, это на самом деле реальная проблема.

__________________
My Projects: download page

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

Цитата:

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

Сообщить модератору | | IP: Записан
Сообщение: 172881

Старое сообщение 09-06-2018 13:59
-
Government-Man
Призрак

Дата регистрации: Apr 2006
Проживает: N/A
Сообщений: 3507

Рейтинг



Награды
 
[1 награда]


Цитата:
Дядя Миша писал:
Это костыль


Костыль - это между прочим основной паттерн проектирования в геймдеве.

Цитата:
Дядя Миша писал:
Меняет фейковые двери на настоящие, ставя на их место func_wall


И что в этом такого? Если это выглядит как дверь и ведет себя как дверь, то это - дверь.

Цитата:
Дядя Миша писал:
Скажите пожалуйста, вероятность запутаться в этой куче почти похожих функций сильно отличается от вероятности запутаться в списке однотипных энтить, для которых Джек и кварк хотя бы рисуют стрелочки от активатора к цели?
То что скрипты решат все проблемы, это иллюзия такая. Ничерта они не решат. На сложную задачу лучше сделать отдельную энтить-контроллёр, а не ломать голову в поисках волшебной концепции, которая разом решит все проблемы человечества и подымет цену на нефть до 150 баксов за баррель.


Вот поглядите, пожалуйста: человек сам выдумал с потолка тезис и сам же его героически попытался опровергнуть, а теперь пытается доказать, что окружающие неправы.

Дядя Миша
Что за дурацкие претензии вообще? Мод вышел? Вышел. Работает? Работает. А как там внутри все устроено? Да всем на это плевать! Если мод полон багов - это вина разработчика, а не движка. Скрипты там или энтити или хрен пойми что - никого это не интересует. Игрок видит игру а не движок.

Сообщить модератору | | IP: Записан
Сообщение: 172882

Старое сообщение 09-06-2018 15:09
- За что?
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32188
Нанёс повреждений: 392 ед.

Рейтинг



Цитата:
Government-Man писал:
Если это выглядит как дверь и ведет себя как дверь, то это - дверь.

Россия тоже выглядит как страна, а на деле сырьевая колония.

Цитата:
Government-Man писал:
а теперь пытается доказать, что окружающие неправы.

То что окружающие неправы не нуждается в доказательствах с моей стороны. Это подразумевается по умолчанию

Цитата:
Government-Man писал:
Если мод полон багов - это вина разработчика, а не движка.

Расскажи как много гвоздей тебе удалось закрутить отвёрткой и почему ты так хреново это сделал. Может у тебя руки кревые?

__________________
My Projects: download page

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

Цитата:

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

Сообщить модератору | | IP: Записан
Сообщение: 172883

Старое сообщение 09-06-2018 15:21
-
Government-Man
Призрак

Дата регистрации: Apr 2006
Проживает: N/A
Сообщений: 3507

Рейтинг



Награды
 
[1 награда]


Цитата:
Дядя Миша писал:
Расскажи как много гвоздей тебе удалось закрутить отвёрткой


Хорошая отвертка (ну то есть движок) должна подстраиваться под задачи пользователя. А если в ответ на просьбу добавить в движок, например, поддержку скриптов, разработчик начинает говниться и нести какую-то чушь про правильную и неправильную архитектуру, то такого разработчика нужно гнать на мороз имхо.

Сообщить модератору | | IP: Записан
Сообщение: 172884

Старое сообщение 09-06-2018 15:57
- За что?
Тема: (Опционально)
Ваш ответ:



Переводчик транслита


[проверить длину сообщения]
Опции: Автоматическое формирование ссылок: автоматически добавлять [url] и [/url] вокруг интернет адресов.
Уведомление по E-Mail: отправить вам уведомление, если кто-то ответил в тему (только для зарегистрированных пользователей).
Отключить смайлики в сообщении: не преобразовывать текстовые смайлики в картинки.
Показать подпись: добавить вашу подпись в конец сообщения (только зарегистрированные пользователи могут иметь подписи).

Временная зона GMT. Текущее время 21:08. Новая тема    Ответить
Страницы (7): « 1 2 3 [4] 5 6 7 »   Предыдущая тема   Следующая тема
HLFX.Ru Forum HLFX.Ru Forum > Наш форум > Компьютерные игры > Диалоги о модах к халфе
Как та самая передача про животных, только про моды к халфе
Версия для печати | Отправить тему по E-Mail | Подписаться на эту тему

Быстрый переход:
Оцените эту тему:

Правила Форума:
Вы not можете создавать новые темы
Вы not можете отвечать в темы
Вы not можете прикреплять вложения
Вы not можете редактировать ваши сообщения
HTML Код ВЫКЛ
vB Код ВКЛ
Смайлики ВКЛ
[IMG] Код ВКЛ
 

< Обратная связь - HLFX.ru >

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