Мультиплеер с использованием MSQL
| |
lapendown | Дата: Воскресенье, 22 Сентября 2013, 23:52 | Сообщение # 1 |
постоянный участник
Сейчас нет на сайте
| Здравствуйте, форумчане! Помогите! Как создать мультиплеер в юньке с исп. MSQL? Может уроки какие есть. Буду очень благодарен) Простите за такое короткое описание, тороплюсь.
|
|
| |
ggman | Дата: Понедельник, 23 Сентября 2013, 01:41 | Сообщение # 2 |
постоянный участник
Сейчас нет на сайте
| Прежде чем развивать тему, ответь пожалуйста на вопросы: Ты знаешь что такое MYSQL и зачем он используется? Как лично ты хочешь его использовать?
|
|
| |
Ordan | Дата: Понедельник, 23 Сентября 2013, 02:36 | Сообщение # 3 |
Главный зомби
Сейчас нет на сайте
| lapendown, первый же гугл запрос выдал нужную тебе инфу, так что гугли сынок
Цитата недели: Из-за леса, из-за гор, кишки, месиво, хардкор. (Берсерк ТВ-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, что же вы всё не хотите учиться самостоятельно? Кто сказал, что я не хочу учиться самостоятельно? Надо же от чего-то отталкиваться? Разве есть смысл изобретать велосипед с нуля, когда велосипед уже изобретен, и люди могут поделиться со мной, допустим, его чертежами, детальками (упрт)
Цитата (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!
миру мир
|
|
| |
|