Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

ГЕНЕРАТОР ИМЕН В ИГРАХ.


Страницы:   1 2

Zloy Alien ©   (2003-05-02 08:17:00) 

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

И еще у кого есть желание, можно попробовать
написать свой генератор, например по таким
параметрам:
1)фентези
2)фанастика
3)обычные имена
4)замудреные имена
5).....

И подгруппы:
1)Роботов
2)Эльфов
3)Людей
4)Орков
5)И тд и тп.

Пишите свои предложения.


Gandalf   (2003-05-03 22:27:00) [21]


> Ну хорошо, а если части имён, а не слоги. Например, те,
> которые могут быть на первом месте, потом на твором и на
> третьем.


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

А с Русскими реально намучиешся, только не с древне-русскими, а с современными.

> Получается:


Ты еще КРУТОТЕЛЬ, КРУГОЗАР, ТВЕРДИГОР, ТВЕРДИЗАР и СВЯТОТЕЛЬ забыл :) Уже не супер. А вот если имя Илья, Иван, Петр, Дмитрий - безспорно русские и старые (правда с корнями из других языков), их как получишь?


Плохой человек   (2003-05-03 19:05:00) [22]

>Так хорошо получаются только английские имена. С русскими придется помучатся, разумнее - набор слогов и их сочетаемости

1:
СВЯТО
КРУТО
ТВЕРДИ

2:
ГОР
ЗАР
ТЕЛЬ
СЛАВ

Получается:

СВЯТОГОР СВЯТОЗАР СВЯТОСЛАВ КРУТОГОР КРУТОСЛАВ ТВЕРДИСЛАВ ТВЕРДИТЕЛЬ


Asteroid   (2003-05-03 18:54:00) [23]

> Плохой человек (03.05.03 17:35)
Так хорошо получаются только английские имена. С русскими придется помучатся, разумнее - набор слогов и их сочетаемости


Плохой человек   (2003-05-03 17:35:00) [24]

Ну хорошо, а если части имён, а не слоги. Например, те, которые могут быть на первом месте, потом на твором и на третьем. Например:

1:
ЭВЕР
МЕЛТ
КЛИН

2:
ДАУН
СМАЙЛ
ГРОСС

И получается:

ЭВЕРДАУН ЭВЕРСМАЙЛ ЭВЕРГРОСС МЕЛТДАУН МЕЛТСМАЙЛ МЕЛТГРОСС КЛИНДАУН КЛИНСМАЙЛ КЛИНГРОСС.

Чем вам не нравится???


Gandalf   (2003-05-03 16:34:00) [25]


> Чем вам не нравится?


Да нет не плохо, но ты подобрал удачные ведь могут получится и такие:

ФА
АФ
НОКА
ВОКА
ВОННОК
ВОНАДАЛЬ
и т.п.
Уже не супер, тем более что тебе так мало слогов не смогут сгенерить много имен, а чем сильнее ты рассширишь список, тем хуже у тебя будут получаться имена.


Плохой человек   (2003-05-03 15:30:00) [26]

>А где, кстати, взять список всех слогов русского языка ?

Нафиг надо. Так имена нормальные не получаться. Например, есть слоги и буквы:

ГЭН
ДАЛЬ
НОК
ВОН
А
Ф

Из них имена:

ГЭННОК
ГЭНДАЛЬФ
ДАЛЬНОК
ДАЛЬФ
АВОН
ГЭНВОН

Чем вам не нравится?


Gandalf   (2003-05-03 11:44:00) [27]


> Ты меня не так понял - я хочу чтобы имена генерировались
> не
> по тем которые я вписал в txt"ке или еще где, а сами по
> за-
> данному мной алгоритму...


Алгоритм для имен придумать - довольно тяжело, обычно все строится на выделении неких логички значимых конструкций (слоги, корни - буквы сами по себе не несут нагрузки), потом учитывается их положение в имени и с какими они обычно в соседях состоят, выделяют буквы связки, можно учитывать мутацию корней (е=э, йо=эо и т.п.). И далее с учетом этих данных состовляем имя - другой подход практически всегда неприемлем, поскольку так создаются имена в жизни (людьми и авторами книг - почти всегда). Тот же много уважаемый Толкиен - создал полностью свой язык, а далее комбинировал корни выражающие сущность персонажа и получал имена. Очевидно что разбор и выделение из имен частей надо доверить компьютеру он это сделает быстрее чем человек. Потому нужна библиотека имен которую надо анализировать, потом создается файл с полученой после анализа информацией, которую можно в ручную подправить и генерить имена. Еще есть метод генерации имен по маске - но он довольно убог - на практике я видел что он неплохо генерит имена из "Вавилона 5" (Г"Кар, Г"Кван и т.п. - маска довольно очевидна).




> А где твой генератор можно достать?


Пиши, отошлю.


Zloy Alien   (2003-05-03 07:33:00) [28]

2 SdlWin
Ты меня не так понял - я хочу чтобы имена генерировались не
по тем которые я вписал в txt"ке или еще где, а сами по за-
данному мной алгоритму...Просто у меня имена не получается
нормальные придумать - получается кокой-то галяк :-(( Напи-
ши свои примеры... Жду.

2 Кен
:-))))))))

2 Mop
Попробую твое предложение...

2 Gandalf
А где твой генератор можно достать?

2 Fennek^Red

> Ну блин ты нашел проблему...

Ну я не виноват если у тебя нет такой проблемы. :-(((

Пишите...


Mop   (2003-05-03 02:36:00) [29]

Попробуй буквы выбирать с помощью Random, и если например, будет больше двух гласных ставь согласную и т.д


Кен   (2003-05-03 01:09:00) [30]

"Нет такого предмета, который не смог бы послужить еврею для фамилии" © Григорий Горин.

Отсюда вывод. Пиши игру про евреев.


2 Плохой человек
А где, кстати, взять список всех слогов русского языка ?


Плохой человек   (2003-05-02 19:02:00) [31]

Сделать набор слогов и слагать их в произвольном порядке.


Gandalf   (2003-05-02 11:10:00) [32]

Я делал генератор (и даже сделал), он анализирует бибилиотеку имен и потом генерирует свои, вообщем-то не так плохо (я генерил Гномов и Хоббитов, по Толкиену) - но думаю Русские или скажем Американские он генерить уже не сможет, потому как в литературе (тоже Толкиен) - разработал довольно жесткую систему имен в которой довольно легко выделить образующие части, в время как у "нас": Дмитрий, Александр, Алексей, Леонид, Иван... - ну и что?! (половина пришла из других языков) Тут только библиотека. Тем более что мы можем оценить "реалистичность" современного Русского имени - и если получим Дминид или Леонрид, Алексрий - будем долго удивдятся. Чем имен будет больше в библиотеке тем сильнее будем удивляться, думаю не удастца уловить итемологического корня. А вот если генерить древне Русские - Святополк, Святосвав и т.п. - тут все ОК. Если интересно пиши.


Fennek^Red   (2003-05-02 10:51:00) [33]

Ну блин ты нашел проблему...


SdlWin   (2003-05-02 09:15:00) [34]

Как ты решил писать этот генератор?
Так?

var s:array[0..MaxCharInName]of char;
begin
for i:=0 to MaxCharName do begin
s[i]:=random;
end;
end;


Или может составишь список в файле Names.txt и попробуешь так(конечно в начале файла укажи кол-во имен)?;

var
Names:array of string;
F:file;
i,j:integer;
begin
assignfile(f,"names.txt");
reset(f);
readln(f,j);
setlength(names,j-1);
for i:=0 to j-1 do begin
readln(f,names[i];
end;
end;


Это наверное и сам знаешь,но ты спрашивал про генератор,и скажу тебе про генератор:не майся дурью,а составь сам;

если подождешь то могу эти имена тебе написать тут;



Sdlwin   (2003-05-02 08:58:00) [35]

Щя погоди...


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо