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

    • 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.

    Читать дальше →
    • +15
    • 49,4k
    • 4
  • Разработка 2D игр на Windows, Mac OS, Linux и Android без программирования. Часть 2

      image

      Привет Хабравчане!

      Сегодня я хочу рассказать вам о том, как можно сделать игру без навыков программирования. И да, это не просто красивое и заманивающее название, в созданную игру можно будет играть на Windows, Mac OS, Linux, Android и может быть даже на… iOS? Но об этом позже. Перед началом чтения статьи, я хочу дать вам мое понимание того, что создание игры без навыков программирования – это действительно не круто. Но знаете что еще больше не круто? Тот факт, что вы, владея языками программирования, сутками работаете над кодом, путая ваше рабочее место с постелью, нанимаете дизайнеров, договариваетесь со знакомыми музыкантами, платите рекламщикам, выпускаете свой продукт, а он не окупается! Ну, то есть игру, вашу, в любом случае будут скачивать, и какой-то доход будет капать. Но, будете ли вы довольны тем, какой в итоге получилась ваша игра, и как она продается? К чему я это все говорю? Если у вас в голове живет яркая идея, и вы давно хотите попробовать себя в создании игр, но единственный ваш тормозной элемент, это незнание компьютерных языков, смело пробуйте себя в этом деле. Если же вы владеете языками программирования, и может быть наплодили уже пару не плохих проектов, которые приносят прибыль, данная статья так же будет вам полезна. Я не советую никому здесь бросать все свои знания программирования, и начинать лепить игры в программе, о которой пойдет речь. Мое мнение на этот счет, достаточно простое. С помощью данного приложения, вы сможете создать презентацию вашей игры, затратив намного меньше времени, или как минимум ролик геймплея, который можно будет бросить на YouTube, создать шумиху, получить обратную связь, и работать над игрой, грея себя приятной мыслью, что ваша идея работает, люди ее оценили и ждут. Это не значит, что создание игр, в этой программе, ограничится лишь демо-версиями. Если вы действительно вложитесь душой в это дело, то спокойно сможете создавать полноценные проекты.
      Читать дальше →
    • Конвейерное производство Android приложений

        Многие разработчики сталкиваются с задачей создания кастомизированных приложений. Например, разработка нескольких версий одного приложения или изменения стандартного приложения под требования заказчика. Мы в Rambler&Co столкнулись с такой задачей при разработке Rambler кассы и ее брендированных версий под отдельные кинотеатры. В данной статье рассмотрим эволюцию архитектуры такого приложения, а также инструменты, которые упрощают нам жизнь.


        Читать дальше →
      • Как без мата создать игру на Unity3D

        Пролог


        В начале 2015 года я решил написать свою первую игру. В качестве движка я, не долго думая, выбрал Unity3D, так как у меня был опыт в C# и JavaScript, и знакомые, которые могли помочь. Я вспомнил одну мини-игру, в которую я играл в детстве, и решил сделать нечто похожее. Установил себе Unity и поставил себе цель сделать рабочий прототип за пару недель, параллельно изучая движок.

        Я начал реализовывать эту идею в свое свободное время. Через неделю был рабочий прототип, через полтора месяца у меня уже был работоспособная версия игры со всей прописанной логикой. Я удовлетворился этим и на время отложил игру на полочку. В июне я снова взялся за нее, с мыслями, что мне понадобится максимум месяц на то, чтобы ее доделать. Ох, как же я был не прав…
        Читать дальше →
      • HackerSIM: подделка любого телефонного номера. CTF по социальной инженерии

          «Народ не должен бояться своего правительства, правительство должно бояться своего народа»
          «Privacy is ultimately more important than our fear of bad things happening, like terrorism.»


          Уверены ли вы, что вам звонит тот, за кого себя выдает? Даже если высвечивается знакомый номер.

          Недавно я обзавелся "хакерской симкой всевластия". Которая помимо лютой анонимности имеет фичу — подделка номера. Расскажу как это происходит.

          Чак на своем телефоне, куда вставлена HackerSIM, набирает команду *150*НомерАлисы# и через секунду получает подтверждение, что номер успешно «подделан». Затем Чак звонит со своего телефона Бобу. Телефон Боба принимает вызов, и на нем высвечивается, что ему звонит… Алиса. Profit.

          Далее события разворачиваются в зависимости от социнженерного (или чревовещательного) таланта Чака.

          Я начал разыгрывать своих хороших знакомых.
          Читать дальше →
        • Экспорт Terrain'а из WorldMachin в Unity3D



          Эта статья является адаптированным под современны редактор переводом на русский язык оригинальной инструкции: «Terrain export from world machine to unity».


          World Machine может служить отличным генератором местности для Unity. Unity же имеет нативную поддержку текстур и splatmaps. Вы можете создать и использовать несколько слоёв текстур местности одновременно. Здесь представлен простой рабочий код для импорта в Unity местности из World Machine. Пожалуйста, обратите внимание, что, хотя этот метод работает для основных местностей в unity, многие продвинутые пользователи могут создать собственные шейдеры местности, которые могут потребовать другую технику исполнения.
          Читать дальше →
          • +13
          • 15,9k
          • 1
        • Бесплатный виджет обратного звонка для сайта

            CallBack WidgetНа хабрахабре уже неоднократно поднималась тема тестирования, сравнения и описания виджетов обратного звонка. В комментариях ко многим статьям встречается распространенная мысль – дорого. В результате: одни отказываются от использования подобных виджетов, а другие пишут CallBack-виджет сами, чтобы платить за звонки по тарифам IP-телефонии.
            Проект Zadarma предлагает больше не тратить время и средства на самостоятельное написание виджетов. CallBack-виджет от Zadarma работает бесплатно, а звонки к клиентам происходят по вашему текущему тарифу IP-телефонии (да, с бесплатными минутами, да, посекундно, да, можно отправить звонок к менеджеру на свой asterisk).
            Читать дальше →
          • Настройка общего баланса игр три в ряд



              В продолжение предыдущей статьи, хочу поделиться своим опытом по подготовке и поддержке контента для рядовой игры три в ряд. Поговорим о глобальной кривой баланса, балансе игровых режимов, оценке своих трудов и ряде нюансов, которые возникают в процессе разработки.
              Читать дальше →
            • Редактор Urho3D (часть 1)

              • Tutorial
              Продолжаем разбираться с движком Urho3D. На этот раз я хочу остановиться на редакторе. Он достаточно прост в использовании, но некоторые моменты определенно требуют пояснений, а официальная документация их не раскрывает. Ну и заодно напишем небольшую игрушку. Приступим.


              Читать дальше →
            • Основы Urho3D

              С удивлением обнаружил, что на Хабре отсутствует информация о таком замечательном движке как Urho3D. Поэтому спешу исправить это досадное упущение. В этой вводной статье я постараюсь заострить внимание на тех вещах, которые пригодятся новичкам сразу же, но в тоже время не буду залезать в глубокие дебри, чтобы сходу не перегрузить большим объемом информации.

              image

              Что это за зверь?


              Не будет преувеличением сказать, что Urho3D по возможностям сопоставим с Unity3D и работать с ним так же легко. При этом он бесплатен без каких-либо оговорок (лицензия MIT), доступен для многих платформ (Windows, Linux, Mac OS X, Android, iOS, Raspberry Pi, HTML5), невероятно быстр и легковесен. Позволяет писать игры на AngelScript (синтаксис похож на C#), LUA и C++. Если вы заинтересовались, то добро пожаловать под кат.
              Читать дальше →