Как стать автором
Обновить

Создание Cocos2D-x проекта в Marmalade SDK

Время на прочтение 3 мин
Количество просмотров 15K
Разработка мобильных приложений *Разработка игр *
Из песочницы


Некоторое время назад RIM совместно с Marmalade проводили акцию по которой и мне удалось получить планшет Blackberry Playbook. По условиям акции в течение полугода с момента регистрации необходимо разработать и загрузить в Blackberry App World игру сделанную при помощи Marmlade SDK. После изучения в сети некоторого количества материала об этом SDK я наткнулся на записи о том что есть возможность использовать Cocos2D-x, что возможно сократило бы мне время на разработку(хотя я не имею опыта работы ни с Marmalade ни с Cocos2D-x). Далее я скачал последний релиз Cocos2D-x и не обнаружил в нём никаких следов возможности взаимодействия с Marmalade SDK.
Читать дальше →
Всего голосов 22: ↑20 и ↓2 +18
Комментарии 8

Интеграция AdMob в Cocos2d-x

Время на прочтение 5 мин
Количество просмотров 9.2K
Разработка игр *Разработка под Android *
Туториал
Уважаемые хабражители, в этой статье я хочу поделиться своим опытом по интеграции баннерной сети AdMob в игру для Android, написанную с использованием движка Cocos2d-x.


Введение

Интерес к мобильной разработке в последние годы высок и множество независимых разработчиков и компаний стремятся освоить часть этого рынка. Это создает высокую конкуренцию и даже хорошее приложение может затеряться на рынке. До того как ваше приложение попадет на высокие позиции в рейтинге может пройти значительное время. А время это деньги. Важно получить хорошую позицию в рейтинге, так как это ведет к дальнейшим скачиваниям. Это делает позиционирование приложения как бесплатное хорошей стратегией. Однако разработка приложений затратное занятие, особенно если вы компания либо используете часть работы через аутсорсинг. Но даже если вся разработка совершена одним участником едва ли в планах разработчика было просто оставить свой след в магазине приложений. Хочется получить хоть какую-то материальную отдачу. Таким образом мы приходим к двум стратегиям монетизации приложений. Фримиум модель — бесплатное приложение плюс дополнительный функционал за плату, через покупки внутри приложения. Либо монетизация за счет встроенной в приложение рекламы. В этой статье мы рассмотрим внедрение рекламы в приложение.
Читать дальше →
Всего голосов 8: ↑6 и ↓2 +4
Комментарии 3

Cocos2d-x: несколько рекомендаций, как не допустить утечек памяти

Время на прочтение 4 мин
Количество просмотров 14K
Программирование *C++ *Разработка игр *
Туториал
Из песочницы
Cocos2d-x — это «движок», а точнее — набор классов, который сильно упрощает разработку графических приложений для операционных систем таких как iOS, Android, Windows phone, Windows, а также для HTML 5. В отличии от сocos2d-iphone, cocos2d-x предполагает разработку на C++, поэтому он такой универсальный. Те, кто пишет на C++ знают, что вся ответственность за выделение и освобождение памяти лежит на плечах программиста. Но разработчики cocos2d-x не плохо позаботились об этом и встроили в свой замечательный движок пул объектов, который предполагает использование смарт-поинтеров или, другими словами, умных указателей.
Читать дальше →
Всего голосов 17: ↑15 и ↓2 +13
Комментарии 15

Специальное предложение от Marmalade Technologies Ltd для разработчиков Tizen-приложений

Время на прочтение 1 мин
Количество просмотров 3K
Блог компании Samsung Разработка мобильных приложений *Разработка под Tizen *
Доброе утро, Хабр!

Если вы еще не в курсе, спешим сообщить, что у разработчиков приложений для Tizen есть уникальная возможность получить лицензию на Marmalade SDK сроком на полгода от компании партнёра Tizen Association Marmalade Technologies Ltd, а также возможность получить денежное вознаграждение от appbackr.


Читать дальше →
Всего голосов 8: ↑7 и ↓1 +6
Комментарии 4

Cocos2D-X и чтобы легко на всех устройствах

Время на прочтение 6 мин
Количество просмотров 38K
Разработка под iOS *Разработка мобильных приложений *Разработка игр *
Туториал
Из песочницы
Несколько лет делал заказные игрульки под iOS. В условиях, когда некогда точить, а нужно пилить, идешь в гугл и спрашиваешь. Гуглокодинг. Вот и свела судьба меня с Cocos2D for iPhone и теплым ламповым www.raywenderlich.com

Мне Objective-C понравился, как и сам cocos2D. Мягкий как пластилин. После приличных лет писанины на C++ все как-то упростилось. Увы, только iOS. Безусловно, появились всякие Apportable, однако я не хотел почему-то смотреть в ту сторону. К тому же чувствовалась усталость от одной и той же платформы и хотелось своего проекта, при том, чтобы игралось на каждой микроволновке. Unity вроде хорош, но закрыт, а для меня очень важно знать, как оно работает изнутри: оценить потенциальные боттлнеки, что-то оптимизировать (приходилось часто за практику), да даже просто баги пофиксить. Плюс, хотелось начать что-то делать прям сейчас. А поскольку с моделью айфоновского кокоса я был очень хорошо знаком, было принято решение взглянуть на cocos2D-X. Тот, что на C++.
К чему это привело
Всего голосов 24: ↑23 и ↓1 +22
Комментарии 10

История о создании игры

Время на прочтение 7 мин
Количество просмотров 20K
Разработка игр *Разработка под Android *
Из песочницы


Статья будет о создании второй по счету моей игры под Android, на кроссплатформенном движке Cocos2D-x (v3.1). Код преимущественно на С++, местами Java и Lua. Попытаюсь вкратце рассказать про основные моменты разработки.
Читать дальше →
Всего голосов 40: ↑30 и ↓10 +20
Комментарии 11

От идеи до Google Play за 30 часов

Время на прочтение 6 мин
Количество просмотров 3.1K
Я пиарюсь

Приветствую, хабражители!

Сегодня хочу поделиться с вами историей о том, как я делал много всяких правильных вещей, чтобы довести проект по созданию небольшой игрушки от начала и до конца. Такими вещами были: анализ, планирование, дизайн, TDD разработка и тестирование. И все это шло по scrum'у. Да-да, именно в таком составе и порядке. Вообще все это должно быть правилом, идеальным маршрутом ведения проекта, но не все и не всегда это понимают. Ну как минимум я часто ленюсь и бросаюсь в код, забывая про остальное. Не сложно догадаться что из этого выходит. Но не в этот раз, — сказал я себе, и отложив клавиатуру, взял листок и ручку.

Disclaimer: данная статья носит чисто мотивационный характер. Технические детали будут изложены отдельно.
Что было дальше...
Всего голосов 3: ↑3 и ↓0 +3
Комментарии 0

Cocos2d-x: Пишем на Lua

Время на прочтение 6 мин
Количество просмотров 36K
Разработка игр *Lua *
Туториал


Доброго времени суток.
Начнем с того, что я не нашел на хабре туториалов по Cocos2d и Lua, поэтому мне пришлось много страдать и чтобы вы не повторяли моих ошибок я решил написать пост. В этой статье я расскажу как создать простую игру используя Сocos2d-x, Cocos Code IDE и Lua. Ранее, я уже писал про создание игр на Love2d. В этой статье я адаптирую старый туториал для кокоса и как это запустить на андроиде (Ни яблока, ни мака у меня нет).
Читать дальше →
Всего голосов 32: ↑30 и ↓2 +28
Комментарии 16

Проверка кроссплатформенного фреймворка Cocos2d-x

Время на прочтение 7 мин
Количество просмотров 14K
Блог компании PVS-Studio Open source *Разработка игр *


Cocos2d — открытое программное обеспечение, фреймворк. Он может быть использован для построения игр, приложений и графических интерфейсов интерактивных кроссплатформенных приложений. Cocos2d содержит множество бранчей, известные из них Cocos2d-iPhone, Cocos2d-x, Cocos2d-html5 и Cocos2d-XNA

В данной статье будут рассмотрены результаты проверки Cocos2d-x, фреймворка для C++, полученные с помощью PVS-Studio 5.18. Проект достаточно качественный, но всё же на некоторые места стоит обратить внимание. Исходный код взят с GitHub.
Читать дальше →
Всего голосов 33: ↑26 и ↓7 +19
Комментарии 28

Cocos2d-x: Используем собственный C++ класс в Lua

Время на прочтение 6 мин
Количество просмотров 7.2K
Программирование *Разработка игр *Lua *
Из песочницы
Всем доброго времени суток.

Так уж сложилось, что про использование cocos2d-x Lua в природе существует довольно мало информационных материалов, даже с учётом англоязычных источников. Поэтому во многом приходится разбираться самому, копаясь в чужом коде и читая (часто не особо содержательную) документацию.

В этой статье я хочу хотя бы частично исправить эту несправедливость и рассказать о расширении стандартного функционала доступного в cocos2d-x Lua с помощью нативных классов.

С этой задачей я столкнулся, можно сказать, лицом к лицу после осознания собственных скудных знаний Lua. Тогда же и созрело решение часть игровой логики написать на старом добром C++.

Итак, кому интересен данный процесс прошу под кат.
Читать дальше →
Всего голосов 16: ↑15 и ↓1 +14
Комментарии 14

Как сделать тетрис за полгода на cocos2dx

Время на прочтение 5 мин
Количество просмотров 22K
C++ *Разработка игр *ООП *
Из песочницы
В своей статье я бы хотел поделиться технической частью игры, которую сделали два человека. Будут рассмотрены основные архитектурные шаблоны (design patterns) и приёмы, дополнительные библиотеки, особенности портирования при работе с движком cocos2dx. Исходный код здесь.


Читать дальше →
Всего голосов 24: ↑18 и ↓6 +12
Комментарии 38

Cocos2d-x — разработка простой игры

Время на прочтение 12 мин
Количество просмотров 106K
Разработка веб-сайтов *Разработка мобильных приложений *Разработка под Android *
Туториал

1. Вводная часть


В этой статье речь пойдет о разработке прототипа игры под Android/Linux с помощью Cocos2d-x. Cocos2d-x это кросс-платформенный фреймворк для создания двумерных игр и других графических приложений. Он создан на основе cocos2d-iphone, но вместо Objective-C Cocos2d-x использует C++. Приложения могут быть запущены на платформах: iOS, Android, Windows Phone, OS X, Windows, Linux.
Эта статья о разработке приложения под Android/Linux, платформа разработки — Ubuntu.
К сожалению, Cocos IDE существует только под Window и Mac, а под Linux версии не предвидится, но так как я очень люблю Ubuntu и это та платформа, с которой я работаю каждый день, я использую для разработки Clion.
Некоторые части этой статьи — перевод соответствующих частей документации (http://www.cocos2d-x.org/wiki).
Статья ориентирована на тех, кто начинает свое знакомство с Cocos2d-x. В ней я расскажу о том, как создать самое простое приложение со спрайтами, сценами и как работать с акселерометром. Это может быть неким стартом, чтобы в будущем идти дальше, углубляясь в API Cocos2d-x.

2. Требования


Определим необходимый набор инструментов, который нам понадобится.
Ubuntu 14.04 — платформа разработки
Cocos2d-x v3.8.1 — https://cocos2d-x.org/download
CMake 2.8+
JDK 1.6+
Android SDK
Android NDK r9d+
Apache Ant — для сборки Android-сборки
Python 2.7.5
Clion 1.1 — www.jetbrains.com/clion


3. Cocos2d-x


Cocos2d-x появился в 2010 году, это проект с открытым исходным кодом, распространяющейся под лицензией MIT. Cocos2d-x позволяет писать на таких языках как C++, Lua и Javascript. Cocos2d-x быстрый, простой и обладает большими возможностями. В настоящее время много игр, написанных с помощью этого фреймворка, находятся в топе AppStore и Google Play.
«Большие ребята», такие как Zynga, Wooga, Glu, Big Fish Games, Konami используют Cocos2d-x для разработки игр.

Тут я должен сделать маленькое отступление. Дело в том, что Cocos2d-x позволяет использовать C++ для написания кода, и все это будет собираться под Android и Linux. Если использовать Cocos2d-JS, то можно писать на Javascript. Тогда в случае сборки для на Linux/Ubuntu код будет транслироваться в C++, а затем компилироваться. Это влечет много разных проблем (усложняет работу со сторонними библиотеками, например). В случае же web будет выполнятся java-script (кстати, время сборки в этом случае равна нулю, что неплохо).
Если же использовать Cocos2d-x, то под web это не работает, но под Linux и Android код компилируется напрямую. Для Android, конечно же, используется Android NDK.

Читать дальше →
Всего голосов 17: ↑16 и ↓1 +15
Комментарии 4

Cocos2d-x — Основные понятия

Время на прочтение 9 мин
Количество просмотров 38K
C++ *Разработка игр *
Из песочницы

Предисловие


Начну с небольшой предыстории. Не так давно, мы с другом решили разработать свою двумерную игру, для дипломного проекта. После того как мы определились с ее жанром и получили примерное представление об игровом процессе, перед нами встал вопрос о выборе движка. Unreal или Unity мы отбросили сразу, так как они показались нам слишком «тяжелыми» инструментами для 2d игры. Cocos2d-x был бы идеальным вариантом, если бы не одна деталь — практически полное отсутствие вводных уроков. Те статьи, что нам удалось найти были, либо не закончены, либо недостаточно подробны. И тогда, я решил перевести официальную документацию, практически без знаний английского и заодно поделится своим переводом с остальными (кто же если не я).

Эта статья представляет собой почти дословный перевод официальной документации к Cocos2d-x. Если вы не хотите разбираться во всяких тонкостях устройства движка, а хотите сразу начать писать свою игру, могу посоветовать вам эту статью: Cocos2d-x — разработка простой игры .

Если вы еще не установили Cocos2d-x или не можете создать проект, то тут вы найдете подробную инструкцию: Создание многоплатформенных игр с использованием Cocos2d-x версии 3.0 и выше.

Оригинальная статья: Cocos2d-x programmers guide.

P.S.: Не советую клонировать cocos2d-x с gitHub. У меня после клонирования не доставало нескольких важных файлов. Но может быть мне просто не повезло.

Приступим!
Читать дальше →
Всего голосов 23: ↑21 и ↓2 +19
Комментарии 13

Cocos2d-x — Работа со спрайтами

Время на прочтение 6 мин
Количество просмотров 15K
C++ *Разработка игр *
Туториал

Предисловие


Эта статья является второй, из серии переводов документации к игровому движку Cocos2d-x. Если вы не видели первую часть перевода, то советую сначала ознакомится с ней:
Cocos2d-x — Основные понятия

А теперь продолжим!

Что такое спрайт


Спрайт — это 2D изображение, которое может быть анимировано или трансформировано, путем изменения свойств, таких как: rotation, scale, color, и так далее.
Читать дальше →
Всего голосов 12: ↑12 и ↓0 +12
Комментарии 1

Cocos2d-x — Обработка действий

Время на прочтение 9 мин
Количество просмотров 11K
C++ *Разработка игр *
Туториал

От автора перевода


Как вы уже поняли, эта статья — простой перевод официальной документации к движку Cocos2d-x. Если вы здесь впервые, можете глянуть предыдущую статью!

ВНИМАНИЕ: Самое сложное при переводе технических документаций — это не сам перевод, а адаптация текста для русскоязычных читателей. Многие термины могут вовсе не переводиться на русский. Я выкручивался из таких ситуаций как мог. На суть и основные мысли данной статьи это никак не повлияло, но возможны некоторые неточности. Я заранее извиняюсь и прошу вас сообщать мне о подобных ошибках, при их обнаружении. Буду очень благодарен!
Читать дальше →
Всего голосов 12: ↑12 и ↓0 +12
Комментарии 10

Cocos2d-x — Сцены и особые типы узлов

Время на прочтение 7 мин
Количество просмотров 6.1K
C++ *Разработка игр *
Туториал

От переводчика


Приветствую! Мы продолжаем переводить документацию к движку cocos2d-x. Эта статья содержит сразу две главы, небольшие по объему. Как вы уже догадались, в первой мы разберем способы работы со сценами, а в конце рассмотрим еще несколько типов узлов.

Надеюсь, вы найдете для себя много полезного!

Что такое сцена?


Объект Scene является контейнером, содержащим спрайты, лейблы, узлы и прочие объекты, необходимые вашей игре. Scene отвечает за запуск игровой логики и рендеринг контента в каждом кадре. Вам понадобится как минимум одна сцена, чтобы начать игру. Думайте о вашей игре как фильме. Когда Scene запущена, пользователи видят, что происходит в режиме реального времени. В вашей игре может быть любое количество сцен и вы можете легко переключаться между ними. Cocos2d-x способен осуществлять переходы между сценами и вы даже можете делать это с классными эффектами.
Читать дальше →
Всего голосов 5: ↑5 и ↓0 +5
Комментарии 0

Cocos2d-x — UI компоненты

Время на прочтение 9 мин
Количество просмотров 8.6K
C++ *Разработка игр *
Туториал

От переводчика


С возвращением! Мы продолжаем свой цикл переводов документации к Cocos2d-x. По традиции я должен оставить здесь ссылку на предыдущую статью:
Cocos2d-x — Обработка действий

Продолжим!

UI компоненты


Взглянув на множество приложений, которые вы использовали, держу пари, что вы обнаружите там UI виджеты, даже не имея о них представления. Каждое приложение, скорее всего, использует несколько виджетов. Что означает UI? Что делают UI виджеты? О, так много вопросов!

Виджеты


UI — это аббревиатура, обозначающая пользовательский интерфейс. Это все, что находится на экране. Сюда входят такие элементы, как: надписи, кнопки, элементы меню и многое другое. Cocos2d-x предоставляет набор виджетов, для простого добавления этих элементов управления в ваши проекты. Это может звучать тривиально, но в процессе создания основного класса, такого как Label, выполняется большое количество операций. Может себе представить, что вам нужно написать свой собственный набор виджетов? Не волнуйтесь, все это вполне реализуемо!
Читать дальше →
Всего голосов 10: ↑10 и ↓0 +10
Комментарии 1

Cocos2d-x — Диспетчер событий

Время на прочтение 6 мин
Количество просмотров 5.8K
C++ *Разработка игр *
Туториал

От переводчика


Доброго времени суток! Эта статья представляет собой перевод документации к движку Cocos2d-x.

В предыдущих частях мы уже рассмотрели большинство основных компонентов движка:

Sprite
Action
UI Components
Scene и другие

Нам осталось совсем немного для создания полноценной игры. А именно, обеспечить сам игровой процесс. Для этого, в Cocos2d-x существует диспетчер событий.
Читать дальше →
Всего голосов 3: ↑3 и ↓0 +3
Комментарии 6

Интеграция физических тел полученных в редакторе Physics Body Editor в cocos2d-x-сцену

Время на прочтение 4 мин
Количество просмотров 2.7K
C++ *Разработка игр *
Из песочницы
Создавая игру на движке cocos2d-x, мне понадобился инструмент для создания физических тел из произвольных изображений. Изначально поиск меня привёл к коммерческому инструменту PhysicsEditor, но взглянув на его цену, решил найти что-нибудь дешевле. Пришлось потратить довольно-таки много времени, прежде чем я наткнулся на видео-уроки, которые оказались для меня полезными.

В данной статье будет описано, как создавать физические тела для изображений в бесплатном, кроссплатформенном редакторе Physics Body Editor и интегрировать их в cocos2d-x-сцену.
Читать дальше →
Всего голосов 3: ↑3 и ↓0 +3
Комментарии 0

Паттерны проектирования в Cocos2d-x

Время на прочтение 4 мин
Количество просмотров 4.2K
Программирование *Проектирование и рефакторинг *Разработка игр *
Из песочницы
Привет, Хабр! Представляю вашем вниманию перевод статьи "Design Patterns in Cocos2d-x" автора Aleksei Pinchuk.

Статья будет интересна для разработчиков Cocos2d-x и тех, кто изучает паттерны. Она выполнена в форме краткого конспекта, в котором можно быстро посмотреть где применяется тот или иной паттерн в Cocos2d-x. Целью статьи не является полное описание каждого паттерна.
Читать дальше →
Всего голосов 9: ↑9 и ↓0 +9
Комментарии 0
1