Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Серверные технологии и Flash (http://www.flasher.ru/forum/forumdisplay.php?f=62)
-   -   Какую среду лучше использовать для онлайн-игры реального времени? (http://www.flasher.ru/forum/showthread.php?t=174464)

Jarproger 26.01.2012 10:21

Какую среду лучше использовать для онлайн-игры реального времени?
 
Я хочу замутить онлайн игру (приложение ВК), 2D вид сбоку. Монадобиться реалтайм работа с клиентами - сервер будет регулярно посылать информацию о том, какой персоонаж куда передвинулся\что сказал.
Мне кажется что неплохим решением будет поднять C++ клиент, т.к. он будет всю игровую базу данных держать в оперативке и будет большая скорость доступа. Будет висеть и прослушивать порт.
Есть ещё варианты - на пхп сделать или на яве. Как лучше делать такую игру? И базу данных какую лучше?

Genzo 26.01.2012 11:24

Цитата:

будет поднять C++ клиент
И как клиент это будет делать?) Может сервер?
Чаще всего на яве поднимают, т.к. есть уже готовые примеры. на сях придется помучиться.
Сделайте связку (сервер(java,c++,..) который общается с клиентами, БД, ФС и т.п., к нему прикрутите скриптовый язык, обрабатывать игровую логику (lua, python , ruby,...) и будет вам счастье). DB выбирайте в зависимости от потребностей, но я думаю pgsql подойдет.

Добавлено через 36 секунд
ЗЫ : имхо

kackbip 26.01.2012 11:29

Цитата:

C++ клиент
Сервер? :)
Обычно принимают во внимание следующие аспекты при выборе технологии:
1) Ёмкость-скорость языка. Грубо говоря его уровень. На C++ делать сложнее и дольше. На java немного легче и быстрее.
2) Наличие разработчиков. Если у вас есть только java разработчик то думать тут нечего :)
3) Скорость работы среды/языка - это уже не очень важно т.к. действительно высоконагруженные системы кластеризуются и вы сможете получить работоспособную систему нужной производительности и не важно какой технологией вы пользуетесь.

Jarproger 26.01.2012 12:06

Да я опечатолся, имел в виду конечно С++ сервер)
Я буду виртуальный выделенный сервер покупать и под ним серверную часть запущу. Скорее всего на яве, правда там с установкой апатча придётся попариться

Genzo 26.01.2012 12:15

Цитата:

правда там с установкой апатча придётся попариться
С чего вы взяли?
Цитата:

виртуальный выделенный сервер
Подойдет для очень маленькой нагрузки, лучше просто dedicated берите, в европе они по 100евро в месяц за i7-2600

Jarproger 26.01.2012 12:52

Так для работы сокетного ява-сервера апатч не нужен? Просто апплет поставить прослушивать порт, это и будет сервер?

Добавлено через 2 минуты
И ещё вопрос - у меня есть такая идея - в каждой игровой локации делать сервером одного из игроков (выбирать по самому низкому пингу), а на главный сервер время от времени отправлять данные игры для проверки (на читерство) и занесение в базу данных. Это должно значительно снизить нагрузку на главный сервер

Genzo 26.01.2012 12:56

Цитата:

Так для работы сокетного ява-сервера апатч не нужен?
Если вы про Apache, то это веб сервер. Зачем он нужен, когда вы держите свой сервер. (на самом деле веб-сервер это тоже сокет сервер, только работает он по уже готовому протоколу http). А вы протокол писать будете сами.

Jarproger 26.01.2012 13:02

А есть ли серверный as? Было бы очень удобно одни и те же классы использовать и на стороне клиента, и на стороне сервера

Genzo 26.01.2012 13:09

Цитата:

А есть ли серверный as?
Есть подобие, скриптовый язык для Flash Media Server
Цитата:

Было бы очень удобно одни и те же классы использовать и на стороне клиента, и на стороне сервера
Смотрите в сторону десереализации из AMF в нужный вам формат, например для php есть AMFPhp, который позовляет напрямую общаться с VO. Т.е. :
Во флеше у вас есть :
Код AS3:

public class myVO{
public var myVar:Number;
}

В php у вас будет :
PHP код:

class myVo
{
var 
myVar;


Думаю не сложно будет написать или использовать готовый десериализатор для java , c++ , .. Но лучше все-таки идти классическим путем и писать свой протокол. Хотя можно в него и вставить AMF объекты.
Например так :
Код:

{
int SIZE,
body AMF_OBJECT [SIZE]
}


Astraport 26.01.2012 13:26

Могу порекомендовать Nodejs. Если AS3 знаете, за пару дней сервер будет готов.
Это на вопрос
Цитата:

А есть ли серверный as? Было бы очень удобно одни и те же классы использовать и на стороне клиента, и на стороне сервера


Часовой пояс GMT +4, время: 02:44.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.