Elite Games - Свобода среди звезд!
.
ВНИМАНИЕ!
Наша конференция посвящена космической тематике и компьютерным играм.
Политические вопросы и происходящие в мире события в данный момент на нашем сайте не обсуждаются!

  » Использование баз данных в "элитных" играх. |
Конференция предназначена для общения пилотов. Для удобства она разделена на каналы, каждый из которых посвящен определенной игре. Пожалуйста, открывайте темы только в соответствующих каналах и после того, как убедитесь, что данный вопрос не обсуждался ранее.

Search | Conference rules | Album | Register | Pilots list | Profile | Log in to check your private messages | Log in

   Page 1 of 1
 
Поиск в этой теме:
Канал Игры Мечты: «Использование баз данных в "элитных" играх.»
Как лучше управляться с данными в больших играх?
Данные упаковываются в компанентах программы вместе с кодом.
10%
 10%  [ 1 ]
Использовать отдельные гипертекстовые файлы.
10%
 10%  [ 1 ]
Написать простую СУБД заточенную под конкретный проект.
20%
 20%  [ 2 ]
Подобрать готовую СУБД наиболее подходящую в данном случае.
60%
 60%  [ 6 ]
Total Votes : 10
Zachesa
 151 EGP


Рейтинг канала: 4(95)
: 13
Posts: 1420
Location: Хабаровск
Joined: 12 Nov 2007
Обсуждаем вопрос использования СУБД для хранения данных в игровых проектах.
Так или иначе любая программа это код и набор данных, причём постоянно модифицируемых как в процессе разработки, так и в зависимости от вида программы -- в процессе её исполнения.
Игровой проект не исключение, а яркое подтверждение данного тезиса, тем более в играх данные наиболее разнообразны.
Возможно в небольшой игре данные не так многочисленны и управляться с ними не трудно, что нельзя сказать о проекте где речь идёт о множестве планет космолётов и станций, к коим относятся "элитные" игры.
_________________
Язык Образов, для ситуационного моделирования, программирования и как язык мысли, думающей машины.

Last edited by Zachesa on 10:35 09-11-2008; edited 1 time in total
    Posted: 10:34 09-11-2008   
Diff
 708 EGP


Модератор
Рейтинг канала: 2(11)
: 44
Posts: 4179
Location: Сферическая Земля в вакууме.
Joined: 04 Jul 2003
Телега впереди паровоза.
Имхо, вопрос надо ставить не "Для чего бы нам использовать БД?", а "Имеются данные такой-то структуры, такого-то объема, движок программы предъявляет к ним такие-то требования. Как их организовать?" Но без конкретизации перечисленного (и много чего еще) вопрос смысла не имеет.
Лично мне не кажется, что объем данных игры, хоть элитной, хоть нет, требует организации БД.
_________________
Конец света в конце тоннеля

Last edited by Diff on 13:11 08-12-2008; edited 2 times in total
    Posted: 03:18 08-12-2008   
Zachesa
 151 EGP


Рейтинг канала: 4(95)
: 13
Posts: 1420
Location: Хабаровск
Joined: 12 Nov 2007
Вот столкнулся с таким затруднением, есть желание использовать для своего проекта Oracle.
Количество объектов будет огромным по этому есть идея сделать отдельные базы для каждой планеты. Основной плюс возможность разнести часть баз со временем на разные сервера (не надо будет мудрит с кластером), возможность отдельного администрирования баз.
Ускорение работы проекта за счёт дублирования программ обработчиков событий для каждой планеты, в общем распараллеливание вычислений естественным путём.
Отдельная база для характеров индивидов, а также для транспортных средств и стационарных космических комплексов. Программы игрового ИИ будут работать непосредственно с ней.
Отдельная база для товаров и расчёта экономики мира UEF.
Также можно сделать отдельную базу для объектов микромира и обработки звёздной механики.
Базы для планет создавать копируя некоторую эталонную базу с усреднёнными параметрами без объектов, потом частично в ручную, частично автогенерацией формировать уникальные свойства, ландшафт и при необходимости флору и фауну, в плоть до индивидов и продуктов их жизнедеятельности.
В общем затруднение в том, что сделать программный комплекс на нескольких базах, при чём число будет постоянно увеличиваться -- как с этим хозяйством справиться Совсем запутался... пока в голове не может уложиться.
_________________
Язык Образов, для ситуационного моделирования, программирования и как язык мысли, думающей машины.

Last edited by Zachesa on 05:40 25-07-2010; edited 1 time in total
    Posted: 07:10 08-12-2008   
Diff
 708 EGP


Модератор
Рейтинг канала: 2(11)
: 44
Posts: 4179
Location: Сферическая Земля в вакууме.
Joined: 04 Jul 2003
Размах впечатляет. Вообще, почему бы и нет. Только по-моему, 90% данных там будут статичными - то есть однажды забитыми и никогда не изменяемыми. Нужна ли здесь база? Может, да, а может и нет.

Zachesa wrote:
В общем затруднение в том, что сделать программный комплекс на нескольких базах, при чём число будет постоянно увеличиваться -- как с этим хозяйством справиться Совсем запутался... пока в голове не может уложиться.


Ты слишком сильно размахнулся. Тут от простого к сложному идти надо.
Отдельные базы для каждой планеты - в любом случае безумие.
_________________
Конец света в конце тоннеля
    Posted: 13:27 08-12-2008   
Zachesa
 151 EGP


Рейтинг канала: 4(95)
: 13
Posts: 1420
Location: Хабаровск
Joined: 12 Nov 2007
Diff wrote:
Отдельные базы для каждой планеты - в любом случае безумие.
Согласен что сначала надо сделать все планеты в одной базе в виде наборов таблиц, которые при развитии проекта могут быть легко перенесены в новую базу.
_________________
Язык Образов, для ситуационного моделирования, программирования и как язык мысли, думающей машины.
    Posted: 08:33 28-12-2008   
Zachesa
 151 EGP


Рейтинг канала: 4(95)
: 13
Posts: 1420
Location: Хабаровск
Joined: 12 Nov 2007
Определился окончательно использовать несколько баз для проекта UEF на основе PostgreSQL, с Oracle у меня нет времени и сил разбираться, тем более у этой СУБД достаточные возможности для творческих изысков (даже с половиной ещё не разобрался Улыбка )
Пока это будет четыре базы на одном сервере, потом по мере развития проекта основную базу можно будет вынести на отдельный сервер, а далее уж выносить таблицы с группами объектов в новые базы на другие сервера (здесь как уже принято на канале КИМ раздаётся дружный смех).
Основная база будет содержать общие понятия, виды и свойства объектов, текстуры и меши, фразы, образцы договоров и формулы расчётов.
_________________
Язык Образов, для ситуационного моделирования, программирования и как язык мысли, думающей машины.
    Posted: 10:57 19-01-2009   
Zachesa
 151 EGP


Рейтинг канала: 4(95)
: 13
Posts: 1420
Location: Хабаровск
Joined: 12 Nov 2007
На новой работе познакомился с СУБД Cashe http://intersystems.ru/cache/index.html заинтриговала данная штука скоростью работы.

Что особо понравилось, так это то, что по сути идёт объединение в одной системе сервера и СУБД, снижаются расходы на запись и чтение данных. Есть аналог open source GT.M. Фактически программа на MUMPS http://ru.wikipedia.org/wiki/MUMPS обращается к данным в базе также как и к переменным в ОЗУ. Сам по себе язык MUMPS довольно примитивен (по современным понятиям) и имеет нестандартный синтаксис, но Cashe является виртуальной машиной, что ставит его вровень к примеру с Java. Потом есть инструменты для работы с Cashe при помощи других языков и сред.

Конечно это технология очень редко применяется, специалистов очень мало, отсутствует русскоязычная документация. И насколько менее требовательным был бы игровой сервер MMO игры на Cashe к ресурсам можно только представить.
_________________
Язык Образов, для ситуационного моделирования, программирования и как язык мысли, думающей машины.
    Posted: 16:19 21-07-2010   
Варсик
 546 EGP


Рейтинг канала: 4(81)
: 117
Posts: 4041
Location: Москва
Joined: 22 Dec 2002
О боже... Вам в Летограф... Оно там применялось. Если конечно Летограф не умер. А вообще... Все просто: PostgreSQL в качестве тяжелого бекэнда, Memcached в качестве прослойки между бекэндом и сервером, Си в качестве движка и C#(предпочтительней Mono, ибо может много)/Lua/Python/Perl(Я фанат этого) в качестве скрипт языка. Если это веб, то FastCGI с nginx в качестве прозрачного прокси для быстрой отдачи статики и nginx поверх для балансинга, если статика отдается медленно.

Если это 3д с клиентом, то Си в качестве сервера (исключительно на Linux, так как в Венде только Completion Ports дают нормальную скорость работы но ценой оперативки и доступны только на серверах).

добавлено спустя 1 минуту:
Если-же хотите скорости при обсчете физики/чегото похожего, то Tesla S1070 вам в помощь.
_________________
WARNING: By reading this post you accept that this post is genius.

Last edited by Варсик on 21:19 21-07-2010; edited 1 time in total
    Posted: 21:19 21-07-2010   
Crimson
 560 EGP


Рейтинг канала: 4(83)
: 130
Posts: 3041

Joined: 03 Sep 2003
Zachesa wrote:
Основная база будет содержать общие понятия, виды и свойства объектов, текстуры и меши, фразы, образцы договоров и формулы расчётов.


Нахрена, я извиняюсь, текстуры и меши в основной базе? Подозрение.
    Posted: 01:51 22-07-2010   
бухой джедай
 183 EGP


Рейтинг канала: 2(19)
: 70
Posts: 7906 Предупреждений: 1
Location: Одесса:)
Joined: 08 Sep 2007
Crimson wrote:
текстуры и меши в основной базе

ну единственное что приходит в голову чтоб их можнобыло сортировать по признаку и применять в зависимости от этого ...
_________________
Так Добрый вечер...Превед с большого Бодуна...
Магистр Непросыхаемость...
Злобный Рецедивист...
    Posted: 03:04 22-07-2010   
Zachesa
 151 EGP


Рейтинг канала: 4(95)
: 13
Posts: 1420
Location: Хабаровск
Joined: 12 Nov 2007
Crimson wrote:
текстуры и меши в основной базе?
сами эти данные статичны и поэтому в базе нужно только описание их и ссылки на файлы.

Кстати сама
Zachesa wrote:
Основная база
тоже вещь довольно таки статичная и вместе с другими ресурсами будет дублироваться в клиентах, обновляясь как и сами ресурсы, так и исполняемые модули клиента по мере развития проекта. Для неё можно использовать обычный XML файл, который будет разворачиваться в ОЗУ во время работы клиентского (и серверного тоже) ПО.

Warstone wrote:
Если конечно Летограф не умер.
http://www.letograf.ru/letograf/site/products/materials/page3.html здравствует вроде бы ещё.

Мне не интересна сама по себе Каше, не считая, что мне с ней приходится работать и она кстати вызывает меньше проблем чем связка 1C8 Предприятие с MSSQL, работая с тем же объёмом данных. Интересна сама идея совмещения сервера приложений и баз данных и нет ли более современных её реализаций. То что предлагает ИнтерСистемс на самом деле красивая обёртка над лохматой технологией MUMPS.

Мне пришлось буквально ломать голову, чтоб представить мир проекта UEF в виде совокупности взаимосвязанных двухмерных таблиц. Механизм обращения с SQL СУБД, кэширование запросов к базам всё это конечно здорово и технологично, но как это далеко от реального отображения мира, в том числе и виртуального.
_________________
Язык Образов, для ситуационного моделирования, программирования и как язык мысли, думающей машины.
    Posted: 21:56 23-07-2010   
Варсик
 546 EGP


Рейтинг канала: 4(81)
: 117
Posts: 4041
Location: Москва
Joined: 22 Dec 2002
Zachesa wrote:
чем связка 1C8 Предприятие с MSSQL
Привет от убежденного Постгрешника.
Zachesa wrote:
Интересна сама идея совмещения сервера приложений и баз данных и нет ли более современных её реализаций.
ривет от постгрешника. Тут язык Хранимых процедур - любой... От PL/pgSQL (PL/SQL негодует на клона) до PL/Mono, PL/TCL, PL/Perl короче - любой.
Zachesa wrote:
но как это далеко от реального отображения мира
Откройте для себя NoSQL СУБД вообще и BerkleyDB в частности.
_________________
WARNING: By reading this post you accept that this post is genius.
    Posted: 13:24 24-07-2010   
Zachesa
 151 EGP


Рейтинг канала: 4(95)
: 13
Posts: 1420
Location: Хабаровск
Joined: 12 Nov 2007
Буквально излазил весь интернет прежде чем нашёл http://www.esiobjects.org/ -- свободная "объектно-ориентированная среда разработки и выполнения приложений" для СУБД Cashe, MSM и, самое главное для меня, недавно портированная для GT.M.

Warstone wrote:
Откройте для себя NoSQL СУБД вообще и BerkleyDB в частности.
Так об этом и речь, но вот только мне не интересна просто иерархическая СУБД, как BerkleyDB, вопрос в том что GT.M это и сервер приложений и "NoSQL СУБД" в одном флаконе. Что же касается встроенных языков хранимых процедур -- это конечно интересно, но я не видел примеров реализации сервера приложений чисто внутри таких СУБД и что-то мне подсказывает, что на это есть свои причины.
_________________
Язык Образов, для ситуационного моделирования, программирования и как язык мысли, думающей машины.
    Posted: 00:59 25-07-2010   
Zachesa
 151 EGP


Рейтинг канала: 4(95)
: 13
Posts: 1420
Location: Хабаровск
Joined: 12 Nov 2007
С GT.M пока ещё не привелось поработать, дома хочется отдохнуть от компьютера, а на работе только только выбил хлам под тестовую машину и "с дуру" решил поставить Gentoo, оказалось это не так просто Улыбка (особенно на старую машину). Есть уже запущенный сервер с FreeBSD, но нужен именно Linux под фряху надо ещё что-то допиливать.

Сам язык M (MUMPS) простой как C, но синтаксис непривычный, неприятный момент -- нет приоритета математических операций, только по порядку или скобками. Возможность писать в одну строчку и сокращать операторы до одной буквы, удобна для работы в командной строке, в тоже время ни что не мешает писать операторы полностью и каждый на новой строчке, для удобства восприятия. Можно даже препроцессор некий соорудить или вернее использовать что-нибудь готовое, который будет преобразовывать текст...

Да я прекрасно понимаю, что писать сервер игры полностью внутри GT.M -- бред, современные веб технологии рулят непременно. Но в то же время хочется попробовать что-нибудь этакое. Не зря же говорят, что новое это хорошо забытое старое.

Вот бы сделать аналогичную систему на .NET можно было бы Boo использовать и прочий "зоопарк". К примеру расширить Boo командами позволяющими работать с "глобалами" M (MUMPS), а в MONO поддержку таких операций. Самое главное, что структура и данные в "глобалах" M (MUMPS) сохраняется на диск, в отличии от обычных строк, массивов и деревьев (многомерных массивов), что и является основой иерархической СУБД кстати. Что для этого потребуется? Некая библиотека расширяющая .NET и соответственно некое расширение существующих языков для работы с этой библиотекой. В итоге не надо создавать ни какой новой СУБД, а просто реализовать библиотеку и некий демон, который будет обслуживать наши "глобалы". Блин нифига, всё равно новая СУБД получится Совсем запутался...
_________________
Язык Образов, для ситуационного моделирования, программирования и как язык мысли, думающей машины.
    Posted: 20:39 03-08-2010   
Варсик
 546 EGP


Рейтинг канала: 4(81)
: 117
Posts: 4041
Location: Москва
Joined: 22 Dec 2002
Zachesa wrote:
но я не видел примеров реализации сервера приложений чисто внутри таких СУБД и что-то мне подсказывает, что на это есть свои причины.
Вы просто, как обычно, не смотрите. Гуглите Oracle Forms и тот факт что BerkleyDB это часть Оракла.
_________________
WARNING: By reading this post you accept that this post is genius.
    Posted: 08:58 04-08-2010   
Zachesa
 151 EGP


Рейтинг канала: 4(95)
: 13
Posts: 1420
Location: Хабаровск
Joined: 12 Nov 2007
Оракл это монстр сопоставимый с продуктами M$ по сложности, а в чём-то и превышающий их, там по намешано столько всего, что сам чёрт ногу сломит.

Потом делать ставку на платную (и очень дорогую кстати) для коммерческих проектов СУБД, как и Cashe' впрочем, не хочу, поэтому и пробую понять что есть ещё такое доступное и не слишком "говёное", прошу прощения за мой французский.
_________________
Язык Образов, для ситуационного моделирования, программирования и как язык мысли, думающей машины.
    Posted: 16:18 05-08-2010   
Канал Игры Мечты: «Использование баз данных в "элитных" играх.»
 
  
Display posts from previous: 
View previous topic | View next topic |
К списку каналов | Наверх страницы
Цитата не в тему: Любимая модераторская игра - пинг-понг. (AnrDaemon О переносе тем из канала в канал и обратно)

  » Использование баз данных в "элитных" играх. |
Каналы: Новости | Elite | Elite: Dangerous | Freelancer | Star Citizen | X-Tension/X-BTF | X2: The Threat | X3: Reunion | X3: Terran Conflict | X Rebirth | X4: Foundations | EVE Online | Orbiter | Kerbal Space Program | Evochron | VoidExpanse | Космические Миры | Онлайновые игры | Другие игры | Цифровая дистрибуция | play.elite-games.ru | ЗВ 2: Гражданская война | Творчество | Железо | Игра Мечты | Сайт
   Дизайн Elite Games V5 beta.18