Я заинтересован в том, чтобы собрать мою первую онлайн-игру с использованием Flash в качестве клиента и написать внутреннее приложение на C ++, в котором сохраняется фактическое состояние игры.
Я делал много игр на C ++ до использования SDL, SFML, Allegro и т. Д. И т. Д., Но никогда не удосужился использовать сетевые библиотеки. Меня просто заинтересовало какое-то полезное направление, для которого библиотеки лучше всего подходят для игровых серверов, где на самом сервере нет графического отображения (или не нужно, но могло бы иметь). Честно говоря, я думаю, что ответ будет любой , и как только я получу навык работы с сокетами, он станет быстрым, посылая данные взад и вперед ... но это не может помочь спросить сначала.
У меня очень мало опыта работы с flash или as3, но мне нравится идея получить доступ к игре через браузер - изучение флэш-памяти, безусловно, будет нелепым, и мне придется преодолеть его, но мой главный интерес снова заключается в любом советы по библиотекам, или источникам, или учебные пособия, которые хороши для отправки / получения данных через сокеты или любым другим способом, который лучше всего работает.
Я читал об аргументах между TCP / UDP, поэтому я не хочу начинать подобную войну здесь; просто общий полезный совет, пожалуйста - я только ищу что-то простое, чтобы заставить меня работать: -p
Как примечание, причина, по которой я выбираю C ++, заключается в том, что игроки на самом деле являются роботами с миниатюрными виртуальными машинами, и все будет работать на сервере, так как количество игроков возрастает, так же как и необходимость эмулировать каждый виртуальный компьютер. : -р
Обновление:
Игровой мир предназначен для игры в реальном времени, но взаимодействие с игроком не обязательно. Основа игры заключается в том, что вы программируете маленьких роботов, которые взаимодействуют в постоянном мире и имеют цели и задачи, которые нужно решать ежедневно / еженедельно, чтобы заработать очки.
Я думал, что буферизация отображаемых данных будет возможна, поскольку игроку не требуется визуализация в реальном времени, поскольку он не имеет прямого контроля над своими роботами. Сервер будет буферизовать примерно 10 секунд данных для каждого соединения, а затем отправлять их за один раз - таким образом, пока данные воспроизводятся на клиенте, сервер занят буферизацией еще немного.
Общие взаимодействия игрока с сервером будут заключаться в загрузке нового кода и получении статистики, также могут быть другие команды отключения для перемещения вашего робота или сброса его в исходное положение. Любое дистанционное управление осуществляется через канал связи и, следовательно, задерживается буфером. Это может быть легко объяснено тем фактом, что постоянный мир где-то похож на Марс (планету), и сигнал занимает некоторое время, чтобы двигаться вперед и назад.
Я планировал создать «лабораторию», в которой вы могли бы настраивать роботов и тестировать их в реальном времени на клиенте, это не имеет ничего общего с реальным игровым миром и, следовательно, не требует никаких сетей - хотя я не не хочу писать виртуальную машину на обоих языках: (
Я полностью чувствую себя комфортно в C ++, и у меня уже есть некоторые рабочие прототипы постоянного мира - я просто новичок, когда дело доходит до сетей, поэтому решил, что лучше сначала получить совет.