Форум программистов, компьютерный форум, киберфорум
Unity, Unity3D
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.78/55: Рейтинг темы: голосов - 55, средняя оценка - 4.78
13 / 12 / 8
Регистрация: 04.12.2013
Сообщений: 323
1

Создание MMORPG (C#, Unity3d, Network View, PHP, MySQL)

21.08.2017, 02:42. Показов 10618. Ответов 12
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте. Решил создать ММОРПГ игру. Присмотрелся к этим компонентам:

Основное программирование - C#
База Данных - MySQL
Серверное синхронизация - Network View
Язык программирования для запросов - PHP
Ну и движок само собой - Unity3d

Вопросы:
1) Получится с таким "сетапом" сделал полноценную мморпг способная "УБИТЬ" всех нынешних лидеров в ММОРПГ
2) Network View не до конца изучил, я даже хз что это... но оно вроде хорошо синхронизирует и хорошо работает с интерполяцией.
3) Нужно ли использовать подготовленные запросы в PHP для защиты от SQL инъекций?
4) Я много чего не понимаю, объясните что ещё нужно сделать и как будет работать..: БУДУ ЖЕСТОКО БЛАГОДАРЕН

Добавлено через 9 минут
5) Или нужно Network View убрать, и делать свой Мастер Сервер на C#?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.08.2017, 02:42
Ответы с готовыми решениями:

Helicopter network Game(unity3d)
Приветствую всех на форуме! Второй раз попытаюсь задать один и тот же вопрос в надежде что кто...

Разделение игры на сервер и клиента Network View
Вообщем разделил одну игру на сервер и клиент, запускаю сервер и два клиента, но эти клиенты не...

Unity3D. Не отображается контент в Scroll View на Android
0 Сделал сцену, где отображаются все уровни игры, для этого я сделал скрипт, где создаю список...

Создание сайта на PHP и MySql
Здравствуйте. Подскажите как можно на сайте реализовать создание онлайн-опроса (что то типа...

12
295 / 244 / 128
Регистрация: 24.12.2014
Сообщений: 708
21.08.2017, 11:00 2
Лучший ответ Сообщение было отмечено Staz Lincord как решение

Решение

Staz Lincord, не только Вы имеете такие амбиции ) Если смотреть объективно, то у нас, простых смертных, нет шансов против нынешних лидеров ММО РПГ - просто раздавят, как говно на тротуаре. А вот сделать добротную любительскую игру можно, которую можно потом усовершенствовать и набрать фанатов, которые могут дать средства для дальнейшего развития. В общем нужно много времени, если конечно у вас на финансы нет ограничений )

1) Не получится. Вам нужно ещё мощный сервак, который потянет для начала хотябы 2000 человек онлайн + нужно купить лицензию Unity, которая даст возможность подсоединять более 10 человек ( кажется бесплатная имеет такой лимит ).
3) Это обязательно в любых случаях: там и безопасность, и меньше гемора с валидацией переданных значений.
5) Можете попробовать, если являетесь экпертом в этой области.
2
13 / 12 / 8
Регистрация: 04.12.2013
Сообщений: 323
21.08.2017, 15:38  [ТС] 3
wmysterio, а вообще нужно ли использовать PHP и MySQL? С ними будет лагать?

Добавлено через 9 минут
Кстати, это значит мне нужно два сервера:
1) Для синхронизаций и просчетов игроков, он стоит дорого.
2) Для запросов игроков - PHP APACHE MYSQL, он не столь дорогой как первый.

Это верная мысля?
0
295 / 244 / 128
Регистрация: 24.12.2014
Сообщений: 708
21.08.2017, 15:41 4
Лучший ответ Сообщение было отмечено Staz Lincord как решение

Решение

Цитата Сообщение от Staz Lincord Посмотреть сообщение
а вообще нужно ли использовать PHP и MySQL?
Это вопрос, над которым можно долго и нудно вести дискуссии )
Цитата Сообщение от Staz Lincord Посмотреть сообщение
С ними будет лагать?
Зависит от того насколько загружен будет сервер ( пользователи + мощность сервера ), где он будет находится ( чем ближе, тем быстрее будет отклик ), качество серверного кода - если запросы будут оптимизированы, то и ответ будет быстрее. Далее зависимость от количества запросов. Если тащить с сервера / передавать что-то каждых 0.001 милисекунд, то конечно будут лаги ) Обычно "глобальное" обновление происходит раз в несколько секунд, а более мелкие только при определённом событии - кликнул что-то пользователь, ударил, убил, взял добычу и т.п. Ну и конечно же клиентская оптимизация: что и когда показывать.

Я смотрел реализацию серверной части пиратки WoW на PHP+MySQL и работает очень даже быстро.
1
13 / 12 / 8
Регистрация: 04.12.2013
Сообщений: 323
21.08.2017, 15:49  [ТС] 5
wmysterio, значит PHP и MySQL не плохой вариант, даже хороший?

Цитата Сообщение от Staz Lincord Посмотреть сообщение
Кстати, это значит мне нужно два сервера:
1) Для синхронизаций и просчетов игроков, он стоит дорого.
2) Для запросов игроков - PHP APACHE MYSQL, он не столь дорогой как первый.
Это верная мысля?
Добавлено через 2 минуты
Цитата Сообщение от wmysterio Посмотреть сообщение
Обычно "глобальное" обновление происходит раз в несколько секунд
Под "Глобальное" ты подразумеваешь типа, сохранение позиций игроков, хп - мана, инвентарь?
0
295 / 244 / 128
Регистрация: 24.12.2014
Сообщений: 708
21.08.2017, 15:55 6
Лучший ответ Сообщение было отмечено Staz Lincord как решение

Решение

Цитата Сообщение от Staz Lincord Посмотреть сообщение
Это верная мысля?
Реализаций очень много. Unity может быть и сервером и клиентом. С серверной стороны можно тыкнуть локальную бд хоть в XML-файле и делать к ней запросы. То есть можно и вовсе без PHP обойтись. Вся работа будет осуществлятся между 2-мя Unity-приложениями, только сервер будет иметь доступ к БД и будет вести все рассчёты. Клиент только будет синхронизировать всё, что творится на сервере.

Я не считаю себя экспертом в сетевых играх, поэтому все варианты перечислить не могу ) Для обычных приложений обычно хватает только клиента Unity и сайта, куда будут идти запросы.

Цитата Сообщение от Staz Lincord Посмотреть сообщение
Под "Глобальное" ты подразумеваешь типа, сохранение позиций игроков, хп - мана, инвентарь?
Верно. Инвертарь я бы сохранял бы не "глобально", а только когда к нему пытаются получить доступ: открыть, добавить что-то, удалить, продать, изменить.
1
13 / 12 / 8
Регистрация: 04.12.2013
Сообщений: 323
21.08.2017, 16:05  [ТС] 7
Цитата Сообщение от wmysterio Посмотреть сообщение
только сервер будет иметь доступ к БД и будет вести все рассчёты.
А будут нагрузки? Ну просто клиент сам посылал мелкие запросы в бд(нагрузка частично разделялась по серверам), а так он будет посылать на сервер а сервер будет напрягаться... или я что-то путаю)?

Цитата Сообщение от wmysterio Посмотреть сообщение
Инвертарь я бы сохранял бы не "глобально", а только когда к нему пытаются получить доступ: открыть, добавить что-то, удалить, продать, изменить.
Это очень хороший совет! Спасибо!

Цитата Сообщение от wmysterio Посмотреть сообщение
С серверной стороны можно тыкнуть локальную бд хоть в XML-файле и делать к ней запросы.
Тоже хороший совет!
0
295 / 244 / 128
Регистрация: 24.12.2014
Сообщений: 708
21.08.2017, 16:24 8
Цитата Сообщение от Staz Lincord Посмотреть сообщение
Тоже хороший совет!
С XML я пошутил если что ) Лучше использовать более привычные базы, типа MS Access, MS SQL и прочие. Их можно взять под пароль, там есть система управления типами и управление самой базой.
Цитата Сообщение от Staz Lincord Посмотреть сообщение
А будут нагрузки?
Они всегда будут - там чуть меньше, там чуть больше. Мы можем только упростить или усложнить ему работу запросами )
Цитата Сообщение от Staz Lincord Посмотреть сообщение
Ну просто клиент сам посылал мелкие запросы в бд
Клиент не должен работать с базой напрямую. Он использует посредника, у которого есть доступ к бд.
Цитата Сообщение от Staz Lincord Посмотреть сообщение
так он будет посылать на сервер а сервер будет напрягаться
Это его обычная работа: принял запрос, обработал его, отправил ответ. Ничего в этом страшного нет.
1
13 / 12 / 8
Регистрация: 04.12.2013
Сообщений: 323
21.08.2017, 17:49  [ТС] 9
Цитата Сообщение от Staz Lincord Посмотреть сообщение
Ну просто клиент сам посылал мелкие запросы в бд
Цитата Сообщение от wmysterio Посмотреть сообщение
Клиент не должен работать с базой напрямую. Он использует посредника, у которого есть доступ к бд.
Не, ты не так понял), просто клиент отправляет данные на сервер сайта - и этот серверный сайт вносил и обрабатывал(на php) данные в бд(mysql). А если сервер сам будет делать эти действия, то он напрягается больше. ИМХО(Логика) даже не проверял/не замерял.

А так сама связка с PHP и MySQL хороша? Её кто-нибудь юзает/юзал?
0
2 / 2 / 1
Регистрация: 23.03.2017
Сообщений: 17
21.08.2017, 22:56 10
На GetHub есть как минимум два готовых сервера UO написанных на C# и штуки 3 клиентов на С++, XNA и Парадоксе.

Осталось только узнать что такое ДизДок, найти команду и тысяч 200 не рублей. С этим до альфы дойти будет вполне возможно.
1
13 / 12 / 8
Регистрация: 04.12.2013
Сообщений: 323
22.08.2017, 03:25  [ТС] 11
Цитата Сообщение от omi4691 Посмотреть сообщение
На GetHub есть как минимум два готовых сервера UO написанных на C#
хорошая инфа! приму к сведению

Цитата Сообщение от omi4691 Посмотреть сообщение
и штуки 3 клиентов на С++, XNA и Парадоксе.
Клиентов? А зачем мне они? Я же делаю/пишу игру на Unity3d/C#. Или под этим ты подразумевал что-то другое?

Цитата Сообщение от omi4691 Посмотреть сообщение
найти команду и тысяч 200 не рублей
Команду не буду искать, но если будут желающие с опытом и знаниями, приму. А так собираюсь делать потихоньку всё сам... программирование(C#/js изучаю), сайт(php+mysql знаю), моделирование(изучаю), анимации(изучаю), аудио/музыка(могу). А деньги мне ненужны, это пока моё хобби. Если будут нужны деньги, то только в конце для лицензии и серверов(а может и ещё для чего-нибудь)

Цитата Сообщение от omi4691 Посмотреть сообщение
Осталось только узнать что такое ДизДок
До этого слышал про Диздоки, но не понимал о чём они, после твоего коммента прочёл и познал! В будущем буду использовать!!! Спасибо

Добавлено через 27 секунд
Цитата Сообщение от Staz Lincord Посмотреть сообщение
А так сама связка с PHP и MySQL хороша? Её кто-нибудь юзает/юзал?
???
0
2 / 2 / 1
Регистрация: 23.03.2017
Сообщений: 17
22.08.2017, 13:44 12
Цитата Сообщение от Staz Lincord Посмотреть сообщение
До этого слышал про Диздоки, но не понимал о чём они, после твоего коммента прочёл и познал! В будущем буду использовать!!! Спасибо
Это первая фатальная ошибка, на это уходят годы. Это чертеж по которому будет строится игра. Придется прочесть уйму книг по этому вопросу и написать кучу провальных вариантов.

Цитата Сообщение от Staz Lincord Посмотреть сообщение
хорошая инфа! приму к сведению
Эти сервера называются эмуляторы, то есть программисты просто тупо повторили правила игры. Это называется реинжиниринг. Изучи как это работает, комментируй в коде каждое действие. Пока не поймешь каждую строчку кода. А самое главное учись вынимать из кода диздок, реинжиниринг диздока.

Цитата Сообщение от Staz Lincord Посмотреть сообщение
Клиентов? А зачем мне они? Я же делаю/пишу игру на Unity3d/C#. Или под этим ты подразумевал что-то другое?
Метод поиска готовых примеров с попыткой слепить это в кучу?

Начнем с того что дает Unity3d? Это готовый движок с закрытым кодом, если есть понимание как он работает внутри, то это даст экономию времени. Без понимания это просто груда метала в руках индейца.

ММО и МОБА в данный момент даже в топе это изометрия, то есть 2Д игра. Для обучения полезно строить свои движки с нуля для понимания самого процесса. Гарантированно не напишите лучше, но черным ящиком Unity3d перестанет быть.


Цитата Сообщение от Staz Lincord Посмотреть сообщение
Команду не буду искать, но если будут желающие с опытом и знаниями, приму. А так собираюсь делать потихоньку всё сам... программирование(C#/js изучаю), сайт(php+mysql знаю), моделирование(изучаю), анимации(изучаю), аудио/музыка(могу). А деньги мне ненужны, это пока моё хобби. Если будут нужны деньги, то только в конце для лицензии и серверов(а может и ещё для чего-нибудь)
Допустим случилось чудо, сюда забрел меценат и нанял для тебя команду лучших в мировом масштабе. Фраза что будем делать лучшую в мире игру их не удивит, они это и так всегда делают )))), а вот ответа на вопрос что именно делать поставит тебя в тупик.
1
13 / 12 / 8
Регистрация: 04.12.2013
Сообщений: 323
22.08.2017, 15:19  [ТС] 13
Цитата Сообщение от omi4691 Посмотреть сообщение
Это первая фатальная ошибка, на это уходят годы. Это чертеж по которому будет строится игра. Придется прочесть уйму книг по этому вопросу и написать кучу провальных вариантов.
Ну наверное так оно и есть. У меня походу не такой диздок будет в первое время, т.к. я ещё зеленый и пишу в одиночку(всё держу в уме, только код комментирую), а если каким-то Чудом появится команда, то диздок на скорую руку буду делать(а потом дополнять его).

Цитата Сообщение от omi4691 Посмотреть сообщение
Изучи как это работает, комментируй в коде каждое действие. Пока не поймешь каждую строчку кода. А самое главное учись вынимать из кода диздок, реинжиниринг диздока.
Полезные наставления, спасибо Кстати, от комментирование кода, он не замедляется?

Цитата Сообщение от Staz Lincord Посмотреть сообщение
А так сама связка с PHP и MySQL хороша? Её кто-нибудь юзает/юзал?
???
0
22.08.2017, 15:19
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.08.2017, 15:19
Помогаю со студенческими работами здесь

Создание поиска PHP and MySQL
Здравствуйте, уважаемые программисты! С праздником НАС :drink: У меня есть проблема... Мне...

Создание блога на PHP и MySQL
Здраствуйте. Я изучаю php и хотел би создать простенький блог в php mysql. Знает кто нибуть где...

Создание браузерки php + MySQL
Помогите написать движок браузерной онлайн игры как RIOT, или подскажите ссылку на готовый движок....

Создание теста Php+Mysql
Всем доброе время суток. Не могу реализовать задачу. Есть таблица с вопросоми и вариантами...


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

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru