Не так давно веб-разработчики и помыслить не могли о том, чтобы реализовывать работающие в браузере игры без всяких плагинов вроде Flash или Java. Времена, когда прямо в браузере можно запустить полноценную операционную систему, настали внезапно, и, судя по развитию событий, игры и прочие приложения с динамичной графикой, написанные на JavaScript и использующие элемент canvas из HTML5, очень скоро станут повсеместными. А сыграть в DOOM или одну из классических стратегий компании Westwood можно уже сейчас.
Портирование Dune 2 выполнил наш соотечественник Александр Гурьянов, основываясь на исходных кодах проекта OpenDUNE. В игре есть все три кампании, и воссоздана она очень точно — включая даже брифинги перед миссиями.
C&C-HTML5 — ещё более интересный проект. Его автор, Адитья Рави Шанкар, пишет, что на портирование у него ушло три недели и никаких готовых движков и опенсорсных проектов он не использовал. Вместо этого ему пришлось обойти все форумы фанатов игры и вычитать там рекомендации по распаковке игровых ресурсов — музыки, графики, карт и так далее.
Весь код программисту пришлось переписывать самостоятельно, причём он старался максимально точно воспроизвести поведение игры. Самими сложными в реализации оказались алгоритмы поиска пути, поведения войск и их отображения. В Command & Conquer одни войска самостоятельно дают дорогу другим, потом возвращаются на своё место — реализовать это не так просто. Поиграть с живой демонстрацией можно здесь (она загружается куда быстрее полной игры, и в ней можно включить визуализацию работы алгоритма).
Игра в итоге воспроизведена хорошо, но не идеально: к примеру, в отличие от оригинала, здесь техника может случайно застрять в лесу. Уровни тоже перенесены не все — в существующей сейчас версии 0.50 есть лишь по две миссии за каждую из двух противоборствующих сторон. Тем, кто вдруг захочет пройти Command & Conquer целиком, рекомендуем полную бесплатную версию C&C Gold, выпущенную Electronic Arts в честь пятнадцатилетия игры.
Зато в C&C-HTML5 уже есть многопользовательский режим (в онлайновой Dune 2 была лишь таблица рекордов). Примечательно, что и он реализован на JavaScript, вернее, на его новомодном серверном варианте под названием node.js.
Для того чтобы опробовать игру, рекомендуется браузер Google Chrome последней версии. Хоть C&C-HTML5 и использует максимум (или почти максимум) производительности JavaScript и может работать медленно на старых компьютерах, технология кажется очень привлекательной.
Вряд ли, кстати, разработки авторов реализаций Dune 2 и C&C так и останутся интересными лишь в качестве технологической диковинки — на этих игровых движках вполне можно реализовать и нечто новое, причём запас для оптимизации скорее всего ещё имеется. В перспективе HTML5 и быстрый JavaScript могут полностью изменить то, как выглядит и работает интернет. Не всегда новые возможности используют сразу, но история веба показывает, что незамеченными они никогда не остаются.