XNWP

XNWP
XNWP
Редактор персонажа
eXtended Notes
Предыдущая программа Tropegen
Разработка
Статус Завершён
Разработка 13.10.22 — 19.04.23
Активная: 10.04.23 — 19.04.23
Последняя версия 1.0 от 19.04.23
Написан на Python 3.11 (kivymd 2.1.0)
Инструменты GitHub Actions, Visual Studio Code, python: [pydantic, flake8, mypy, black]
Платформы Windows, Linux, Android
Статистика
Строк кода .py: 4207
.json: 1386
Коммитов 41

XNWP — редактор персонажей для мобильных устройств. Попытка сделать продолжение Tropegen'а с уходом в сторону повышенной кастомизируемости. Основная логика XNWP проста до банальности и умещается в 60 питонячьих строчек.

  1. Навигация:
  2. Абстракции
  3. Свойства
  4. Генераторы
  5. Персонажи
  6. Сравнение с Tropegen
  7. Ссылки

Абстракции

Свойства

Свойства — кирпичики для создания персонажей. Базовые свойства для удобства разделены по группам. Каждое свойство хранит следующие данные: имя свойства, значение свойства, иконка, выбранный генератор и его аргументы.

screenОкно редактирования свойства

Генераторы

Генераторы — упрощение Tropegen'овых законов рандомизации. Основная их задача — выдать какое-то значение. В XNWP реализовано 5 генераторов:

screenВыбор другого генератора
screenНастройки генератора свойства "Политические взгляды"

Персонажи

Персонажи — контейнеры для свойств. На самом деле в них можно представлять вообще любые сущности. При создании нового персонажа на основе шаблонного, все характеристики, имеющие генераторы, заполнятся новыми случайными значениями. Свойства персонажа разделяются на те же группы, на которые разделялся шаблон.

screenОкно редактирования персонажа

Сравнение с Tropegen

Tropegen XNWP
Язык программирования, фреймворк и фактически-поддерживаемые платформы
C# 7.3 (Windows Forms) Python 3.11 (kivymd)
Windows Android
Время запуска и остановки на целевой платформе
< 0.5 с > 8 с
< 0.1 с > 5 с
если не дождаться и закрыть приложение раньше, то повредится .json файл
Формат кастомизации, сериализации и размер элементов
.xml .json
.tgc (own binary) .json
~ 160 байт ~ 24 Кбайт
Возможности переноса
  • Свободное управление файлами каталога на Windows: перенос списков персонажей
  • Свободное управление файлами каталога на Windows: перенос user_db баз данных и профилей с списками персонажей
  • Изменения сохраняются, но перенос с Android-устройства невозможен

Ссылки