![]() |
Какую среду лучше использовать для онлайн-игры реального времени?
Я хочу замутить онлайн игру (приложение ВК), 2D вид сбоку. Монадобиться реалтайм работа с клиентами - сервер будет регулярно посылать информацию о том, какой персоонаж куда передвинулся\что сказал.
Мне кажется что неплохим решением будет поднять C++ клиент, т.к. он будет всю игровую базу данных держать в оперативке и будет большая скорость доступа. Будет висеть и прослушивать порт. Есть ещё варианты - на пхп сделать или на яве. Как лучше делать такую игру? И базу данных какую лучше? |
Цитата:
Чаще всего на яве поднимают, т.к. есть уже готовые примеры. на сях придется помучиться. Сделайте связку (сервер(java,c++,..) который общается с клиентами, БД, ФС и т.п., к нему прикрутите скриптовый язык, обрабатывать игровую логику (lua, python , ruby,...) и будет вам счастье). DB выбирайте в зависимости от потребностей, но я думаю pgsql подойдет. Добавлено через 36 секунд ЗЫ : имхо |
Цитата:
Обычно принимают во внимание следующие аспекты при выборе технологии: 1) Ёмкость-скорость языка. Грубо говоря его уровень. На C++ делать сложнее и дольше. На java немного легче и быстрее. 2) Наличие разработчиков. Если у вас есть только java разработчик то думать тут нечего :) 3) Скорость работы среды/языка - это уже не очень важно т.к. действительно высоконагруженные системы кластеризуются и вы сможете получить работоспособную систему нужной производительности и не важно какой технологией вы пользуетесь. |
Да я опечатолся, имел в виду конечно С++ сервер)
Я буду виртуальный выделенный сервер покупать и под ним серверную часть запущу. Скорее всего на яве, правда там с установкой апатча придётся попариться |
Цитата:
Цитата:
|
Так для работы сокетного ява-сервера апатч не нужен? Просто апплет поставить прослушивать порт, это и будет сервер?
Добавлено через 2 минуты И ещё вопрос - у меня есть такая идея - в каждой игровой локации делать сервером одного из игроков (выбирать по самому низкому пингу), а на главный сервер время от времени отправлять данные игры для проверки (на читерство) и занесение в базу данных. Это должно значительно снизить нагрузку на главный сервер |
Цитата:
|
А есть ли серверный as? Было бы очень удобно одни и те же классы использовать и на стороне клиента, и на стороне сервера
|
Цитата:
Цитата:
Во флеше у вас есть : Код AS3:
PHP код:
Например так : Код:
{ |
Могу порекомендовать Nodejs. Если AS3 знаете, за пару дней сервер будет готов.
Это на вопрос Цитата:
|
NodeJS крут в освоении, но косяков в нём достаточно.
|
Что-то я сомневаюсь, что nodejs стоит внимания... Максимум на что он годится - билдить проекты вместо ant-а. ИМХО.
|
Насколько я понял по вопросам (А есть ли серверный as?), у автора такие же проблемы как и у меня - не хватает знаний. Но тем не менее, я сделал рилтайм мультиплеерную игру на nodejs за пару недель из которых неделю я мучился из-за проблем бесплатного хостинга (провайдер закрыл фаерволом 843 порт по которому флэшу передается файл политики безопасности). Мне здесь пару раз помогали по игре.
Клиентская часть около 1000 строк кода, серверная не считая подключаемых модулей) - 200-250 строк. Игроки входят, бегают по большой карте, стреляют, прячутся за стенами, сервером генерируется куча бонусов (ускорение, мощь выстрела, скорострельность, броня, здоровье, монеты на которые можно купить более долговременные бонусы), выходят. Все события и изменения транслируются для всех участников игры. Плюс ещё и текстовый чат в виде колаутов над игроками. Лагает конечно, но особо не настраивал, забросил сейчас. Хотел ещё комнаты сделать. Ну и на nodejs сейчас пишут довольно крупные проекты типа социальных сетей. |
Согласен с Astraport. Быстро - это к nodejs.
|
Цитата:
|
Цитата:
Цитата:
Цитата:
|
nodejs я не вижу смысла изучать, т.к. если другой язык для серверной части - то мне кажется, лучше подойдёт ява. nodejs на javascrip написан, а я думал, может можно те же классы экшнскрипта использовать и на сервере, чтобы не дублировать один и тот же код на двух языках. Сериализация здесь не подойдёт.
В отношении хостинга - я буду покупать VDS на sweb. Думаю, что для небольшого количества игроков потянет без лагов. |
Цитата:
Добавлено через 14 часов 14 минут Кстати, у меня тут идея возникла. Если вместо одного VDS использовать 10 shared хостингов. Не лучше ли это будет в плане производительности? По цене получается одинаково. А так 10 различных IP адресов, плюс задача раскидывается по различным машинам. Кто-нибудь такое пробовал? Поделитесь впечатлениями. |
Цитата:
|
| Часовой пояс GMT +4, время: 16:29. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.