Создание карты на основе текста худлита
| |
al_mt | Дата: Вторник, 23 Сентября 2014, 00:48 | Сообщение # 1 |
постоянный участник
Сейчас нет на сайте
| Пишу, небольшую приблуду (язык PHP+mysql но это не важно в данном случае) для полуавтоматической генерации игрушек на основе текстов книг. Это не ИИ, и так... имитация эмуляции
Я в данный момент сделал следующее: 1. Скрипт проезжает текст, собирает все имена собственные и группирует их, чтобы собрать отдельными кучками все именования каждого персонажа. Алгоритм предельно примитивен - если слово в середине предложения начинается с большой буквы и его нет в словаре исключений, то считаем слово именем. На удивление %% ошибок менее 10.
2. Для каждого имени собираю контекст (тупо на N слов до и после), выкидываю слова из словаря исключений, ищу ключевые слова свойств персонажа (из словаря). Например, слово "мужик" = -1 к богатству, +1 к силе, -1 к доброте, +1 к хитрости. Получаем начерно список свойств.
Теперь надо собрать список локаций У меня даже идей нет, как к вопросу подступиться. Вернее, я когда-то эту задачку уже штурмовал и "отступил бросая технику и тяжёлое вооружение" Но теперь у меня задача проще. Допустимый уровень ошибок, весьма высок - если пользователю поиграться, то и так сойдёт, а если хочется "по настоящему" - поправит ручками.
И вот вопрос: как на основе текста художественной книги (про эльфей в звёздных войнах ) составить список локаций, и путь перемещения персонажей по ним?
|
|
| |
vanvanich | Дата: Вторник, 23 Сентября 2014, 01:14 | Сообщение # 2 |
почетный гость
Сейчас нет на сайте
| Локации по идее должны тоже начинатся с большой буквы . Попробуй искать слова типа "пустыня" , "равнина" , "долина" после них должно стоять название по идее . А также просто составь список локаций вручную и поищи общее .
|
|
| |
Ordan | Дата: Вторник, 23 Сентября 2014, 02:06 | Сообщение # 3 |
Главный зомби
Сейчас нет на сайте
| Все имена эльфов ты не забьешь в справочник, названия локаций тоже, как компьютер отреагирует на локацию "Татуин" или неведомую эльфийскую фигню. Нужно парсить не по словам, а по фразам из которой будет понятно это обращение к персонажу(а соответственно имя) или это отсылка к локации.
Цитата недели: Из-за леса, из-за гор, кишки, месиво, хардкор. (Берсерк ТВ-2)
Мои проекты ТЫК Мои видяхи на ютубэ ТЫК
Если ты споришь с идиотом, вероятно тоже самое делает и он.
|
|
| |
OpenGOO | Дата: Вторник, 23 Сентября 2014, 07:08 | Сообщение # 4 |
почти ветеран
Сейчас нет на сайте
| al_mt, для начала выпиши предложения в которых упоминаются локации и проведи анализ по каким признакам ты определяешь, что это локации. Если ты не сможешь найти эти признаки, то не сможешь это запрограммировать.
Мои проекты: - Свободный и открытый клон World Of Goo - TrueEngine2D (2D игровой фреймворк основанный на FreeBASIC)
[GameMaker: Studio v1.4.9999]
|
|
| |
al_mt | Дата: Вторник, 23 Сентября 2014, 11:27 | Сообщение # 5 |
постоянный участник
Сейчас нет на сайте
| Ordan, наоборот - любое слово в середине предложения, с большой буквы КРОМЕ блокированных слов, считается именем. Эльфийские имена кстати хватает отлично
Насчёт локаций, да, спасибо логично, наверно так и попробую.
|
|
| |
Lariay | Дата: Вторник, 23 Сентября 2014, 14:19 | Сообщение # 6 |
FireCat
Сейчас нет на сайте
| А как быть с именами и кличками гномов к примеру? Даин II Железностоп Твоя программа даст 2 имени, Даин и Железностоп?
Мало стать первым, нужно, чтобы все остальные сдохли! (с) Чингисхан
Критика должна учить, но не убивать.
|
|
| |
al_mt | Дата: Вторник, 23 Сентября 2014, 14:54 | Сообщение # 7 |
постоянный участник
Сейчас нет на сайте
| Да. И ручками их в единый блок.
|
|
| |
daun | Дата: Вторник, 23 Сентября 2014, 16:31 | Сообщение # 8 |
постоянный участник
Сейчас нет на сайте
| Perpetuum Mobile. Куча имен и мест, и никакого сюжета, в чем смысл, не проще просто рандомить.
|
|
| | |
vanvanich | Дата: Вторник, 23 Сентября 2014, 20:11 | Сообщение # 10 |
почетный гость
Сейчас нет на сайте
| Там надо очень хороший АИ .
|
|
| |
Lertmind | Дата: Вторник, 23 Сентября 2014, 22:08 | Сообщение # 11 |
заслуженный участник
Сейчас нет на сайте
| Идея бредовая, чем быстрее бросишь, тем лучше. 1. Если игрок придумывает сюжет, то путь перемещения тебе не нужен и получается что ты всего лишь получишь имена и локации из книги, которые проще придумать или сгенерировать. 2. Локации можно узнать по контексту, но будет сложно узнать кто именно куда перемещается. А учитывая, что существо тоже может быть местом прибытия...
|
|
| |
al_mt | Дата: Вторник, 23 Сентября 2014, 22:56 | Сообщение # 12 |
постоянный участник
Сейчас нет на сайте
| Начнём с того, что надо попробовать собрать хоть какую-то инфу о локациях.
|
|
| |
NEBR | Дата: Вторник, 23 Сентября 2014, 23:08 | Сообщение # 13 |
почти ветеран
Сейчас нет на сайте
| Интересная идея. Это получается, в итоге игра сама будет генерировать мир для игрока? Взависимости от книги, которую он загрузит? Амбициозная, сложная идея! Удачи автору!
King Size #Gamiron12
|
|
| |
vanvanich | Дата: Вторник, 23 Сентября 2014, 23:13 | Сообщение # 14 |
почетный гость
Сейчас нет на сайте
| Чую код разрастется на мегабайты ...
|
|
| |
lvovand | Дата: Среда, 24 Сентября 2014, 00:10 | Сообщение # 15 |
старожил
Сейчас нет на сайте
| Цитата vanvanich ( ) Чую код разрастется на мегабайты ... а еще словарей сколько нужно, по которым все сравнивать, и цель итоговая как-то расплывчата.
Если все равно сюжет думает игрок, то простой словарь имен и словарь локаций, и великий рандом с задачей вполне бы себе справлялись. А там уж сделать разбивку на темы в словарях, варианты перемещений и т.п.
Разработка и продвижение сайтов. Дизайн
|
|
| |
Ordan | Дата: Среда, 24 Сентября 2014, 02:33 | Сообщение # 16 |
Главный зомби
Сейчас нет на сайте
| Тоже не вижу итога проекта, напишет игрок сюжет, а дальше что, понимаю еслиб был графон и сюжет показывался в виде киношки, а так забиваешь текст, получаешь текст, смысл?
Цитата недели: Из-за леса, из-за гор, кишки, месиво, хардкор. (Берсерк ТВ-2)
Мои проекты ТЫК Мои видяхи на ютубэ ТЫК
Если ты споришь с идиотом, вероятно тоже самое делает и он.
|
|
| |
OpenGOO | Дата: Среда, 24 Сентября 2014, 10:00 | Сообщение # 17 |
почти ветеран
Сейчас нет на сайте
| al_mt, Можно проще решить задачу по поиску локаций, собираются все имена, а игрок сам указывает что это: локация, имя персонажа, название предмета и т.д. Всё равно таких названий будет не так много.
Или ещё вариант это на первом этапе размечать текст специальными тегами (сперва их надо придумать) в ручную, потом создать редактор, потом создать автоматизированную систему.
У тебя генератор карт и движок уже готов или ты на поиске локаций застрял?
Мои проекты: - Свободный и открытый клон World Of Goo - TrueEngine2D (2D игровой фреймворк основанный на FreeBASIC)
[GameMaker: Studio v1.4.9999]
Сообщение отредактировал OpenGOO - Среда, 24 Сентября 2014, 12:31 |
|
| |
al_mt | Дата: Четверг, 18 Декабря 2014, 23:31 | Сообщение # 18 |
постоянный участник
Сейчас нет на сайте
| Фффххууу!!! Неделю света не было! На 6-й день, согласно первоисточнику, купил генератор. На 7-й свет дали
Неделю ничего не делал блин. Вернее читал том "ИИ - современный подход" и кодил карандашиком по бумаге при свечах Натурально.
Короче назначение данного скрипта - для интернет-библиотеки. 1. Приходит автор худлита "...и вонзил кинжал в глаз злобному Орку! Прекрасная Ик пала к его ногам...". 2. Нажимает последовательность кнопочек 3. Получает несколько игрушек на HTML5 4. Счастье! Счастье! Счастье!
Разумеется афффтор нетленки не программист и в большинстве случаев вообще относится к "проклятой железке" с сомнительной осторожностью. Потому заставлять его размечать текст тэгами - означает загробить всё дело. "Компутер должен сам" (с)
В принципе придумал алгоритм, который будет разбираться с локациями, да ещё и обучаться на основе коррекций творимых авторами ррррроманоффф. Так же, в принципе, понятно, как сделать, чтобы персонажи двигались по карте локаций. ИМХО этих данных будет достаточно для тупых стрелялок, платформеров и игр типа варкрафта (упрощённых).
Даже по генерации аватар идеи в общем есть, хотя гемора тааааммм... Добавлено (03.11.2014, 16:39) --------------------------------------------- Ух! Сегодня наконец-то начало получаться с определением локаций. В общем: находит персонажей, локации, затем для каждого упоминания каждого персонажа определяет его локацию. Конечно, всё это порой выдаёт забавные результаты, но... Пошёл делать графический интерфейс для отображения перемещения персонажей по локациям.
Вот с генерацией графических аватар, пока траблы Даже не знаю, как подступиться. Уж очень многовариантная конструкция получается Добавлено (18 декабря 2014, 23:31) --------------------------------------------- Закончил первый этап Скрипт автоматически пишет заготовку для диздока. Списки персонажей, их свойства. Списки локаций, кто с кем в локациях сражается.
Какую книгу попробовать? Называйте. Для чистоты эксперимента
|
|
| |
Эргалон | Дата: Пятница, 19 Декабря 2014, 02:25 | Сообщение # 19 |
Вездесущий
Сейчас нет на сайте
| al_mt, Хоббит: Туда и обратно
Кубариум Rise of the dark lords
|
|
| |
OpenGOO | Дата: Пятница, 19 Декабря 2014, 13:56 | Сообщение # 20 |
почти ветеран
Сейчас нет на сайте
| Давай с Колобка, может и осилит -))
Мои проекты: - Свободный и открытый клон World Of Goo - TrueEngine2D (2D игровой фреймворк основанный на FreeBASIC)
[GameMaker: Studio v1.4.9999]
|
|
| |
|