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

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

13.02.2022, 14:40. Показов 1744. Ответов 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__
2736 / 2046 / 506
Регистрация: 17.02.2014
Сообщений: 9,462
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__
2736 / 2046 / 506
Регистрация: 17.02.2014
Сообщений: 9,462
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__
2736 / 2046 / 506
Регистрация: 17.02.2014
Сообщений: 9,462
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
Ответ Создать тему
Новые блоги и статьи
Первый деплой
lagorue 16.01.2026
Не спеша развернул своё 1ое приложение в kubernetes. А дальше мне интересно создать 1фронтэнд приложения и 2 бэкэнд приложения развернуть 2 деплоя в кубере получится 2 сервиса и что-бы они. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит токи на L и напряжения на C в установ. режимах до и. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru