#  Опять про auto_animate
RSS-bot (tavern,2) → All  –  07:30:31 2021-04-16

peter: Посмотрел код, чтобы не забыть, опишу как работает МП. # Склонения идут от существительных Представим себе, что у нас есть -"волосатый воин". Винительный падеж будет" -"волосатого воина". Но обратите внимание, что если бы у нас был -"волосатый ящик", то винительный падеж не был бы "волосатого ящика", а остался бы "волосатый ящик". Взять "волосатый ящик". Понятно почему это происходит. Ящик - это неодушевлённый предмет, а воин - одушевлённый. Вообще, дело даже не в одушевлённости, а в том, что склонения определяются _существительным_. Ещё пример "воин заката". Склоняться будет только воин. МП всегда ищет в word существительное. Так, в "волосатый воин" он найдёт существительное "воин" и, взяв всю информацию о нём, в том числе и одушевлённость! будет склонять "волосатый" правильно. Но если есть "красный рычаг", то "красный" тоже есть в словаре как существительное. И это первое существительное в фразе, МП его и берёт. При проектировании всегда нужен баланс между простотой архитектуры и "удобством" пользователя. Повторюсь, что текущая архитектура, когда автор иногда должен уточнять род/число/одушевлённость -- видится мне приемлемой. # Одушевлённость предмета и слова Второй вопрос. Часто путают одушевлённость предмета и слова. В отличие от информ, у МП есть возможность цеплять на объект полноценные синонимы, которые могут иметь разный род, число и одушевлённость. При этом МП определяет по какому синониму обращаются к объекту и соответственно даёт реакцию с учётом этого. Поэтому в БОЛЬШИНСТВЕ случаев автоматическое одушевление это удобно. Но есть настройка, которую я привёл выше, которая отключает это поведение. Но, в любом случае, на склонение слов эта настройка не влияет. То-есть, всё-равно вам придётся решать проблему уточняя слово или добавляя его в словарь игры. Задумайтесь, у вас есть волосатый воин. Вы хотите сделать его ~animate, чтобы его можно было брать. Но склонение всё-равно должно рассчитываться так, как буд-то он одушевлённый! Взять волосатого воина! Понимаете, что одушевлённость словоформы и одушевлённость объекта -- разные вещи! Но повторюсь, настройка отключающая зависимость animate от одушевлённости слова есть. Почему она не дефулт? Потому что в 90% она удобна и потому что ПОЛЕЗНО если проблема с одушевлённостью слов вылезает на тестировании игры раньше. Хотя, вы можете писать в стиле информа, не используя синонимы через |, и используя шаблоны *. Тогда будет очень похоже на информ-логику. Но тогда вы потеряете приемущества МП.

Ссылка: http://instead-games.ru/forum/index.php?p=/discussion/comment/13712/#Comment_13712
#  Опять про auto_animate
RSS-bot (tavern,2) → All  –  13:50:38 2021-04-14

peter: Кстати, я кажется вспомнил, что приоритет существительных задан в коде. Не уверен на 100%, но выглядит логично, и кажется я это делал. То-есть, если у слова нет никаких уточнений, ищутся в первую очередь существительные. Если их нет, остальное. Так что исправлением словаря скорее всего тоже ничего не изменить, если у слова есть несколько значений.

Ссылка: http://instead-games.ru/forum/index.php?p=/discussion/comment/13710/#Comment_13710
#  Опять про auto_animate
RSS-bot (tavern,2) → All  –  13:50:38 2021-04-14

vvs: Безобразие, всюду философия :wink: Если МП - это язык, то решать данную проблему должен он. Если библиотека - то решать должен пользователь.

Ссылка: http://instead-games.ru/forum/index.php?p=/discussion/comment/13711/#Comment_13711
#  Опять про auto_animate
RSS-bot (tavern,2) → All  –  13:10:36 2021-04-14

peter: Единственное "решение" которое было бы условно правильным, это сделать наиболее распространенные случаи более приоритетными. Но этот путь порочен. Он ведёт к изменению словаря или вводу эвристики. А ведь есть совсем интересные комбинации слов. Мп не ии, он просто ищет подходящие слова в базе. Ну хорошо, правый, левый, белый, красный можно сделать патчем на словарь. Такие патчи есть в мп, например для слова "дерева". Но что это изменит? Принципально, ничего. Только спрячет механику поглубже. Зато когда автор понимает устройство словаря, никто и ничто не мешает ему использовать уточнения. Переоценка несуществующей "проблемы".

Ссылка: http://instead-games.ru/forum/index.php?p=/discussion/comment/13709/#Comment_13709
#  Опять про auto_animate
RSS-bot (tavern,2) → All  –  13:00:31 2021-04-14

peter: Пример. Допустим у нас есть "белый ящик" Если auto_animate = false то наш предмет не будет одушевлённым. Его можно будет взять. Но в винительном падеже все равно останется: белого ящика. А не белый ящик. Потому что из словаря он взял "белый" как существительное. Ну просто потому, что белый одушевленный в словаре раньше, чем белый как неодушевленный. И это не баг. Если слов в выборке много, надо уточнять. От этого никуда не деться. Те же стены. Потому что есть слово стен. Итд. Чисто практически это не приносит никаких существенных проблем. Я написал достаточно много парсеров и исключений на все игры, которые надо уточнять, буквально 4-5. Так что я повторяю свою позицию, проблема высосана из пальца. Не согласны? Ну, есть другие движки.

Ссылка: http://instead-games.ru/forum/index.php?p=/discussion/comment/13708/#Comment_13708