Форум программистов, компьютерный форум, киберфорум
C# .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.55/11: Рейтинг темы: голосов - 11, средняя оценка - 4.55
Кактус
 Аватар для eocron
67 / 67 / 19
Регистрация: 23.05.2012
Сообщений: 342

Есть игра, как лучше сохранять информацию?

29.09.2013, 22:18. Показов 2064. Ответов 19
Метки нет (Все метки)

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

Какие плюсы, какие минусы, подскажите. Какие минусы/плюсы, например, при создании папки на игрока и сохранения там от 10 до 100 файлов содержащих расфасованную информацию о состоянии? (примерно по 20 на каждого, в среднем).
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
29.09.2013, 22:18
Ответы с готовыми решениями:

Как лучше сохранять вводимую информацию?
Здравствуйте! Начал писать программу для автоматизации работы сотрудника гостиницы для курсовой работы (добавление клиентов, бронирование...

Как сохранять информацию о вошедшем пользователе?
Здравствуйте. Скажите, пожалуйста, как реализовать такой функционал? - Запись IP, вошедшего на сайт, url, с которого зашел, и...

Как сохранять информацию в текстовый документ?
Всем привет, у меня запара можете подсказать как сохрать в текстовый документ инфу и доставать её от туда?

19
0 / 0 / 1
Регистрация: 29.09.2013
Сообщений: 30
30.09.2013, 00:18
бд офк
0
169 / 132 / 29
Регистрация: 16.02.2013
Сообщений: 867
30.09.2013, 01:09
Цитата Сообщение от eocron Посмотреть сообщение
Какие плюсы, какие минусы, подскажите. Какие минусы/плюсы,
бд намного быстрее будет, чем сохранение в файл. Но если игроков мало - то и файлы сойдут
0
 Аватар для Dexa
79 / 79 / 11
Регистрация: 29.08.2013
Сообщений: 263
30.09.2013, 06:55
Базы данных,плюс кукисы и сессии. С файлами и заболеваний, связанных с тромбозом, воспалением, патологическим расширением и извитостью геморроидальных вен побольше будет.
0
169 / 132 / 29
Регистрация: 16.02.2013
Сообщений: 867
30.09.2013, 08:05
Цитата Сообщение от Dexa Посмотреть сообщение
и извитостью геморроидальных вен побольше будет.
а можно узнать - почему? Ведь сессии - это те же файлы. Ну временные - но файлы! Тоесть - к примеру, если у игры онлайн 20 пользователей макс. - то можно и файлами обойтись без записи в бд. Почему нет?
0
Кактус
 Аватар для eocron
67 / 67 / 19
Регистрация: 23.05.2012
Сообщений: 342
30.09.2013, 09:13  [ТС]
Хорошо, тогда вопрос, какую БД использовать? Игра сервер-клиент типа. Одновременно может играть до 100 человек.
Программирую на C#, следовательно C# должен уметь к этой БД обращаться. Подскажите.
0
 Аватар для ITL
284 / 255 / 73
Регистрация: 17.07.2012
Сообщений: 618
30.09.2013, 10:25
а можно узнать - почему? Ведь сессии - это те же файлы. Ну временные - но файлы! Тоесть - к примеру, если у игры онлайн 20 пользователей макс. - то можно и файлами обойтись без записи в бд. Почему нет?
Файлами как-то не очень. А вдруг с файлом что)

Есть рабочая версия онлайн игры (ну как, большая часть самого скучного сделана и работает).
Все-таки написал) какой жанр?
0
6 / 6 / 0
Регистрация: 10.06.2013
Сообщений: 32
30.09.2013, 14:26
Если после первого же сбоя не хочется обороняться от разъяренных геймеров - Oracle ваш выбор.
Бюджетный вариант - MS SqlServer. Последный вариант требует прямых рук, осторожности и аккуратности...
0
 Аватар для Aloir
225 / 225 / 38
Регистрация: 17.12.2010
Сообщений: 713
30.09.2013, 15:39
можно вообще поизвращаться: сделать сереализацию класса игрока, и потом запузырить сереализованные данные в бд)))
0
 Аватар для Dexa
79 / 79 / 11
Регистрация: 29.08.2013
Сообщений: 263
30.09.2013, 15:54
Цитата Сообщение от Winhttp22 Посмотреть сообщение
а можно узнать - почему? Ведь сессии - это те же файлы. Ну временные - но файлы! Тоесть - к примеру, если у игры онлайн 20 пользователей макс. - то можно и файлами обойтись без записи в бд. Почему нет?
Сессии будут нужны только в вспомогательных целях,можно и без них,на одних куках,но лучше сессии, а вот уже сохранка в бд. Если онлай 20 человек, то избавтесь от этой глупой затеи.
0
Кактус
 Аватар для eocron
67 / 67 / 19
Регистрация: 23.05.2012
Сообщений: 342
30.09.2013, 19:42  [ТС]
Игра казуального жанра. Космическая казуалка. Хорошо, тут отписались об устойчивости, а чем, например, Oracle "обороноспособней" того же MySQL ?

Добавлено через 13 минут
Есть ли в БД такая возможность - "ветвить" таблицы? В том смысле, что делать из них дерево, узлы которого - поля в родительской таблице? Или придется создавать несколько таблиц и загонять O(n^2/2) ключей? Где n - глубина ветвления. (Я составил таблички и оказалось, что море информации занимают ключи)
0
Эксперт .NET
 Аватар для Wolfdp
3790 / 1767 / 371
Регистрация: 15.06.2012
Сообщений: 6,543
Записей в блоге: 3
02.10.2013, 14:28
Цитата Сообщение от Winhttp22 Посмотреть сообщение
а можно узнать - почему? Ведь сессии - это те же файлы. Ну временные - но файлы! Тоесть - к примеру, если у игры онлайн 20 пользователей макс. - то можно и файлами обойтись без записи в бд. Почему нет?
Потому что когда нужно выбрать, отсортировать, изменить одно поле по целой связке параметров, то придется считывать все файлы чуть ли не полностью. Или лепить кластеризацию, что тоже долго, нудно и скучно. В бд это уже давным давно всё сделано.
0
169 / 132 / 29
Регистрация: 16.02.2013
Сообщений: 867
02.10.2013, 15:49
Wolfdp, в файлах хранятся уже сериализованные обьекты игроков. Тоже самое, что и при работе с сессиями. Да, бд удобнее, не спорю, но можно и без нее обойтись, когда мало игроков
0
MЫW
 Аватар для phantom96
124 / 109 / 9
Регистрация: 15.02.2013
Сообщений: 538
02.10.2013, 16:39
Цитата Сообщение от Winhttp22 Посмотреть сообщение
Wolfdp, в файлах хранятся уже сериализованные обьекты игроков. Тоже самое, что и при работе с сессиями. Да, бд удобнее, не спорю, но можно и без нее обойтись, когда мало игроков
Из-за такого подхода в итоге страдают все. Сейчас у человека отправная точка. Онлайн маленький. И тут ему дружно говорят: "Ну нагрузка же небольшая, пили в файлы, прокатит". Проходит время. Онлайн растёт. Нагрузка растёт. А потом всё валится к чертям! А ведь можно было изначально использовать бд, что заняло бы даже меньше усилий.

Теперь немного ближе к теме. Вот тут посоветовали Oracle и MSSql, может приведёте аргументы? Я вот честно, не разбираюсь в базах и было бы очень интересно послушать, почему MySQL=зло.
0
02.10.2013, 17:24

Не по теме:

Можно ссылку на игру?:)

0
Кактус
 Аватар для eocron
67 / 67 / 19
Регистрация: 23.05.2012
Сообщений: 342
02.10.2013, 17:38  [ТС]
Нет, ссылки пока нельзя, ибо не готово полностью. (Еще много чего надо сделать, вплоть до обфускации)
Преподаватель в моем институте посоветовал пока не нагружать себя и испробовать Mongo DB. Опять же интересно услышать + и -, какие проще, какие сложнее, какие можно просто в виде файлика поместить в папку сервера, а для каких сервер поднимать? Сразу скажу, что файлы я не собираюсь использовать. Обязательно БД, ибо, как было подмечено - все уже давно и прекрасно сделано, значит имеет смысл это использовать.
0
Master of Orion
Эксперт .NET
 Аватар для Psilon
6102 / 4958 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
02.10.2013, 19:17
В студии есть прекрасные средства работы с базами, наиболее полно - с MS SQL. Ну и работайте с ней. Вся работа с данными там занимает вызов класса контекста и linq-запросы ко всему, к чему хочется. MongoDB не использовал, это по-моему вообще нереляционная БД, а с Oracle я поработал - диалект SQL убогий, среда разработки дефолтная - тоже, есть oracle sql developer - вроде ничего, но у меня заругалась на "слишком новую Java", да и невозможность качать без регистрации убивает. В общем к Oracle у меня стойкая неприязнь.
0
169 / 132 / 29
Регистрация: 16.02.2013
Сообщений: 867
02.10.2013, 20:58
Цитата Сообщение от phantom96 Посмотреть сообщение
И тут ему дружно говорят: "Ну нагрузка же небольшая, пили в файлы, прокатит".
я ему не говорю так делать, яч говорю - что можно так сделать, потому что сессии - это теже файлы.
Цитата Сообщение от phantom96 Посмотреть сообщение
А потом всё валится к чертям! А ведь можно было изначально использовать бд, что заняло бы даже меньше усилий.
а сложно потом будет все в бд затолкать из файлов?
0
Master of Orion
Эксперт .NET
 Аватар для Psilon
6102 / 4958 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
02.10.2013, 21:16
Winhttp22, если DAL грамотно построить, то ничего не стоит.
0
 Аватар для IamRain
4694 / 2702 / 734
Регистрация: 02.08.2011
Сообщений: 7,228
02.10.2013, 21:42
Можно PostgreSql dbms посмотреть, также, как и MySql - freeware, но по большинству параметров получше, чем Mysql. В skype, насколько помню, именно она используется.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
02.10.2013, 21:42
Помогаю со студенческими работами здесь

Как лучше сохранять данные
Привет. Мне нужно сохранять и считывать некоторые данные. Как это лучше сделать? Использовать XML или базы данных?

Как лучше сохранять фото в БД
Предполагается, что в БД будут храниться порядка 100 тыс. фото, размер каждой около 100-500кб. Уже определился, что в БД будут храниться...

Как сохранять информацию введенную в текстовое поле
Добрый день. Помогите, пожалуйста. Есть форма в HTML. Нужно что бы информация введенная в ячейки (пароли к темам) сохранялась локально в...

Как сохранять информацию введенную в текстовое поле
Добрый день. Помогите, пожалуйста, чайнику с такой проблемой. Есть HTML файлик. В нем список с ссылками, чуть ниже нужно вводить разные...

Как лучше всего сохранять ID пользователя?
Kak mozhno nailu4shim obrazom sohranit' ID usera na poka on nahodit'sya ve site?


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Киев стоит - украинская песня
zorxor 28.01.2026
wfWdiRqdTxc О Господи, Вечный, Ты . . . Я помоги, Бесконечный. . . Я прошу Ты. . . Я погибаю, спаси. . . Я прошу Тебя Вечный. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru