Сетевые игровые движки - запрос на ввод - PullRequest
13 голосов
/ 24 мая 2011

Я создаю сетевую онлайн-игру и пытаюсь найти наиболее подходящее с точки зрения фреймворка для внешнего интерфейса игры. Бэк-энд игры в настоящее время использует asp.net mvc 2. Учитывая, что я могу выполнить действия контроллера и превратить их в действия службы WCF, выбор в бэкэнде не должен влиять на мои параметры внешнего интерфейса.

Одна вещь, которая наверняка, это нужно играть в браузере. В рамках этого процесса я провел некоторое исследование внешнего интерфейса только для HTML 5 и, вероятно, склоняюсь в этом направлении, но у меня есть несколько проблем:

  1. Если эта игра будет завершена на этот раз в следующем году, с какими трудностями я столкнусь с нынешними уровнями освоения HTML 5? В частности, я беспокоюсь о Firefox 3.6 и IE 7/8, которые по-прежнему имеют большую базу для установки. Я посмотрел на Chrome Frame, чтобы решить проблему IE, но не уверен, есть ли недостатки, о которых я ничего не знаю (кроме требования установки).

  2. Я привык делать C # с хорошей IDE, дополненной информацией в реальном времени о том, компилируется ли код и intellisense, напоминающим мне об именах символов. Собираюсь ли я столкнуться с проблемой с Javascript, когда мой код становится большим и сложным в управлении? Проблема доступности, которую механизм Javascript решает только для моих пользователей, для меня важнее, чем удобство, но, конечно, она также не может быть неуправляемой.

  3. Достаточно ли развиты движки HTML 5 на рынке, чтобы доверять моим временным вложениям? Я нахожусь в высоком риске принятия структуры, которая через год впадет в негодность? Из движков, на которые я смотрел, ни один, кажется, не имеет действительно большой поддержки сообщества, я не прав? Есть ли другие, которые делают?

вот те, кого я нашел до сих пор:

Кто-нибудь знает что-либо о сообществе с этим или имеет какие-либо основания полагать, что что-то из этого будет в хорошем состоянии или будет доступно по крайней мере в течение следующих нескольких лет? Кто-нибудь знает о другой структуре, которая там? ImpatJS имеет самую впечатляющую демо-версию, а также единственную, которая не бесплатна.

Спасибо за любую помощь / совет. Я просто волнуюсь, что выберу интерфейс, о котором сожалею, и не хочу начинать с нуля 4 или 5 месяцев в будущем.

Это 2D браузерная игра. Сейчас он не нацелен на мобильные устройства, но сразу после первого запуска будет переведен на мобильные устройства. Одна надежда на то, что он будет работать на мобильных устройствах нормально, если я сделаю HTML 5. Возможно, мне придется настроить его под размер экрана, но если мне не придется переносить его на мобильные устройства, это будет явным плюсом.

Ответы [ 7 ]

4 голосов
/ 24 мая 2011

Это мои два цента, которые только что прошли через один и тот же процесс принятия решений для моей компании.

Наша цель состояла в том, чтобы создать максимально широкую игру, которая означает, что она должна работать на максимально возможном количестве браузеров. Я исключил html5 сразу, потому что усыновление не существует и, по-видимому, пройдет не менее пары лет, пока оно не достигнет более 60% проникновения.

Это оставило меня с Flash против Silverlight. Установленная база Flash огромна, и для нее доступно множество игровых движков. Flash - безопасная ставка, если у вас нет особых требований к видео или 3D.

Я выбрал Silverlight, потому что мне нужна была хорошая установленная база (60%), и я хотел использовать собственный опыт своих компаний .Net. Я также хотел использовать WCF для бэкэнда и не хотел смешивать среды.

Имейте в виду, что SL5 будет поддерживать большую часть XNA, что очень важно. Существует множество движков XNA и исходного кода, с которых вы можете начать.

Вот отличный сайт, посвященный поддержке браузера html5:

http://caniuse.com/

1 голос
/ 05 февраля 2012

impact.js имеет большое сообщество и документацию . Это стоит проверить. Я считаю, что iosimpact.js является частью пакета (хотя бета-версия ???), позволяющего разрабатывать нативные игры для iphone / ipad.

1 голос
/ 24 мая 2011

Я провел несколько пробных запусков с YUI3, Burst engine и Raphael для SVG-анимации - казалось, все работало хорошо;Модуль перетаскивания YUI даже обнаруживает те же операции перетаскивания на мобильном устройстве, не добавляя ни одной строки кода.

Я могу только представить, что, если бы у меня было время, экземпляр YUI3 был доступен на сервере Node.js с анимацией Raphael SVGбыл бы мой выбор.Вы можете отбросить аспект SVG и использовать более стандартные графические методы или, возможно, подавать графику с альтернативным качеством для тех пользовательских агентов с меньшим количеством тестов.Возможно, ваша альтернативная качественная версия - это просто еще одна реализация вашего игрового движка - и вы все равно можете разрабатывать игры с использованием не-SVG.

В основном только мысли, которые не помогают в вашей реальной жизни.время отладки IDE ...

1 голос
/ 24 мая 2011
  1. Да, действительно, вы потеряете большую базу пользователей.Но то, насколько релевантной будет эта база пользователей, будет зависеть от вашей цели.Каждый день в RPG-игроках гораздо чаще устанавливают новейший браузер, чем в Sunday-Morning-Sudoku.

  2. Give Eclipse + Web Tools + Аптана попробовать.Это сработало очень хорошо для меня.

  3. Нет опыта там.

1 голос
/ 24 мая 2011

HTML5 собирается заменить Flash?Нет, потому что игры и RIA, которые требуют больше от javascript, не могут быть сделаны, пока достаточно мира не использует IE 15 (который составляет приблизительно 5 10 лет).Safari, Chrome, FF (возможно), скоро будут на высоте, но их движкам js потребуется хорошее оборудование, а это не всегда будет.

Silverlight - хороший вариант, но он не так хорошхорошо поддерживается как Flash.Вот почему вспышка все еще будет вокруг.Следующая версия будет поддерживать видео контроллеры.Он называется Project Mole Hill, и вы можете проверить мой вопрос SO здесь .

Если вы хотите делать очень простые игры без хорошей графики, попробуйте один из предложенных вами сервисов.Impact.js составляет $ 100, остальные выглядят бесплатно.В будущем мы сможем использовать node.js для обработки запросов к серверам, но в то же время Flash, безусловно, поможет!

Я бы гораздо больше предпочел использовать javascript, но после того, как вы начнете кодироватьи осознать ограничения по сравнению с flash сделает ваше приложение выдающимся.

Тогда для мобильных устройств, iPad, iPhone, Android и т. д. Если вы действительно думаете, что ваша аудитория существует, создайте игру на своем языке.Это дороже и сложнее, но Objective C, Java, они намного быстрее, чем HTML, JS, CSS и т.д ...

1 голос
/ 24 мая 2011

Я не могу говорить со знанием дела о HTML5 и Canvas, но ...

  1. Что касается поддержки, у вас все еще будет большая группа пользователей IE7-8. IE немного отличается от других браузеров, потому что вам нужно что-то делать для установки обновлений. (т. е. перейдите в раздел «Установка обновлений в панели управления» или посетите веб-сайт ie.microsoft.com). Другие браузеры (например, Firefox) просто скажут вам и упростят обновление. Таким образом, ваши пользователи FF 3.6 должны исчезнуть, но IE все еще будет проблемой. Имейте в виду, однако, что большая часть старого браузера IE связана с ИТ-ресурсами. сохранение их пользователей на старых версиях - то, о чем вам не нужно беспокоиться.
  2. Это может быть проблемой. Тем не менее, разработка JS в Visual Studio или аналогичной IDE не так уж и плоха - есть еще IntelliSense и другие полезные вещи, а также отладка в реальном времени. Это определенно будет немного сложнее, чем C #, тем более что многие новые API JS не были реализованы в Autocomplete многих IDE.
  3. Не думаю, что тебе нужно этого бояться. На данный момент, HTML5 и Canvas зашли достаточно далеко, чтобы их не отозвать, а только улучшить. Там может быть несколько модификаций APIS и тому подобное, но недостаточно, чтобы вы не использовали его.
0 голосов
/ 27 декабря 2012

Конечно, есть люди, которые думают, что HTML5 заменит flash в онлайн-играх.Вот движок, основанный на HTML / Javascript, о котором я слышал несколько дней назаднабор требований, которые вы поставили.Это позволяет вам создавать 2D / 2.5D (изометрические проекции) игры.И это выглядит многообещающе.

...