?

Log in

No account? Create an account
nyaload

Журнал Пушыстого

Журнал Пушыстого

C++? Flash? Олололо.
nyaload
_winnie
Сейчас поднялся какой-то непонятный хайп "в флеш 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 игры, только поправить мелочи, типа юзабилити интерфейса главного меню