![]() |
gamedev на flash vs C++
камрады, просветите плизз по поводу возможности использования флешы для разработки игр.
интересует производительность. к примеру: изометрическая 2Д стратегия. размер карты в 10 раз больше видимой области: предположительно экран 800х600. несколько тысяч юнитов: - пара сотен с растровой анимацией и - все остальное статические: деревья, здания и пр... террайн тайловый. собирается из тайловых клеток. вся мапа 256х256 клеток. в экран умещается область 25х25 клеток. начал писать на своем изометрическом движке на С++, но задумался в сторону флеши ибо потом есть намерение попробовать её пристроить в какую нить социальную сеть. для winapp будет сделать это на порядок сложнее. зы конечно не стракрафт будет но в принципе в первом приближении можно сказать что 50% от старкрафта по сложности и геймплею. |
флешы, флеши - в мемориз...
|
Производительность будет низкая. Очень. Особенно по сравнению с cpp.
|
Цитата:
возможно ли оптимизация: к примеру не рисовать то что не в frustum. |
Какой frustum в 2D? Проблема не в том, чтобы не рисовать то, что не в кадре (это само собой разумеется), а в том, что Flash выводит всё чисто программно, не используя аппаратное ускорение, и в том, что AS значительно медленнее, чем код на C++ или Pascal.
Вы лучше подумайте не о графике, а о том-же поиске пути для ваших тысяч юнитов. Или просто поищите среди Flash игр хоть что-нибудь подобное тому, что хотите сделать - если найдёте, будете точно знать, что возможно. Я пока не встречал ничего ни на уровне Starcraft, ни половины от него. |
Цитата:
Цитата:
|
Цитата:
|
Цитата:
Цитата:
|
Цитата:
там есть пример изометрии 10х10 клеток и существо по ним бегает. запустил - всё шутсро бегает. влез в код и поставил 200х200 и всё сдохло, фпс где то в районе 1 кадр в минуту. я о такой производительности говорю. 200х200 клеток это вывод 4000х тысяч тайлов. из них четверть гарантированно попадает в область видимости ( frustrum по инерции ее называю ). Флеша я до сиго момента касадся пару раз и очень поверхностно и тонкостей не знаю. У себя в с++ движке Я контролирую порядок отрисовки и я решаю что рисовать а что не рисовать, в флеше я вообще ничего похожего на функцию render() не нашел :-) и моск не понимает как там вообще все рисуется. тупо вообще все что есть на сцене или как то можно таки оптимизировать и перед отрисовкой управлять контентом - это рисуем а это нафиг ибо вне зоны видимости? |
Если у вас AS3 и растровая графика, то вывод лучше делать через copyPixels, то есть через копирование прямоугольников из одного изображения в другое. В итоге всё копируется на единственное изображение, находящееся на сцене. Это отдалённо напоминает direct draw, и вы будете контролировать, что, куда и сколько рисовать. Можно почитать здесь (там много статей на эту тему).
|
забейте на флеш. Производительность ниже, чем у сеги. Двадцать персонажей, перемещающихся по 2000 клеткам реалтайм, убивают напрочь, несмотря на все оптимизации, начиная от кеширования, использования пулов, поиска пути в несколько приближений, и заканчивая алхимией. Нет, вру, на самом деле, алхимию я таки не попробовал. Но реально, это же ужас, что при таких мощностях процессора, при программировании приходится заморачиваться, будто пишешь для 80286. А если к этому добавляются эффекты с графикой (партиклы, эффекты на DisplacementMapFilter) - все дохнет, как бы ты не заморачивался.
Опять же стратегия без правой кнопки мыши - довольно неудобно. Я думаю, максимум флеша - пошаговая изометрия в стиле warlords или x-com 1,2,3. С упрощенным AI. |
VVall спасибо - то что дохтор прописал!
|
Цитата:
|
| Часовой пояс GMT +4, время: 01:39. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.