Я думаю о записи новой веб-игры и задался вопросом, были ли у кого-либо какие-либо предложения, на которой платформе я должен выбрать.
Игра будет 2D базирующимся спрайтом, но должна будет поддержать достойный уровень кадр/с (вероятно, будет до 20 вещей, перемещающихся сразу). Этим будут все управлять через мышь.
Я ежедневно использую.NET, таким образом, Silverlight кажется естественным выбором для меня, но я хочу удостовериться, что как можно больше людей может играть его...
Таким образом, я просто хотел некоторую обратную связь на том, что является лучшей вещью для меня использовать для простой 2D веб-игры.
Править:
можно ли предоставить больше информации? этот сингл/мультиплеер? какой жанр? будет много классического включенного UI (много форм с большим количеством кнопки/флажков, datagrids и т.д.)? будет большая анимация и эффекты?
Меня также интересуют двухмерные веб-игры. Лично я предпочитаю silverlight, потому что:
Одна замечательная вещь - это то, что вы можете отображать в полноэкранном режиме. Я также обнаружил, что он достаточно быстр (на моем ноутбуке core2 duo), чтобы обрабатывать приличное количество объектов. Тот факт, что silverlight станет важной частью winmobile 7, также является хорошим аргументом (хотя нам нужно посмотреть, как это обернется).
Существует ряд игр Silverlight, так что вы можете увидеть возможности.
Я полагаю, что главный минус - это переносимость и создание людей установить «еще один плагин». Очевидно, что у Flash самая широкая пользовательская база, но если ваша игра достаточно приличная, люди, вероятно, не будут возражать против установки плагина. Это безболезненная установка.
Что касается физических движков, FarseerPhysics , о котором упоминал TomTom, является наиболее популярным.
Есть еще одна вещь, которую я считаю действительно крутой и убедительной: http://www.codeplex.com/silversprite . С веб-сайта:
Запускайте игры XNA без изменения кода в Silverlight 3.Только графика на основе SpriteBatch, без 3D. Поскольку игра компилируется в прямой код Silverlight, она будет работать везде, где это возможно. [курсив добавлен]
Подход XNA-in-Silverlight потенциально действительно хорош (особенно для более сложных игр, от которых вы, возможно, захотите получить прибыль), потому что он также открывает вам доступ к Xbox с минимальными усилиями по переносу. Однако у меня нет опыта в этом, поэтому я не могу комментировать дальше.
Редактировать в ответ на правку OP:
Поскольку ваша игра звучит даже проще, чем я предполагал, если вы не возражаете против кривой обучения или потенциальных трудностей с использованием подхода на чистом HTML + CSS + Javascript (который на самом деле может быть не так уж и хорош), я скажу, что, может быть, это лучший маршрут в конце концов. Это из-за портативности.
Тем не менее, я ленив, и мне все равно, что несколько человек пропустят мою игру, поэтому я бы просто придерживался silverlight. = P
Silverlight МОЖЕТ потребоваться дополнительный инструментарий для Visual Studio, но его можно загрузить бесплатно. В основном 2008 был выпущен до Silverlight, поэтому вам нужно скачать инструменты для него.
Silverlight работает в ограниченной версии - прочтите документацию.
Я бы в общем посоветовал перейти на .NEt 4.0, Silverlight 4.0, Visual Studio 2010 - это далеко не крайность, и вы все равно будете разрабатывать дольше месяца.
Java - извините, почему. Я имею в виду, теоретически да, но если вы человек .NET, у вас есть больше знаний, siverlight - это XAML (аналогичный опыт WPF, всегда приятно). Почему вы должны отказываться от всего этого ради использования Java?
Flash - ЧЕРТ, НЕТ;) Серьезно;) Вы не хотите заниматься этим, если вам не нужно.
Физический движок - без понятия. Нужно проверить. Не уверен, что для этого много. Вы гуглили? http://www.codeplex.com/FarseerPhysics появляется первым.
Я считаю, что это хороший подход. Silverlight - это небольшая загрузка для начала, поэтому я не думаю, что вы потеряете слишком много людей из-за этого. Я бы сделал это.
Если вам нужна максимальная играбельность, сделайте это со всеми HTML и javascript и даже не используйте холст, и тогда игра будет работать практически везде, в том числе и на мобильных устройствах. Вы можете найти баланс между дополнительной работой, которая может вам потребоваться, с разработкой для Flash или Silverlight и очень ограниченной мобильной аудиторией. Вы также можете проверить processing.js.
Если вы хотите пойти по пути HTML + javascript, вы можете взглянуть на processing.js . Это порт Javascript (от Джона Ресига) языка Processing.
Плюсы:
Минусы:
Также ознакомьтесь с игрой Джона Ресига по защите башни в Processing.js.
IMHO Java все еще вариант, в частности JavaFX ( http://www.javafxgame.com может быть хорошей отправной точкой).
Однако ваш опыт работы с языком / технологией, вероятно, более важен, чем выбор платформы, поэтому вам следует выбрать .NET (учитывая, что ни одна из предложенных альтернатив пока не выделяется).
Как сказал Бенни, Silverlight - отличная платформа, если вы уже знакомы с .NET, и большинство необходимых инструментов встроено в Visual Studio (VS2010 имеет встроенный дизайнер, но текущая версия RC не поддерживает грядущий Silverlight 4).
Одной из интересных особенностей Silverlight является его способность использовать GPU. Это должно обеспечить хороший прирост производительности. Я не знаю, есть ли такая возможность у Flash.
Время выполнения Silverlight очень маленькое (менее 5 МБ). И вы можете легко включить поддержку вне браузера, так что ваша игра может быть запущена, например, с ярлыка на рабочем столе, без необходимости запускать браузер (и находиться в сети). Silverlight 4 добавляет возможность использования повышенных привилегий (это дает вам доступ к собственному сетевому стеку вместо стека браузера в песочнице). В SL4 также появилась поддержка веб-камеры, если это важно для ваших игр.