Вторник, 26 Ноября 2024, 08:05

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Мультиплеер с использованием MSQL
lapendownДата: Воскресенье, 22 Сентября 2013, 23:52 | Сообщение # 1
постоянный участник
Сейчас нет на сайте
Здравствуйте, форумчане! Помогите! Как создать мультиплеер в юньке с исп. MSQL? Может уроки какие есть. Буду очень благодарен) Простите за такое короткое описание, тороплюсь.
ggmanДата: Понедельник, 23 Сентября 2013, 01:41 | Сообщение # 2
постоянный участник
Сейчас нет на сайте
Прежде чем развивать тему, ответь пожалуйста на вопросы:
Ты знаешь что такое MYSQL и зачем он используется?
Как лично ты хочешь его использовать?
OrdanДата: Понедельник, 23 Сентября 2013, 02:36 | Сообщение # 3
Главный зомби
Сейчас нет на сайте
lapendown, facepalm
первый же гугл запрос выдал нужную тебе инфу, так что гугли сынок


Цитата недели: Из-за леса, из-за гор, кишки, месиво, хардкор. (Берсерк ТВ-2)

Мои проекты ТЫК
Мои видяхи на ютубэ ТЫК

Если ты споришь с идиотом, вероятно тоже самое делает и он.
lapendownДата: Понедельник, 23 Сентября 2013, 23:47 | Сообщение # 4
постоянный участник
Сейчас нет на сайте
ggman, MSQL - базы данных
lvovandДата: Понедельник, 23 Сентября 2013, 23:57 | Сообщение # 5
старожил
Сейчас нет на сайте
lapendown, следующий вопрос - различия MSQL от MYSQL

Разработка и продвижение сайтов. Дизайн
lapendownДата: Вторник, 24 Сентября 2013, 00:51 | Сообщение # 6
постоянный участник
Сейчас нет на сайте
Ordan, ссылочку скинешь на урок?

Добавлено (24.09.2013, 00:51)
---------------------------------------------
lvovand, sql - это язык запросов, который используют различные СУБД - системы управления базами данных. А вот MySql и есть одна из таких СУБД

lvovandДата: Вторник, 24 Сентября 2013, 01:04 | Сообщение # 7
старожил
Сейчас нет на сайте
о синтаксисе SQL речи не было,
mSQL и MySQL это не одно и то же, это в теме этой уже все вперемешку стало


Разработка и продвижение сайтов. Дизайн
OrdanДата: Вторник, 24 Сентября 2013, 02:17 | Сообщение # 8
Главный зомби
Сейчас нет на сайте
lapendown, в двух словах mSQL - в основном используется для работы в локальной сети, имеет мощный инструментарий для работы с базами и их создания; MySQL - в основном используется в большинстве сайтов, баз данных форумов и тп, так же в ммо проектах.
Цитата (lapendown)
Ordan, ссылочку скинешь на урок?

Цитата (Ordan)
lapendown,
первый же гугл запрос выдал нужную тебе инфу, так что гугли сынок


Цитата недели: Из-за леса, из-за гор, кишки, месиво, хардкор. (Берсерк ТВ-2)

Мои проекты ТЫК
Мои видяхи на ютубэ ТЫК

Если ты споришь с идиотом, вероятно тоже самое делает и он.
lapendownДата: Вторник, 24 Сентября 2013, 08:58 | Сообщение # 9
постоянный участник
Сейчас нет на сайте
Ordan, первый запрос в гугле - видеозапись с ютуба. Урок 4GameFree: "Как создать мультиплеер". Ничего там об БД нет.
DIMMДата: Вторник, 24 Сентября 2013, 09:35 | Сообщение # 10
частый гость
Сейчас нет на сайте
lapendown, что же вы всё не хотите учиться самостоятельно? Программист, разработчик - это человек который может самостоятельно корректно сформулировать вопрос, на основании которого найти корректный ответ.

Если по существу: для создания мультиплеера в любой игре требуется использование базы данных, либо, другие структуры хранения данных. MySql - по сути подойдёт, но, возможно, стоит обратить внимание на другие СУБД. Всё зависит от прогнозируемой загрузки сервера, количества запросов к БД.

Как бы я реализовывал мультиплеер на Юнити:
1. Создаём БД
2. Создаём необходимые таблицы в БД (для хранения шмота, координат местоположения игроков и т.п.)
3. Создаём серверную часть (можно в принципе на любом ЯП, хоть C#, хоть JS. Выбирайте к чему больше душа лежит)
4. Создаём клиентскую часть (собственно, сама игра)

Схема такова:
1. Игрок производит действие
2. Клиентское приложение отправляет запрос серверу на разрешение совершения такого действия, переходит в режим ожидания
3. Сервер проверяет поступающие данные (очень узкое место, стоит на это обратить внимание, данным от клиента доверять НЕЛЬЗЯ НИКОГДА)
4. Сервер делает запрос в БД
5. БД возвращает статус запроса: успешно/неуспешно
6. Сервер делает запрос на новые данные в БД (лишним не будет)
7. Сервер отправляет новые данные клиенту (изменение координат игрока, к примеру)
8. Клиент отрисовывает следующий кадр.
9. Всё заново

При этом, клиент всегда получает данные о состоянии объектов в N-ой области вокруг себя. Чем больше область - тем выше нагрузка на сервер и БД. Я определял подобное методом научного Тыка

Именно код вам вряд ли кто-то предоставит здесь. ИМХО - век живи, век учись. Главное - не ленитесь.

И да, судя по вопросу, вы плохо знакомы не только с ЯП, но и с Юнити. Сделайте сначала игру на одного игрока, набирайтесь опыта, нельзя прыгнуть выше головы.


Сообщение отредактировал DIMM - Вторник, 24 Сентября 2013, 09:45
IrondustДата: Вторник, 24 Сентября 2013, 11:36 | Сообщение # 11
участник
Сейчас нет на сайте
DIMM, Вариант который вы предложили подойдёт разве что для браузерных социалок вроде фермы - великоватое время отклика. Для реалтамовых игр лучше взять сетевой движок вроде фотона, а в MySQL только сохранять данные игрока вроде статистики, уровня и т.д.

Топикстартеру рекомендую плагин Easy Save 2-он позволяет довольно просто сохранять что угодно в sql таблички, вплоть до изображений и аудиофайлов
DIMMДата: Вторник, 24 Сентября 2013, 12:46 | Сообщение # 12
частый гость
Сейчас нет на сайте
Irondust, согласен, мускул имеет большое время отклика. Если честно, не сравнивал скорость между популярными СУБД, если у вас есть подобная статистика - было бы круто если бы вы её разместили или в теме (на будущее), или в виде отдельной статьи (на более далёкое будущее).

Простую статистику найти в сети легко, а вот на реальных данных было бы просто круто.
lapendownДата: Вторник, 24 Сентября 2013, 15:18 | Сообщение # 13
постоянный участник
Сейчас нет на сайте
Цитата (DIMM)
lapendown, что же вы всё не хотите учиться самостоятельно?

Кто сказал, что я не хочу учиться самостоятельно? Надо же от чего-то отталкиваться? Разве есть смысл изобретать велосипед с нуля, когда велосипед уже изобретен, и люди могут поделиться со мной, допустим, его чертежами, детальками biggrin (упрт)

Цитата (DIMM)
И да, судя по вопросу, вы плохо знакомы не только с ЯП, но и с Юнити. Сделайте сначала игру на одного игрока, набирайтесь опыта, нельзя прыгнуть выше головы.

С Юнити знаком более двух лет. С Яп тоже знаком.

Цитата (DIMM)
Топикстартеру рекомендую плагин Easy Save 2-он позволяет довольно просто сохранять что угодно в sql таблички, вплоть до изображений и аудиофайлов

Спасибо, погуглю насчет плагина этого.

DIMM, и тебе спасибо
DronCodeДата: Вторник, 24 Сентября 2013, 16:39 | Сообщение # 14
Best Byte forever
Сейчас нет на сайте
MySQL для мультиплеера? Омг ребята, он совсем не для мультиплеера нужен. Для хранения данных о битве (или что там у вас) юзайте Memcached или Redis, но не как ни MySQL и прочие БД на SQL. Бери NoSQL СУБД (Два шикарных варианта я тебе дал).
MSql - легковесная клиент-серверная реляционная СУБД. (не юзал и не думаю что она подойдет для таких целей)
MySQL - для сайтов или не шибко нагруженных систем.
PostgreSQL - эта вещь будет помощнее и синтаксис получше (SQL запросы) и она больше подходил для hightload проектов.
SQLite3 - тоже подойдет тебе, но только в том случае, если тебе надо потом собирать огрызки как логи. А так быстрая и надежная СУБД.
Redis - NoSQL СУБД. Основана на принципе хранения данных по типу : "ключ"-"значение". Типы данных : string, integer, list (вроде ещё есть, погуглите если я не все написал)
Memcached - NoSQL СУБД. Тот же принцип что и у Redis, но данные она серелизует под строку, поэтому иногда проигрывает по производительности Redis'у.
Это все варианты с которыми я работал.


Занимаюсь программированием на PHP, JavaScript (jQuery), C# (не Unity3d!), Action Script 3.0 (в основном клепаю игрушки под соц сети.), Node.JS
Недавно стал изучать Python.
lapendownДата: Вторник, 24 Сентября 2013, 17:47 | Сообщение # 15
постоянный участник
Сейчас нет на сайте
DronCode, Большое Спасибо!
e-lenaДата: Среда, 02 Октября 2013, 23:19 | Сообщение # 16
был не раз
Сейчас нет на сайте
MySQL можно прекрасно использовать и на нагруженных игровых проектах:
1. Увеличить кеши для запросов.
2. Интенсивно используемые таблицы целиком держать в оперативной памяти
3. Спроектировать нормальную структуру БД. С индексами и прочими плюшками
4. Местами отказаться от третьей нормальной формы БД
5...
6. PROFIT!


миру мир
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг