Pull to refresh

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

Development of mobile applications *Game development *
Sandbox


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

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

Game development *Development for Android *
Tutorial
Уважаемые хабражители, в этой статье я хочу поделиться своим опытом по интеграции баннерной сети AdMob в игру для Android, написанную с использованием движка Cocos2d-x.


Введение

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

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

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

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

Samsung corporate blog Development of mobile applications *Development for Tizen *
Доброе утро, Хабр!

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


Читать дальше →
Total votes 8: ↑7 and ↓1 +6
Views 3K
Comments 4

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

Development for iOS *Development of mobile applications *Game development *
Sandbox
Tutorial
Несколько лет делал заказные игрульки под iOS. В условиях, когда некогда точить, а нужно пилить, идешь в гугл и спрашиваешь. Гуглокодинг. Вот и свела судьба меня с Cocos2D for iPhone и теплым ламповым www.raywenderlich.com

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

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

Game development *Development for Android *
Sandbox


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

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

Self Promo

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

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

Disclaimer: данная статья носит чисто мотивационный характер. Технические детали будут изложены отдельно.
Что было дальше...
Total votes 3: ↑3 and ↓0 +3
Views 3.1K
Comments 0

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

Game development *Lua *
Tutorial


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

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

PVS-Studio corporate blog Open source *Game development *


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

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

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

Programming *Game development *Lua *
Sandbox
Всем доброго времени суток.

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

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

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

Итак, кому интересен данный процесс прошу под кат.
Читать дальше →
Total votes 16: ↑15 and ↓1 +14
Views 7.1K
Comments 14

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

C++ *Game development *ООP *
Sandbox
В своей статье я бы хотел поделиться технической частью игры, которую сделали два человека. Будут рассмотрены основные архитектурные шаблоны (design patterns) и приёмы, дополнительные библиотеки, особенности портирования при работе с движком cocos2dx. Исходный код здесь.


Читать дальше →
Total votes 24: ↑18 and ↓6 +12
Views 22K
Comments 38

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

Website development *Development of mobile applications *Development for Android *
Tutorial

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.

Читать дальше →
Total votes 17: ↑16 and ↓1 +15
Views 102K
Comments 4

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

C++ *Game development *
Sandbox

Предисловие


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

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

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

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

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

Приступим!
Читать дальше →
Total votes 23: ↑21 and ↓2 +19
Views 36K
Comments 13

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

C++ *Game development *
Tutorial

Предисловие


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

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

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


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

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

C++ *Game development *
Tutorial

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


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

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

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

C++ *Game development *
Tutorial

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


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

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

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


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

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

C++ *Game development *
Tutorial

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


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

Продолжим!

UI компоненты


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

Виджеты


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

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

C++ *Game development *
Tutorial

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


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

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

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

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

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

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

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

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

Programming *Designing and refactoring *Game development *
Sandbox
Привет, Хабр! Представляю вашем вниманию перевод статьи "Design Patterns in Cocos2d-x" автора Aleksei Pinchuk.

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