 |
Русский TADS Русский TADS. Разработка текстовых игр на русском языке. Интерактивная литература. Второй форум находится здесь.
|
Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
Gleb
Зарегистрирован: 02.06.2003 Сообщения: 6
|
Добавлено: Пн Июн 02, 2003 10:05 am Заголовок сообщения: Все падежные формы? |
|
|
Господа разработчики! Нет ли в планах на будущее каким-то образом избавиться от необходимости вводить все падежные окончания в описаниях объектов? Удобства это, мягко говоря, не добавляет. |
|
Вернуться к началу |
|
 |
GrAnd Site Admin
Зарегистрирован: 04.02.2003 Сообщения: 299 Откуда: Россия, Москва
|
Добавлено: Пн Июн 02, 2003 8:22 pm Заголовок сообщения: |
|
|
С удовольствием откажусь от такой необходимости. Только скажи, как.  |
|
Вернуться к началу |
|
 |
Gleb
Зарегистрирован: 02.06.2003 Сообщения: 6
|
Добавлено: Вт Июн 03, 2003 9:40 am Заголовок сообщения: |
|
|
GrAnd писал(а): | С удовольствием откажусь от такой необходимости. Только скажи, как.  |
А в чем проблема? Если задавать такую переменную:
"маленьк* зелен* камнеед*" |
|
Вернуться к началу |
|
 |
GrAnd Site Admin
Зарегистрирован: 04.02.2003 Сообщения: 299 Откуда: Россия, Москва
|
Добавлено: Вт Июн 03, 2003 11:33 am Заголовок сообщения: |
|
|
Ты предлагаешь это для лексических слов, или для коротких описаний вещи?
Если для лексических, то как при таком подходе как определить где творительный, а где дательный падеж? А как различить где множественное число, а где единственное?
Вот что будет происходить:
>убить камнееда
Кого вы имеете в виду: камнееда или камнеедов?
>камнееда
Кого вы имеете в виду: камнееда или камнеедов?
и т.д.
А в играх с большим количеством вещей путаница ещё больше усугубится.
Окончания важны для правильного понимания и указание падежных форм лексических слов одна из самых меньших проблем при создании игры. На это нужно менее одного процента затрачиваемого времени. Обычно, оно уходит на мучительное продумывание описаний вещей и сценария.
Если ты хочешь заставить систему саму склонять название вещи, то предлагаю посмотреть на работу "Генератора падежей". Он делает ошибки в каждом пятом слове. Нормальные склонялки весят более 4 мб и требуют семантического уточнения, так как по разному склоняют некоторые омонимы. |
|
Вернуться к началу |
|
 |
Gleb
Зарегистрирован: 02.06.2003 Сообщения: 6
|
Добавлено: Вт Июн 03, 2003 11:57 am Заголовок сообщения: |
|
|
GrAnd писал(а): | Ты предлагаешь это для лексических слов, или для коротких описаний вещи?
Если для лексических, то как при таком подходе как определить где творительный, а где дательный падеж? А как различить где множественное число, а где единственное?
Вот что будет происходить:
>убить камнееда
Кого вы имеете в виду: камнееда или камнеедов?
>камнееда
Кого вы имеете в виду: камнееда или камнеедов?
и т.д.
А в играх с большим количеством вещей путаница ещё больше усугубится.
Окончания важны для правильного понимания и указание падежных форм лексических слов одна из самых меньших проблем при создании игры. На это нужно менее одного процента затрачиваемого времени. Обычно, оно уходит на мучительное продумывание описаний вещей и сценария.
Если ты хочешь заставить систему саму склонять название вещи, то предлагаю посмотреть на работу "Генератора падежей". Он делает ошибки в каждом пятом слове. Нормальные склонялки весят более 4 мб и требуют семантического уточнения, так как по разному склоняют некоторые омонимы. |
Оставить формы дательного и творительного падежей - раз,
и заставить систему проверять - сколько объектов (реально) соответствуют вводу. Какой смысл переспрашивать скольких камнеедов ты имеешь в виду, если он там всего один? ) |
|
Вернуться к началу |
|
 |
GrAnd Site Admin
Зарегистрирован: 04.02.2003 Сообщения: 299 Откуда: Россия, Москва
|
Добавлено: Вт Июн 03, 2003 12:46 pm Заголовок сообщения: |
|
|
Gleb писал(а): |
Оставить формы дательного и творительного падежей - раз,
и заставить систему проверять - сколько объектов (реально) соответствуют вводу. Какой смысл переспрашивать скольких камнеедов ты имеешь в виду, если он там всего один? ) |
1. Если оставить с пометкой #t, #d, то нужно оставить и их формы без пометки.
2. Переспрашивать он будет всякий раз, когда будет двусмысленность.
Например, если в одной комнате будет вода и водяной. При этом различить их можно будет только по прилагательным, что очень плохо.
>убить водяного
Которого водяного вы имеете в виду: воду или водяного?
Явно, глупость.
И, наконец, неужели так трудно генератором создать все эти склонения?
P.S. Честно говоря, я не знаю как это сделать. Распознование объектов вшито в интерпретатор. |
|
Вернуться к началу |
|
 |
Gleb
Зарегистрирован: 02.06.2003 Сообщения: 6
|
Добавлено: Ср Июн 04, 2003 1:08 pm Заголовок сообщения: |
|
|
Я вообще считаю что РУТАДС -- это сейчас лучшее, ты не думай. Сейчас пишу сценарий игры, буду делать.
Но все же:
-- вод* и водян* = разные слова.
-- Формы множественного числа имеют смысл только для объектов,
которых может быть И один И много (в ИНФОРМе - группированные объекты).
Чисто мысли... |
|
Вернуться к началу |
|
 |
Gleb
Зарегистрирован: 02.06.2003 Сообщения: 6
|
Добавлено: Ср Июн 04, 2003 4:18 pm Заголовок сообщения: |
|
|
GrAnd писал(а): | Если под * подразумевается любая последовательность символов, кроме пробела, то вод* включает в себя водян*.
Вероятно, это хорошая идея, но как это реализовать так, чтобы оно всегда и правильно работало, я не знаю. |
Да это уже почти теретический треп --
у нас будет слово вода, к-рое мы будем сравнивать с вод* и водян*, последние есть свойства искомого объекта, так что проблем-то не будет... Слушай, а в РУТАДСе предопределенные объекты тоже переведены?! |
|
Вернуться к началу |
|
 |
GrAnd Site Admin
Зарегистрирован: 04.02.2003 Сообщения: 299 Откуда: Россия, Москва
|
Добавлено: Ср Июн 04, 2003 4:32 pm Заголовок сообщения: |
|
|
Запутался в ответах, своё сообщение стёр.
Насчёт трёпа - да, я в последнее время всё осторожнее делаю нововведения и сначала над ними размышляю. Мне кажется, что большой экономии времени автор не получит, а у игрока создатся впечатление что автор им пренебрегает или платформа недоработанна, раз она "правильно" понимает слова "водб" "водв" "водг" ... "водя" (это если будет noun = 'вод?', вместо 'вод*').
Проблемы когда мы не воду расматриваем по маскам, а водяного. Водяной будет подходить под них обеих.
Что ты подразумеваешь под предопределёнными объектами? Если базовые классы, то да. |
|
Вернуться к началу |
|
 |
Stas Starkov Tester
Зарегистрирован: 14.03.2003 Сообщения: 28 Откуда: Россия, г. Уфа
|
Добавлено: Вт Июл 08, 2003 3:40 pm Заголовок сообщения: |
|
|
GrAnd писал(а): | Проблемы когда мы не воду расматриваем по маскам, а водяного. Водяной будет подходить под них обеих. |
Поддерживаю тебя в необходимости ввода всех форм слова; но при этом _необходимо_ указывать авторам на твой генератор падежных форм слова и, соответственно, обновлять его одновременно с изменениями библиотек RTADS. Возможно, стоило-бы включить его и в стандартную поставку библиотек... если бы генератор имел несколько меньший объем.
Андрей, пожалуйста выложи исходники генератора. Возможно, я (а может быть кто ни будь другой ) найду время "перевести" генератор на родной и всеми любимый MS Visual C++... |
|
Вернуться к началу |
|
 |
GrAnd Site Admin
Зарегистрирован: 04.02.2003 Сообщения: 299 Откуда: Россия, Москва
|
Добавлено: Вт Июл 08, 2003 9:08 pm Заголовок сообщения: |
|
|
Я уже приложил исходники к последней версии генератора.
Fighter (настощие ФИО не знаю), уже делал MVC версию и даже
несколько изменил подход. Я был бы не против, если бы
хороший программист прочесал мой код, т.к. его донимают
memory leakи. Вообще мне нравится эта программка, и если её хорошенько отладить, то её можно использовать чтобы делать хорошие переводы почти чего угодно. Размеры её, действительно можно ужать до предела. Особенно, если на ассемблере . Тут же только операции над строками. Только я в них путаюсь  |
|
Вернуться к началу |
|
 |
Stas Starkov Tester
Зарегистрирован: 14.03.2003 Сообщения: 28 Откуда: Россия, г. Уфа
|
Добавлено: Чт Июл 10, 2003 10:04 am Заголовок сообщения: |
|
|
GrAnd писал(а): | Я уже приложил исходники к последней версии генератора. |
Извини, что вначале не посмотрел на субъект спора. Да, действительно, мсходники здесь. _Попробую_ разобраться.
GrAnd писал(а): | Я был бы не против, если бы хороший программист прочесал мой код, т.к. его донимают memory leakи. |
А что, неужели C++ Builder не проверяет это?! В VC с этим все в порядке. И дополнительные библиотеки (увеличивающие объем программы) не нужны. |
|
Вернуться к началу |
|
 |
GrAnd Site Admin
Зарегистрирован: 04.02.2003 Сообщения: 299 Откуда: Россия, Москва
|
Добавлено: Чт Июл 10, 2003 12:41 pm Заголовок сообщения: |
|
|
Дело не в компиляторе и не в IDE. Просто я внутри функции создаю строку и возвращаю её, а удалить вне этой функции её и очистить память не удаётся. В результате прога всё больше кушает память, раздувает своп и в конце-концов её надо перезапускать.
Дополнительные библиотеки к прогам от MVC не нужны, так как они вложены в сам Виндовс (по слухам). Вероятно, такая прога не будет работать на более старых версиях Виндов или других ОС. |
|
Вернуться к началу |
|
 |
Stas Starkov Tester
Зарегистрирован: 14.03.2003 Сообщения: 28 Откуда: Россия, г. Уфа
|
Добавлено: Вт Июл 15, 2003 10:25 pm Заголовок сообщения: |
|
|
GrAnd писал(а): | Дело не в компиляторе и не в IDE. Просто я внутри функции создаю строку и возвращаю её, а удалить вне этой функции её и очистить память не удаётся. |
А... Но нужно делать не так: нужно выделять память в вызывающей функции и передавать ссылку на выделенную память. Если же это невозможно (например, неизвестно сколько раз нужно будет выделить память), то необходимо вести какой-то учет, создать пополняемый во время работы программы массив ссылок (можно и фиксированной длины, но достаточно длинный), который в конце работы (цикла) даст информацию о занятой памяти.
GrAnd писал(а): | В результате прога всё больше кушает память, раздувает своп и в конце-концов её надо перезапускать. |
Честно говоря, на сегодняшних компах с сотнями мегабайт памяти, захват, предположим, килобайта в секунду это не страшно. Такими темпами 10 Мб будут израсходованы в течение примерно 2,5 часов.
GrAnd писал(а): | Дополнительные библиотеки к прогам от MVC не нужны, так как они вложены в сам Виндовс (по слухам). |
Да, это так -- они называются "системными". :-) Действительно, если программа использует некоторые функции, анонсированные позднее чем Win95, то кто-то не сможет использовать программу -- до тех пор пока не скачает нужный dll (обычно Comctl32.dll). А так как большинство стараются иметь наиболее последнюю версию всякой всячины, вероятность того, что программа запустится довольно высока. Впрочем, можно эти библиотеки и внедрить в exe-шник.
GrAnd писал(а): | Вероятно, такая прога не будет работать на более старых версиях Виндов или других ОС. |
Про другие ОС это ты хорошо сказал. :-) Как будто у тебя есть версия C++Builder для Linux|/Unix/Mac.
P.S. А перевод Generator-а я уже начал... понемногу. :-) |
|
Вернуться к началу |
|
 |
GrAnd Site Admin
Зарегистрирован: 04.02.2003 Сообщения: 299 Откуда: Россия, Москва
|
Добавлено: Вт Июл 15, 2003 11:29 pm Заголовок сообщения: |
|
|
О ссылках: покажешь, как это делается? Как только выделяю память снаружи, начинаются глюки.
На пне 1.7 МГц память зажирается с скростью 3 Мб/сек если зажать ентер
О других ОС: для того я и стал переделывать под классический Си, а не оставил операции над AnsiString, что легче. Чтобы можно было ГнуСью, например, под другие ОС переписать. |
|
Вернуться к началу |
|
 |
|
|
Вы можете начинать темы Вы можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах
|
Powered by phpBB © 2001, 2005 phpBB Group
|