Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/8: Рейтинг темы: голосов - 8, средняя оценка - 4.75
 Аватар для pyatpy
3 / 2 / 0
Регистрация: 18.04.2021
Сообщений: 37

Текстовый квест, работа с БД

13.02.2022, 14:40. Показов 1770. Ответов 11

Студворк — интернет-сервис помощи студентам
Доброго времени суток, я пишу текстовый квест на python и для хранения текста использовал txt и csv но, понял что это не практично и не профессионально. БД я использую как для создания save-ов для сохранения состояния на момент прохождения квеста, сохранение внутриигровых настроек и не посредственно для хранения всевозможного текста который мы можем прочитать. Т.к квестов много и они не маленькие, в результате только текста около 1Gb(без преувеличения). Задача в том чтобы найти лучшый БД модуль на питон. Не важно, будь то SQL, No-SQL, New SQL, простой JSON, BJOS, UJOS... Главное стобы работало бысто. PS. Т.к квест(особенно хороший) дело кропотливое, то я ищу весь материал в сети, книги конвертирую в txt, разбиваю текст на части и каждую часть и прогоняю текст через for-in и каждой часть по очереди записанную в переменую прогоняю через db.set('часть номер' , 'текст'), db.dump() и все данные сохраняются в таблице.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
13.02.2022, 14:40
Ответы с готовыми решениями:

Текстовый квест, работа с csv
Хорошое время для написания квеста, тк мне отказывали с моими извращенскими просьбами написать текст-квест полностьб в py-файлах, то я...

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

Текстовый квест
Вечер добрый. Такое дело: я совсем новичок, захотелось написать простенький текстовый КВЕСТ (пока что без веток сюжета, тк сейчас чисто в...

11
155 / 120 / 38
Регистрация: 12.12.2013
Сообщений: 374
13.02.2022, 15:22
Не ясна постановка вопроса. Если БД уже используется для сейвов, то зачем нужна еще одна БД? В той же БД еще таблицу текстов сделать и все.
0
 Аватар для pyatpy
3 / 2 / 0
Регистрация: 18.04.2021
Сообщений: 37
13.02.2022, 17:38  [ТС]
Treasure Hunter, Вы не так поняли. Я использовал csv и txt для хранения информации, но понял что ето не практично, мне надо сменить БД которую я использую в качестве обработки информации на более быструю и надежную, но сколько я не перерыл информации, нигде не нашел ответ на то, какая БД лучше подойдет для моей задачи. Ранее использовал выше упомянутые спосоьы хранение информации, тк они самые простые и примитивные, а теперь мне надо выдвинуть свой проект на более высокий уровень
0
155 / 120 / 38
Регистрация: 12.12.2013
Сообщений: 374
13.02.2022, 18:26
Т.е. БД - это сейчас подразумевается то, что является csv и txt? Реальная БД не используется?
Если это так, то как предполагается играть в игру? Т.е. где предполагается держать БД, в сети или на компе, где стоит игра?

Если нет какой-то определенности с БД, то советую ОРМ использовать (типа SQLAlchemy), а не чистые SQL-запросы. Потом, если не хватит производительности, просто поменять соединение на другую БД. В таком случае можно просто на компе опробовать что-то с SQLite, а затем на большую БД перейти, если будет необходимость.
0
 Аватар для pyatpy
3 / 2 / 0
Регистрация: 18.04.2021
Сообщений: 37
13.02.2022, 18:35  [ТС]
Treasure Hunter, singleplayer only, бд с текстом, сейвами, exe-шник, файлы движка и все друг с другом, никаких серверов
0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
13.02.2022, 18:47
pyatpy, SQLite тебе за глаза хватит
1
155 / 120 / 38
Регистрация: 12.12.2013
Сообщений: 374
13.02.2022, 20:18
Цитата Сообщение от pyatpy Посмотреть сообщение
Treasure Hunter, singleplayer only, бд с текстом, сейвами, exe-шник, файлы движка и все друг с другом, никаких серверов
Если на компе, то SQLite (как и писал, можно попробовать обернуть в SQLAlchemy). Если данные можно представить в табличном виде, то это самый простой вариант будет. И быстрее, чем файловая система в Win. Если же данные проще представить как словарь (объект), то можно попробовать TinyDB (обертка json). Но по скорости может быть не будет выигрыша. Зато конвертация данных легко пройдет.
1
 Аватар для Aviz__
2753 / 2060 / 509
Регистрация: 17.02.2014
Сообщений: 9,488
13.02.2022, 20:24
pyatpy, https://ru.wikipedia.org/wiki/Сетевая_модель_OSI - уже устарела, но для понимания, самое то))
1
 Аватар для pyatpy
3 / 2 / 0
Регистрация: 18.04.2021
Сообщений: 37
13.02.2022, 23:27  [ТС]
Aviz__, спустя час, я обработал внушительный кол-во байтов инфы, преисполнился в своем познании и "сетевоведении")
Я так понял(или нет), что вы в етом вопросе более компетентны, не подскажите БД, для моего проекта, или же по словам Treasure Hunter мне подойдет sqlite3, или tinydb
0
 Аватар для Aviz__
2753 / 2060 / 509
Регистрация: 17.02.2014
Сообщений: 9,488
14.02.2022, 14:32
Цитата Сообщение от pyatpy Посмотреть сообщение
по словам
попробуй по словам одним, потом по словам другим, сделай замеры и реши сам)).
0
155 / 120 / 38
Регистрация: 12.12.2013
Сообщений: 374
14.02.2022, 15:58
Цитата Сообщение от pyatpy Посмотреть сообщение
Т.к квестов много и они не маленькие, в результате только текста около 1Gb(без преувеличения). Задача в том чтобы найти лучшый БД модуль на питон. Не важно, будь то SQL, No-SQL, New SQL, простой JSON, BJOS, UJOS... Главное стобы работало бысто.
Мое мнение, не нужно искать БД быстрее. Они почти все будут быстрее, чем файловая система. Мы же не изучаем досконально какую файловую систему применять на компе - NTFS или FAT32. Просто берем и пользуемся. Нужно искать более удобный путь для интерпретации своих данных. Что такое 1 гиг для БД? Да ничто. У нас на работе объем данных доходит до 100 тб. Вот его тяжело ворочать. Лучше представить как эти данные будут расположены. Если удобно в виде таблицы и доступ по индексам, то берем SQL. Если удобнее интерпетировать как словарь данных или объект, то берем NoSQL. Не надо брать что-то замороченное. Потом трудно будет искать ответы на вопросы, когда они возникнут. Не хватит быстродействия (что сомнительно), кешируем с помощью Redis или чего-то подобного.
Для всего, что не требует сервера БД, проще брать встроенные в Питон решения. И в этом как раз SQLite поможет.
Проблема с игрой в чем - как перенести ее на другой комп? С той же SQLite это проще всего. На новый комп нужно установить только Питон (а без него игра не будет работать и так) и перенести данные БД. Других действий не нужно.
0
 Аватар для Aviz__
2753 / 2060 / 509
Регистрация: 17.02.2014
Сообщений: 9,488
14.02.2022, 17:21
Цитата Сообщение от Treasure Hunter Посмотреть сообщение
Если удобно в виде таблицы и доступ по индексам, то берем SQL. Если удобнее интерпетировать как словарь данных или объект, то берем NoSQL.
ТС еще не заморачивался с масштабированием и адаптацией под разные условия/требования потребителя своего продукта в условиях таймаута. именно для этого разработаны архитектурные подходы, когда удобство представления в игре объектами не зависит от того, куда их мапят, в sql базы, как записи таблиц, или в записи файлах.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
14.02.2022, 17:21
Помогаю со студенческими работами здесь

Текстовый квест
Доброго времени суток господа. Возникла не большая заминка, задали написать текстовую игру на подобие квеста, минимум из 5 действий. К...

Текстовый квест
Общая архитектура текстового квеста Не понимаю как её реализовать, нужна система вывода текста на экран, как это сделать? А также...

Текстовый квест
Хочу написать текстовый квест на подобии тех, что бы ли в Космических рейнджерах, но проще, без инвентаря. Но вообще не знаю за что...

Текстовый квест
Подскажите, кто может помочь в написании текстового квест на с++?; В универе задали создать текстовый квест, что-почем, с чего начать (идея...

Текстовый квест
Привет всем. Нужно переделать текстовый квест с алгоритмического языка на php. С чего начать? Как сделать текстовое поле,в котором будут...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru