Быстрый путь к успеху Pixar с Академией Хана

MikeВсе мы любим Pixar и ее инновационные анимационные проекты, лишь по недоразумению называемые мультфильмами (хотя мультфильмы мы тоже любим). И сегодня появилась отличная новость: Академия Хана (Khan Academy) — некоммерческая образовательная организация, созданная в 2008 году выпускником MIT и Гарварда Салманом Ханом (не путать с популярным и скандально известным индийским актером) теперь в партнерстве с Pixar открыла доступ к бесплатному курсу обучения технологиям, лежащим в основе творческого процесса Pixar Animation Studios.

Сотрудничество между Khan Academy и Pixar Animation Studios позволило предоставить доступ людям бесплатный ресурс, позволяющий узнать о творческих кулуарах студии. Курс называется Pixar in a Box, и представляет собой набор онлайновых академических инструментов, спонсируемых Disney, который включает в себя видео уроки, различные интерактивные упражнения и практические занятия.

Уникальная платформа размещенная на сайте организации, предоставляет специализированный контент совместно с проникновением в суть того, как исполнены фильмы Pixar. Курс был специально разработан для студентов, хотя и бесплатно доступен для учащихся всех возрастов.

Обучающимся предоставляется возможность открыть для себя возможности, позволяющие специалистам Pixar создавать миры, различную анимацию персонажей и рассказывать истории посредством анимационных фильмов. Элис Клайдман (Elyse Klaidman), директор университета и архивов Pixar (Pixar University and Archives) сказала о том, что в течение многих лет от преподавателей соответствующих дисциплин к ним поступали просьбы о передаче опыта и знаний. И сегодня это долгожданное событие произошло. Pixar in a Box делает эту мечту многих реальностью. «Мы надеемся, что это не только даст студентам извне увидеть кухню Pixar, но также даст представление о понятиях концепции STEAM (science, technology, engineering, arts, and mathematics).

Курс научит студентов различным аспектам творческого процесса, в том числе, комбинаторике, используемой для создания множественных персонажей (рой роботов в WALL-E), параболическим моделям, используемым для моделирования сред (лес в Brave), использованию самых разнообразных инструментов.

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

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

Видео-анонс можно посмотреть ниже

ссылка на оригинал статьи http://megamozg.ru/post/18986/

Оператор связи в США накажет пользователей безлимитных 4G-тарифов за чрезмерное использование трафика

Глава американского оператора связи T-Mobile Джон Легер пообещал отключить абонентов, злоупотребляющих 4G-трафиком. Легер заявил, что компания «устранит любого, кто злоупотребляет сетью», и отметил, что некоторые из таких пользователей потребляют два терабайта трафика ежемесячно. T-Mobile примет меры в отношении тех, кто использует торренты и пиринговые сети.



Джон Легер опубликовал на сайте T-Mobile открытое письмо к клиентам компании. Когда клиент покупает LTE-тариф для смартфона, T-Mobile включает в него ограниченное количество трафика для использования телефона в качестве хот-спота — чтобы пользоваться им, когда нет широкополосного интернета. Если клиент достиг лимита, скорость снижается. Если нужно раздавать больше трафика — можно оплатить его.

Но некоторые клиенты используют приложения, которые скрывают факт раздачи и маскируют активность. Таких опытных пользователей мало — одна сотая процента от пятидесяти девяти миллионов абонентов T-Mobile, но некоторые из них потребляют по два терабайта трафика в месяц.

На этой неделе я нацелился на группу людей, которые на самом деле воруют данные у T-Mobile. Хотя их активность мы не проверяли, их действия могут на самом деле негативно повлиять на опыт честных клиентов T-Mobile.

ссылка на оригинал статьи http://geektimes.ru/post/261166/

Первую ракету «Союз-2.1а» отправят на космодром «Восточный» 6 сентября

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

Запуски космических аппаратов запланированы на декабрь этого года. Так, ракета «Союз-2.1а» должна вывести на расчетную орбиту такие спутники, как «Михайло Ломоносов» и «Аист-2Д».

Что касается первого спутника, аппарата «Михайло Ломоносов», то он создан в МГУ имени Ломоносова, и предназначен для изучения экстремальных физических явлений в атмосфере Земли. Это, например, образование молний. Кроме того, будут изучаться физические явления, происходящие в околоземном космическом пространстве и в глубоком космосе. Второй спутник, «Аист-2Д» разработан ракетно-космическим центром «Прогресс» и Самарским государственным аэрокосмическим университетом. Он создан для изучения действия условий космической среды на летательные аппараты, созданные человеком.

Что касается космодрома, то указ о его создании был подписан в 2007 году. «Восточный» начали строить в 2012 году, и с тех пор срок сдачи объекта в эксплуатацию неоднократно сдвигался. Первый запуск с космодрома «Восточный» планируется осуществить до конца 2015 года. Строительство же стартовой площадки для «Союза-2» планируется завершить до 30 ноября.

ссылка на оригинал статьи http://geektimes.ru/post/261164/

Релиз RAD Studio 10 Seattle

Друзья, поздравляю всех с выходом RAD Studio 10 Seattle!

Несколько часов назад компания Embarcadero представила новую версию RAD Studio 10 Seattle.
RAD Studio 10 Seattle — это законченное средство для быстрой разработки кроссплатформенных приложений с помощью Object Pascal и C++.

Сразу хочу пригласить вас на вебинар по новым возможностям, который будет проходить в четверг, 3 сентября, в 12-00 MCK. Регистрация.

Основные новые возможности Delphi 10 Seattle:

Невероятный уровень поддержки Windows 10

Разработчики на Delphi и C++Builder смогут быстро обновить свои VCL- и FMX-приложения и в полной мере воспользоваться бурным ростом интереса к Windows 10. Поддерживаются компоненты Windows 10 и «родные» API и компоненты WinRT/UWP, элементы интерфейса Windows 10 VCL. Также обновлена поддержка Windows 10 FMX.

Новый компилятор C++11, основанный на архитектуре CLANG

В C++Builder 10 появился первый в мире компилятор C++ на основе CLANG для Windows и мобильных платформ с расширениями RAD PME, обеспечивающими быструю разработку для Windows и других платформ. Он поддерживает тесную интеграцию с VCL для Windows и кроссплатформенными структурами FMX, язык C++11 и управление памятью на основе ARC (автоматического подсчета ссылок) для C++, а также обладает обратной совместимостью. Новый компилятор C++Builder делает версию RAD Studio 10 обязательным обновлением для разработчиков на C++ и новых разработчиков, переходящих на C++ с других языков и наборов инструментов — Java, Objective-C, C#, Xcode, Xamarin и Visual Studio.

Удвоенный размер проектов в IDE

Из незаметных для пользователя изменений можно отметить переработанную в данной версии архитектуру системы управления продуктами и сборками, которая позволила фактически удвоить поддерживаемый размер проектов и повысить стабильность и производительность при работе с крупными проектами, особенно для нескольких платформ. Обновление до этой версии пригодится разработчикам, которые сталкивались с ограничениями ресурсов и другими проблемами в крупных проектах.

Стабильность, качество и эффективная документация

Процедуры разработки, тестирования и составления документации были серьезно доработаны. Теперь они лучше подходят для создания приложений на нескольких языках для платформ, поддерживаемых новой версией RAD Studio. Кроме того, проведенная работа позволила реализовать для всех поддерживаемых платформ и языков новые возможности и функции, обеспечивающие повышенную стабильность, качество и эффективность документации. RAD Studio 10 — это новый стандарт стабильности, качества и эффективной документации

Другие новые возможности:

— поддержка параллельной компиляции C++;
— отладка iOS 64x приложений;
— поддерживается iOS 8.4;
— поддерживается Android 5.1.1;
— поддержка служб Android;
— поддержка модульного тестирования DUnitX для Android и iOS;
— поддержка DirectX 12;
— поддержка вызова API WinRT;
— поддержка FireDAC для базы данных NoSQL MongoDB
— новое поведение MultiView;
— новые компоненты VCL;
— новые компоненты для работы с Beacon;
— улучшен механизм стилей;
— улучшен диспетчер библиотек GetIt;
— улучшены возможности IDE;
— и многое другое.

Несколько полезных ссылок по теме:

Подробнее с тем, что появилось нового в этой версии, вы можете ознакомиться на нашем сайте:
http://docwiki.embarcadero.com/RADStudio/Seattle/en/What’s_New

Обзор RAD Studio 10 Seattle:
www.embarcadero.com/ru/products/rad-studio

На официальном сайте появилась возможность скачать RAD Studio 10 Seattle:
downloads.embarcadero.com/free/rad_studio

или используйте ISO-образ для установки новой версии:
altd.embarcadero.com/download/radstudio/10/delphicbuilder10.iso

Всем удачи! Пусть этот новый релиз придёт к каждому и осуществит надежды и мечты, и поможет нам создавать быстро и качественно новые проекты!

ссылка на оригинал статьи http://habrahabr.ru/post/265819/

[ libGDX ] Опыт разработки игры с использованием Box2D

Здравствуй, Хабр! Ух! Давно же я не писал здесь. Итак, начну пожалуй с небольшой предыстории и заодно приведу скриншот получившейся игры.

TOTAL100
Скриншот игрового процесса

Примечание: статья для новичков, однако, если вы гуру и увидели ошибку в суждениях/коде автора, то просьба писать об этом в ЛС или в комментариях. А я их добавлю в статью.

Предыстория

Весь последний год я работал веб-программистом на языке Python. Не скажу, что мне это не нравилось, однако душа желала творчества/независимости/перемен/успеха (подчеркните своё, инди разработчики игр). И было время писать что-то своё по вечерам, но до чего-то хоть немного значимого это так и не дорастало (ввиду банальной усталости и желания провести время отдельно от компьютера).
Но вдруг, на горизонте замаячила возможность. Я и ещё пара друзей решили сделать свой проект. Идея была расписана, делались презентации, рисовались графики, среда разработки была запущена, но не хватало только одного — инвестора. Денег надо было не очень много (по обычным меркам), но мы так и не смогли найти заинтересованного человека «при деньгах». Что ж, подумал я, раз так, тогда пора бы освободить своё воображение и пустить его в разработку какой-нибудь маленькой, но гордой игры. Об этом и дальнейшая статья.

Идея

Я намеренно старался не брать чью-то идею или просто копировать уже готовое. Изначальная идея была в том, чтобы просто бросать шарики разного цвета на стенки того же цвета и вести счёт. Но сделав первый вариант игры я понял, что она скучная и ни разу не затягивает. Тогда-то мне пришла мысль сделать цифры с разными знаками (плюс, минус), вместо шариков и добавить «ненавистный нуль» (с), обнуляющий все очки игрока.
Потом я понял, что игрока нужно как-то ограничивать и добавил таймер. Затем, добавил уровни (хотя, изначально хотел сделать просто таблицу рекордов). Уровни должны были как-то усложняться, поэтому я добавил препятствия в виде стенок и платформ. Уже ближе к концу разработки я подумал, что нулю нужно дать особые права и сделал его неуязвимым для стенок и платформ, что очень злило моих «домашних тестеров» и крайне забавляло меня.

image
Скриншот главного меню игры

Сроки

Поскольку, у меня в любой момент могло «кончиться» свободное время, я решил поставить себе цель — написать игру за неделю. Цель эту я достиг. Игра, безусловно, ещё сыровата, но всё же уже в маркете и меня это радует.

Реализация

Для реализации своих идей я выбрал свой любимый фреймворк libGDX, который хорошо интегрирован с физическим движком box2D. Вообще, libGDX прекрасен. У него действительно хорошая документация, которая выручала меня в 80% случаев, а в 20% помогал stackoverflow. Также, он сейчас прекрасно интегрируется с Android Studio (раньше не мог), что опять же добавляет ему плюс. Получившиеся приложения получаются весьма и весьма лёгкими (в отличие о того же Unity3D) и довольно стабильными (если руки не кривые, как у меня 🙂 ).

Проблемы

Проблемы — это конечно громкое слово, однако напишу здесь о нескольких возникших проблемках, которые отняли у меня кучу нервов и времени.

  1. Физический мир. Честно, я не знаю, как я мог пропустить этот момент в документации (он описан в коде), но долго не мог понять, почему мои физические тела такие медленные. Проблема была в том, что я указал размеры камеры равные размеру экрана:
    // Я писал так box2DCamera = new OrthographicCamera(Gdx.graphics.getWidth(), Gdx.graphics.getHeight());  // А надо было например так. 14 -- это число, которое меня устроило. scrWidth и scrHeight -- это размеры экрана. Такая формула позволяет запускать данный код на любом экране и всё растянется пропорционально box2dCamera = new OrthographicCamera(14 * (scrWidth / scrHeight), 14); 

  2. Спрайты/Изображения. Если работаешь с физическим движком, то размеры изображений и их позиции нужно задавать исходя из нескольких параметров:
    sprite = new Sprite("your_sprite"); sprite.setBounds(body.getPosition().x / 2f, body.getPosition().y / 2f, radius, radius); // в моём примере я тело было круглым, поэтому здесь два раза повторяется radius. sprite.setOrigin(sprite.getWidth() / 2f, sprite.getHeight() / 2f); 

  3. Вращение объектов и спрайтов. Если вы хотите вращать физическое тело, то просто передав значение угла спрайту вы ничего хорошего не получите. Необходимо перевести значение из радианов в градусы:
    sprite.setRotation(MathUtils.radiansToDegrees * body.getAngle()); 

  4. Ещё были моменты с dispose() у объектов текстур и прочей графики. Дело в том, что (и это описано в документации, но я её плохо читал) если вы пользуетесь AssetManager, то ни в коем случае не делайте dispose() отдельной текстуры, полученной из менеджера, так как он её удалит и впоследствии вы увидите чёрное пятно вместо объекта графики.
  5. Ещё было много матов с удалением объекта из физического мира. Решение гуглится, но я всё таки приведу пример здесь:
    Iterator<GameObject> i = gameObjects.iterator(); while (i.hasNext()) {     GameObject object = i.next();     if (!world.isLocked()) { // ВАЖНО! Если не сделать эту проверку, то получите ошибку. Так мы проверяем, можно ли удалить объект или он как-то используется в мире (коллизии и т.п.)         object.getBody().setActive(false);         if (mouseJoint == null) { // Это проверка на касание объекта. mouseJoint -- это захваченное тело при событии TouchDown             world.destroyBody(object.getBody());             i.remove();         }     } } 

Вроде бы, это все проблемы, с которыми я столкнулся при разработке. Пишите в комментариях о ваших проблемах, может чем-нибудь помогу.

Немного советов

  1. Обфускация и минификация. До этого, я никогда не обфусцировал код, а тут решил попробовать. И знаете, понравилось! До обфускации игра весила 4,8 мб, а после её вес уменьшился до 3,7 мб. Делайте выводы сами. Тем более, делается это просто, ведь сейчас ProGuard поставляется по умолчанию с Android SDK и включается парой строк кода:

    Файл android/build.gradle

    android {     ...      buildTypes {         release {             minifyEnabled true             proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-project.txt'         }     } } 

    Файл android/project.properties

    // Раскомментируйте эту строчку proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt 

  2. Не используйте фильтр Nearest (это я про текстуры). По умолчанию, TexturePacker применяет фильтр Nearest, Nearest. Лучше заменить его на Linear, Linear или MipMap, MipMap. Так всё будет плавнее, даже если с размерами картинок не угадаете.
  3. Ещё про текстуры. Не нужно делать их максимально большими, а потом уменьшать с помощью setSize() или setScale(). На выходе может получится смазанное изображение.

Графика и звук

Основной шрифт я взял в Google Fonts, остальные элементы либо рисовал сам в Inkscape, либо брал бесплатные иконки и немного их правил.
Что же касается звуков, то что-то я взял с freesound, что-то сделал сам в LMMS. Получилось вполне сносно. Кстати, в следующем обновлении хочу добавить фоновую музыку, которую как раз намерился делать в LMMS. Программа понравилась. Сильно напомнила Fruity Loops Studio.

TOTAL100
Скриншот экрана уровней

Монетизация

Я пока решил выложить одну бесплатную версию с «межстраничными» объявлениями Admob. Потом, если игра понравится публике, введу возможность для отключения рекламы, а также дополнительные уровни за «коины».

Продвижение

Это самое скучное и не интересное занятие из всех, поэтому я решил, что опубликую на 5-10 ресурсах и хватит. Может, если продукт интересный, он сам найдёт свою аудиторию? (мечты…). Хотел бы почитать в комментариях, как лучше (и желательно недорого) продвигать свой продукт. А то большинство статей на эту тему либо заказные, либо попросту устарели.

Итог

Игру я выложил совсем недавно, поэтому рано ещё говорить о чём бы то ни было. Однако, я многому научился за время разработки игры и полученный опыт можно будет применить на будущих проектах.

Через неделю-две обновлю статью и приложу графики скачиваний/прибыли от рекламы. Спасибо за прочтение!

ссылка на оригинал статьи http://habrahabr.ru/post/265815/