Charfly: идеи для персонажей

Есть у меня один знакомый мастер, и даже программист. Начинающий. Линукс, свитер, с бородой не вышло.
И в один прекрасный день, водя свою партию этот мастер понял, что имена придумывать на ходу геморно. И некоторые детали внешнего вида. Да и вообще, так пусто в голове, когда надо хоть что-то новое выдать. Ну, бывает пусто. В своей голове пусто — используем чужую.


Решил он проблему, написав простенький генератор персонажа. Взяв из интернета разные таблички.
И вот это всё обрастало, обрастало и наконец вроде как уже и довольно много накопилось.
Вот и решил этот мой знакомый, которого я знаю с лица да с изнанки, решил поделиться всё же всем этим с общественностью. Ну точнее, проект с самого начала на GitHub'е лежал в открытом репозитории, но кто ж его найдёт, верно?

Собственно, вот оно.
Написано всё это дело на Python, есть GUI на Gtk+, и GUI на Qt.
Поля «Национальность» и «Пол» влияют на генерируемое имя.
К единому нормальному переводу тоже пока ничего не приведено.
Протестировано работа на linux (работает без нареканий) и под Windows 7 (работает так, как и полагается работать на винде — непонятно, как оно работает, но вроде бы работает; я словил странную ошибку при запуске Qt, говорящую о том что что-то не установлено, несмотря на то что всё установлено).

За таблички выражаю благодарность Брайану Джеймсону и его книжке Gamemastering, а также корнику по Дневнику Авантюриста, откуда были частично взяты таблички отношений.

Буду рад почти что любой критике — прошу, воздержитесь от вопросов «Зачем ты это сделал?» и фраз «Ненужно».
Также очень буду рад различным советам от программистов — как по возможной более грамотной структуризации и оптимизации, так и по теме портирования на платформы, отличные от линукса.

Ну вот как-то так. Всем привет.

41 комментарий

avatar
Может я чего-то не понимаю, но вы бы хоть скомпилили его или что.
Воспользоваться им на машине с windows не представляется возможным. Качать и устанавливать пайтон тоже не очень хочется ради одного проекта.
avatar
Буду очень рад, если вы мне подскажете, какой утилитой воспользоваться. Мой собственный поиск привёл к py2exe, но, к сожалению, оно работает для python 2, тогда как у меня используется python 3, который заметно отличается.
Я потому и выложил сюда «как есть» — решил что стоит выложить хоть так уж, чем искать полгода нужные утилиты. Конечно, я ещё потыркаюсь в этом направлении.
avatar
Ну начнём сначала
ImportError: No module named 'rollingdice.fudge'
Сама папка rollingdice пуста :)
avatar
Если что, это субмодуль. И не моя вина, что Git работает с ними так.
git pull
git submodule init
git submodule update

После всё на местах будет.
avatar
Минусить не буду, но, вообще-то, ваша.
Вы предлагаете сообществу посмотреть/помочь и сами же не предоставляете материал нормально.
avatar
Эт да, уже понял в целом ☺
Вообще, спасибо за отзывы. Учусь, что уж.
avatar
Так, а если я не юзаю клиент гита, то хрен я получу сабмодули, верно?
avatar
Походу, да.
Потому что архив
github.com/sullome/charfly/archive/master.zip
субмодули не содержит.
avatar
Гейство какое-то. Ладно, завтра попробую победить.
avatar
Вот это для меня новость, не знал, что оно так работает.
Спасибо за наблюдение.
avatar
Я потому и выложил сюда «как есть» — решил что стоит выложить хоть так уж, чем искать полгода нужные утилиты. Конечно, я ещё потыркаюсь в этом направлении.

То есть в этом виде оно не юзабельно?
Нужны пляски с бубном, чтобы запустить это поделие + >200 метров на QT?

Да, хтмл-страничка невыгодно отличается размером :)
avatar
Вот это да…
Огромное спасибо, займусь добавлением.

Кстати, сейчас понял ещё что забыл сказать. Имена динамически подключаются, т.е. достаточно в определённом формате скинуть их в нужные папки…
Ещё раз спасибо, вспомнил, что ещё забыл сделать XD
avatar
Пойду-ка я форкну твой проект :)
Щитаю, пайтон, ГТК, КуТэ и прочее — из пушки по кудяпликам.

P.S. О сколько таких генераторов уже написано %)
avatar
C удовольствием гляну на них, если ссылками поделишься.
Питон, ну… Для меня он чуть сильнее shell того же. Т.е. довольно простая штука. Пиши я на C — вот это было бы из пушки по воробушкам.
Gtk и Qt… Ну как бы основной скрипт вообще консольный, а других графических тулкитов я просто пока не знаю. Буду рад если расскажешь-покажешь что сейчас развивается и поддерживается ещё более-менее активно.

P.S. А что добавить думаешь? Вообще, не вижу смысла форкать, можешь же просто патч предложить. Или как там это делается. Мне как бы не влом добавить в проэкт что-то новое с указанием авторства. А плодить 500 разных генераторов думаю фигня. Знал бы сам о каких готовых — присоединился бы.
avatar
Я не знаю пайтона, я пихипишник — поэтому только форк, никаких патчей. Веб-интерфейс — наше всё!

Да, тот самый. У меня в репозиториях должен быть npcGen — это я генерил 40 обыкновенных эльфийских школьников.

А плодить 500 разных генераторов думаю фигня.
Каждый, кто пишет генератор — так не считает %)
avatar
> Веб-интерфейс — наше всё!
Вот с этим, пожалуй, не соглашусь. Интернет штука крайне нестабильная — к примеру, в тех же 12 комнатах у меня за пять минут было где-то три-четыре разрыва один раз. В другой раз вообще проблем не было. Так что всегда когда как. И зависеть от наличия интернета для меня — огромный минус. Потому и фильмы и музыку и программы — всё на флешку или винт, чтоб было локально и работало без интернета ☺
Ну а локальная программа с веб-интерфейсом для меня вообще какое-то чудо-юдо из разряда «зачем?»

> У меня в репозиториях должен быть npcGen — это я генерил 40 обыкновенных эльфийских школьников.
Спасибо, погляжу…

> Каждый, кто пишет генератор — так не считает %)
Вот ты и увидел человека, который так считает. Локального генератора, который удовлетворял бы моим требованиям, я пока не видел. Да и вообще я пока не видел локального генератора идей для персонажа. Пока что.

> Да, тот самый.
СПб, Ролекон Север? ☺
avatar
На самом деле, в его словах есть доля истины. Html ты на любой системе откроешь браузером и там всё будет работать.
Если я правильно его понял, конечно.
avatar
Ну на самом деле для PHP тоже нужен интерпретатор, как и для Python.
Только вот обычно на винде PHP уже установлен.
В linux обычно и python стоит готовенький.
avatar
Окей, есть ещё javascript )
avatar
… который как язык программирования упоротый и наркоманский
avatar
Только вот обычно на винде PHP уже установлен.
*приподнял бровь*
Да ладно?
avatar
И зависеть от наличия интернета для меня — огромный минус.
А зачем? можно же и html-based application, то есть на JS. Это правда уже веселее, но все же — есть же к примеру tiddlywiki — вики, работающая без сервера.

Ну а локальная программа с веб-интерфейсом для меня вообще какое-то чудо-юдо из разряда «зачем?»
mourningtail Html ты на любой системе откроешь браузером и там всё будет работать.
Если я правильно его понял, конечно.
Совершенно правильно.
avatar
(работает так, как и полагается работать на винде — непонятно, как оно работает, но вроде бы работает; я словил странную ошибку при запуске Qt, говорящую о том что что-то не установлено, несмотря на то что всё установлено).

А вот это вообще обходится установкой локального вебсервера (скажем, денвер), а если уж не хочется — то использованием SQLite, к которому даже есть JS-интерфейс :)

Да, и даже Ролекон-север.
avatar
Ты меня заранее прости. Сейчас будет очень грубая шутка. Очень. Просто задело и меня довольно сильно твои высказывания. Ничего против тебя как ролевика со стажем и всё такое не имею, и против тебя как человека в целом. Потому очень прости, но...
‎xxx‎: И ЭТОТ ГОВОРИТ ПРО ПУШКОЙ ПО ВОРОБЬЯМ?
xxx: вебсервер для дайсометалки
xxx: :/
yyy: > Я не знаю пайтона, я пихипишник — поэтому только форк
yyy: вся суть «пхпшников»
‎yyy: 90% из них — ТАКИЕ
‎yyy: человек даже не знает, что такое форк
‎yyy: и готов переписывать с языка на язык
‎yyy: и при этом, наверное, называет себя программистом

Не удержался, друзьям-программистам показал.
avatar
Не удержусь, спрошу.
Друзья-программисты не объяснили основ гитхаба и не смогли подобрать способ скомпилить exe?
На самом деле, на винде проще было взять MS VS C++ или C#, нарисовать формочки, кнопочки раскидать, списки привязать. Но это моё непрограммистское мнение.
avatar
Друзья-программисты не объяснили основ гитхаба и не смогли подобрать способ скомпилить exe?
Я не просил — они и не объясняли. Как бы, зачем, если это нужно мне, а не им? Да и как бы винда всё равно штука ненужная. Зато вот недавно объяснили, что пилить гуишку действительно стоило бы через web-интерфейс, благо у питона для этого всё делается проще простого.
На самом деле, на винде проще было взять MS VS C++ или C#
Ты сейчас не пошутил, верно?
C# хуже Java — косит под неё, но работает только на винде, т.е. полностью сводя на ноль всю основу и преимущество Java — независимость от платформы.
C++ для написания, на секундочку, генератора идей для персонажа, который (генератор) почти на 99% состоит из работы со строками. В C++ это конечно сделать можно, но работа со строками в Python гораздо проще и прозрачнее. И это уже не пушкой по воробьям — это требушетом по кукушке (пока разложишь, пока зарядишь...)
avatar
Даже на ассемблер могу!

который (генератор) почти на 99% состоит из работы со строками.
перл или лисп, так, на секундочку, более пригоден для работы со строками.

Я не просил — они и не объясняли. Как бы, зачем, если это нужно мне, а не им?
Нужно мне — не просил. Хм… Логика от меня ускользает. Ладно.

P.S.
Очень красиво — обсуждать человека за его спиной, вырывая фразы из контекста и вкидывая их друзьям-дорогим. Зачот, это по-нашему, по-интернетовски!
avatar
Ну вообще, фразы из контекста я не вырывал, а скинул им собственно всю эту вот страничку. Так что не, норм.
avatar
*не удержался*

Пойду-ка скину своим друзьям страничку.
avatar
Извиняю. (Надо на тебя посмотреть на ролеконе) Мои друзья сказали бы о твоих друзьях-программистах то же самое. Не вижу смысла мутить дискуссию с тобой о том, что такое форк.

Да-да, и где ты видишь веб-сервер для дайсометалки? И да, готов переписать с языка на язык. В теории.
avatar
(Надо на тебя посмотреть на ролеконе)
А не опасаешься разочароваться в подрастающем поколении? ☺
А так вообще — с удовольствием пообщаюсь, если только не будешь переносить споры о программировании на меня.
avatar
разочароваться в подрастающем поколении?
Куда уж дальше то? После 3 лет работы в школе…
avatar
Так одно дело в школе, а другое дело студенты ☺
Уже не меняются люди.
avatar
P.P.S. это ты Karel Wintersky, который Star'нул мой репозиторий?
avatar
Поскольку установить и посмотреть воочию нельзя, решила код полистать.

Я, конечно, не змееуст сильна в Извилистом Пути Питона спец…
Получается, можно получить такое гордое японское имя как Нюня? Или там Бугага? Фуфуфу?
avatar
Получается что так оно и есть, правда шансы невелики.
Но эта часть кода в данный момент вообще генератором не используется — не нужно, да и написано ЭТО было довольно давно и не особо адекватно XD

P.S. А зачем скриншотить код? Это же текст, его можно прямо текстом и вставить в сообщение, даже тэг для этого есть соответствующий, удобнее же.
avatar
все равно теперь уже сообщение по ответа на него отредактировать не смогу.

ПС. Просто больше люблю код с цветовой подсветкой;)
avatar
С японскими именами, «собирающимися» из каны — халява!
avatar
В чём халява, я немног не понял?
avatar
Халява в этом: github.com/sullome/jang/blob/master/kana.py#L21

Честно говоря, единственное, чем пока твой проект полезен — это этой папкой:

github.com/sullome/charfly/tree/master/data/jang
avatar
/me развёл руками
Я вроде ещё в самом начале топика написал, зачем оно мне ☺
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.