Cocos2d-x для настольных компьютеров (Win, Mac, Linux) и производительность
Здравствуйте!
Cocos2d-x — отличная платформа для разработки игр на C++. Наверняка на хабре есть люди, использующие Cocos2d-x.
Вопрос такой:
1)Действительно ли Cocos2d-x на Windows для работы до сих пор использует эмуляцию OpenGL? (Раньше дела обстояли именно так, однако обновленную информацию найти не удалось).
Как у кокоса дела с производительностью на MacOS? Linux?
2) Есть ли смысл делать игру на кокосе, изначально заточенную под настольные компы? И это только потому, что когда-нибудь планируется их порт под мобильные платформы.
Или все равно код придется сильно менять? Насколько легко портируется код с платформы на платформы и обратно?
Если у кого есть подобный опыт, поделитесь, пожалуйста.
1. cocos2d-x под Windows использует GLEW, работая с OpenGL напрямую (см. cocos2dx\platform\third_party\win32\OGLES\GL).
Насчет других PC-платформ не знаю, но под Linux вроде все должно быть нормально (используется та же библиотека GLEW).
2. Смысл есть. Портировать с Windows на Android — довольно просто: проект компилируется с Android NDK и поверх него цепляется обертка на Java. Менять ничего не приходилось. Насчет других мобильных платформ — не знаю, но думаю, тоже не слишком сложно.
2. Вы только сразу делайте поддержку разных разрешений монитора. Если тач интерфейс ещё можно докрутить потом, то вот с разрешением не всё так просто. От 480х320 до 2048х1536 и 2560x1600. Чтобы везде графика выглядела чётко. Ещё учитывайте слабые возможности железа мобилок — какие-то крутые эффекты придёться упростить или вовсе отключить, также существуют ограничения по оперативной памяти и максимальному размеру загружаемых текстур.
Если это всё сразу будете иметь ввиду при написании игры, то портирование будет безболезненным.
Ещё можно посмотреть в сторону Moai SDK — тоже бесплатная и кросплатформенная, на ней делают Double Fine Adventure и Shadowrun Returns.
Выгодными преимуществами cocos2d-x оказались:
— open source
— MIT License — меняй что хочешь и годна для коммерческого использования
— по сравнению с конкурентами (даже с платными) не такой то он сырой оказался,
регулярно переписывается и дополняется + довольно обширное коммьнити, к которому примыкает и коммьюнити obj-c-шного cocos2d
— C++ — легко дополнять сторонними и самописными либами, при правильной архитектуре Ваша кодобаза может существовать и без кокоса, в случае чего можно перенестись на другой движок (в отличие, к примеру от платного и мега-раскрученного Юнити)
По части кроссплатформенности меня пока устраивает связка иОС + Винда.
Очень удобно вести разработку на зрелой винде в нормальной вижуал студии и потом просто перекомпилить в икс-коде для иОС.
По поводу настольных компов — думаю надо сразу изначально целиться на планшетный/телефонный рынок.