Как вы думаете, технически возможно написать полноценный 3D MMO-клиент с JavaScript для браузера - WebGL для графики и WebSocket для работы в сети?
- Как вы думаете, будущие ММО (и игры в целом) будут написаны с помощью WebGL?
- Позволяет ли сегодняшняя производительность JavaScript это?
- Допустим, ваша команда разработчиков была вами как разработчиком и еще одним создателем модели (художником). Будете ли вы использовать такую библиотеку, как SceneJS , или писать прямо на WebGL? Если вы используете библиотеку, но не SceneJS, пожалуйста, укажите какую.
ОБНОВЛЕНИЕ (сентябрь 2012 г.): RuneScape, очень популярная MMORPG на основе 3D-браузера, которая до сих пор использовала Java-апплеты, объявила, что будет использовать HTML5 для своего клиента ( источник ).
Java (слева) и HTML5 (справа)
ОБНОВЛЕНИЕ (июнь 2013 г.): я написал прототип MMO на основе WebGL / WebSocket: https://github.com/alongubkin/xylose
Ответы:
Да, конечно. Нет никаких причин, по которым технология WebGL или WebSocket может помешать вам создать клиент 3D MMOG или любой игровой клиент в этом отношении.
Да. Я верю, что в течение следующих пяти лет большинство игр для 3D-браузеров будут написаны с использованием WebGL. Причина проста - WebGL является единственной стандартизированной 3D-технологией, в которой реализации будут доступны во всех основных веб-браузерах (Chrome 9, Firefox 4, Safari 6 и Internet Explorer через Chrome Frame).
Да. Производительность JavaScript в современных браузерах возросла до такой степени, что возможна разработка 3D-игр. Например, посмотрите проект Three.js .
Используйте библиотеку, чтобы сэкономить время. Нет причин писать свой собственный графический код WebGL, если в существующей библиотеке отсутствуют нужные вам функции. Даже в этом случае, вероятно, было бы более эффективным время расширить существующую библиотеку.
Для своего проекта я использую GLGE, так как он поддерживает множество различных графических эффектов и постоянно обновляется новыми.
источник
Уже есть несколько основанных на браузере MMO. Они обычно не используют 3D-графику, хотя.
Я немного скептически отношусь к WebGL. Текущая версия браузеров не поддерживает WebGL в своих обычных сборках. Вам придется получать специальные сборки или связываться с конфигурационными файлами, что является более сложным для обычного пользователя, чем загрузка плагина.
Говоря о плагинах: несколько человек упоминали Unity, но не забывайте Flash. В следующем выпуске Flash Player (кодовое имя molehill ) будет 3D-ускорение на GPU. Я предполагаю, что флэш-память обеспечит аппаратно ускоренную трехмерную графику в браузере, прежде чем WebGL взлетит
источник
Технически возможно? Да. Но зачем беспокоиться, когда доступны такие веб-решения, как Unity?
Будущие ММО, написанные на WebGL? Нет. Может быть, но есть веб-плагины, такие как Unity, которые сейчас отлично работают.
Производительность JavaScript сегодня позволяет это? Нет. Хорошо, да, если вы сделаете свою игру простой.
Вы бы использовали библиотеку вроде SceneJS [...] или написали бы прямой WebGL? Ни. Я бы использовал стороннее приложение, такое как Unity.
источник
Это нереально прямо сейчас (начало 2011 года). Вы не можете создавать 3D-MMO в реальном времени с использованием собственных технологий браузера (то есть без плагинов).
Я не буду размышлять о будущем. Вот так это выглядит прямо сейчас. Предполагается, что вы ориентируетесь только на современные браузеры (IE9, FF4 и т. Д.). Если вы планируете поддерживать IE7, то вы с ума сошли. Это никогда не сработает.
Вещи отсутствуют:
Области / решения с серьезными проблемами:
источник
Да, но с большими оговорками.
У вас не будет полного контроля над клавиатурой, и для многих уродцев контроля это может стать нарушителем. Например, F-клавиши, вероятно, останутся вне досягаемости в течение некоторого времени.
Вы не сможете использовать большинство браузеров. WebGL пока не очень хорошо поддерживается, и поддержка веб-сокетов в наши дни является хитом и пропуском, так как некоторые производители браузеров включают его для одной версии, а затем отключают для следующей.
Но вы можете собрать что-то простое, конечно. Добавьте немного захватывающего игрового процесса, и не будет иметь значения, что графика немного сдержанная. Runescape начинался довольно просто и превратился в сложную, забавную, невероятно популярную MMO, когда все говорили, что MMO, созданная в плагине для браузера, была несбыточной мечтой.
ММО, созданная с учетом текущих ограничений для браузеров, которые адаптируются по мере изменения ситуации, наверняка будет иметь преимущество, если браузеры будут достаточно далеко, чтобы поддерживать MMO "AAA".
источник
Абсолютно да.
WebGL включен в ночные сборки как WebKit (Chrome / Safari), так и Gecko (Firefox). В настоящее время WebSockets отключен из-за проблем безопасности, но нет причин, по которым его не следует повторно включать после устранения проблем. Тем временем всегда есть HTTP.
Будут ли все игры написаны таким образом? Нет, но значительное число будет. Как только WebGL выйдет в финальных версиях Chrome и Firefox, уровень проникновения будет уже выше, чем у нативных плагинов, таких как Unity.
Производительность JavaScript абсолютно зависит от написания игр. Вы, вероятно, некоторое время не будете видеть уровень графики Crysis, но помните, что с WebGL сжатие чисел выгружается в GPU.
Для небольшой команды из 2 человек вам нужно быть готовым к написанию большого количества кода, который вы когда-либо используете. В настоящее время нет никаких движков WebGL / JavaScript, которые на самом деле покрывали бы большую часть игрового кода. SceneJS, three.js и аналогичные являются обертками над графическим слоем, но не предоставляют ничего для столкновения, физики, аудио, загрузки ресурсов, сети или инструментов, составляющих основную часть продукта, такого как Unreal Engine или Unity.
Сейчас первые дни, я ожидаю увидеть больше промежуточного программного обеспечения в следующем году.
источник
Я не думаю, что многие будущие MMO будут написаны с использованием какой-либо клиентской браузерной технологии, так как большинство разработчиков MMO захотят использовать один и тот же язык на клиенте и сервере, и большинство разработчиков игр свободно владеют не веб-языками, такими как C ++. Там слишком много клиентского кода, чтобы сделать его очень практичным в Javascript в любом случае, за исключением довольно тривиальных симуляций. Существуют и другие ограничения, накладываемые на работу в браузере, которые не подходят для типичного разработчика игр.
Я уверен, что будут такие игры, как эта, однако. Они просто не собираются переходить от WoW или подобных игр в течение долгого времени. Вероятно, они будут больше сделаны веб-разработчиками, а не разработчиками игр.
источник
Вопрос, который вы должны задать себе: почему разработчики игр хотят зависеть от веб-технологий, которыми они не владеют и не контролируют, текущие языки позволяют вам даже в веб-браузере создавать потрясающие игры?
источник
Да, но технология все еще нуждается в стабилизации, и, скорее всего, компромиссы между производительностью и нативными приложениями останутся.
источник
Единство это хорошо. Смотрите также Шива и Главный Двигатель.
источник