Пушыстый (_winnie) wrote,
Пушыстый
_winnie

C++? Flash? Олололо.

Сейчас поднялся какой-то непонятный хайп "в флеш 10 можно писать на C++". Кто-нибудь может объяснить, в чем смысл? С++ - не лучший язык для выполнения внутри виртуальной машины, его достоинство "null overhead" теряется. Но остаётся сложность, совместимость с С, многословность при решении простых задач, повышенная ошибкоопасность, человеческая проблема с кадрами и обучением, небыстрая хрупкая компиляция, диалекты и особенности разных платформ, ...
Продвигается под видом "можно не делать отдельную версию для флеша". Извиняюсь, но виртуальная машина браузера и нативный C++ c OpenGL/D3D - слишком разные платформы, что бы игра с одинаковым поведением была приемлема по графике в оффлайновом клиенте, или по производительности в браузере (кстати, мой маджонг был спортирован на флеш, пересечения в коде нет, только в графике) Кто-нибудь будет играть в игру как Doom (но не Doom)? Может быть можно было бы зашарить несколько килобайт кода, но...
Если уж решать проблему что бы сделать одну игру на одной кодобазе, то лучше же наоборот, запустить флеш-плейер в оффлайновой игре. Вот как пример: http://www.bigfishgames.com/download-games/2141/the-scruffs/index.html
Далее, ведь уже есть такое же? Статически типизированная быстрая (относительно динамического ActionScript) Java в Java-апплетах? Java - не самый мощный/удобный язык, но всё-таки поадекватней для простых браузерных игр, чем C++.

Выглядит, как будто какой-то отдел Adobe заморочил голову менеджерам, ради удовольствия написать интерпретатор С++ :)

Не могу представить, что регулярно встречается задача "есть много страшного старого кода на стандартном C++, с огромным запасом по производительности, надо сделать что бы он работал у всех казуальных пользователей в браузере".

Впрочем, ещё один инструмент, ещё один мостик совместимости человеческого труда, его написал не я и его поддерживать не мне, так что пусть будет ещё один инструмент-мостик. А мож пригодится кому-то написать path finding, коего 0.1% от остальной логики, но жрать может 50% времени.

updated: цитата ответа с dtf:

компилируется все через LLVM. gcc как front-end.
То есть на самом деле они написали транслятор из LLVM байт-кода во flash байт-код. По их словам пару тысяч строк.
http://llvm.org/devmtg/2008-08/Petersen_FlashCCompiler.pdf


updated:
И ещё нюанс: Это не только альтернативный технологический мостик, но и альтернативная возможность "монетизации" C++ кода.

Интересно, можно ли один раз и навсегда портировать DOS Box и DOS/4G на флеш? Тогда можно будет запускать в браузере бинарники старых дос-игр =) А портировать тогда можно будет хоть Turbo Pascal игры, только поправить мелочи, типа юзабилити интерфейса главного меню
Subscribe
  • Post a new comment

    Error

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 33 comments