Technology

iBloomVR for Autism coming soon on Google Play 1024 640 New_bluecreazione

iBloomVR for Autism coming soon on Google Play

After a long 1.5 Years of development and designing we are proud to bring you iBloomVR, the app which has also helped kids with Autism.

Blue Creazione has been working together with iBloomVR Pvt Ltd. since last 2 years. Entire team of iBloomVR has been on their toes to get the best experience for Autistic Kids.

iBloomVR will be released to all Android users between 23-25th December 2019. We will post more info and more details regarding iBloomVR Application soon.

To know more about how iBloomVR has been proven to work wonders on kids, check out its website. www.ibloomvr.com

NPOT to POT Texture Converter 1024 450 New_bluecreazione

NPOT to POT Texture Converter

We had a lot of trouble creating POT textures from the very start of the project in Unity. It’s difficult to control over the sprites and textures sizes from the very start. Its for the same reason we have created a unique tool which would make your NPOT (non power of 2) image to a POT (power of 2) image. POT textures are images which are of the size 2×2, 4×4, 16×16, 32×32, 64×64, 128×128, 256×256 etc. If you use image in your project which is the size of Power of two, Unity, Unreal or any other engine will compress the image and store less size image in the Memory. Also its easier for the engines to process such images.
Many developers prefer using POT images for websites as well as they are of smaller foot print on the memory.

Check out our tool http://www.bluecreazione.com/imageprocessor which can bulk convert your current images to a POT images. Our application uses closest technique to scale and adjust your image to make it POT. You can use the application for free.

Unity 2019.3 New Input System 1024 576 New_bluecreazione

Unity 2019.3 New Input System

New technology has dramatically changed how we play and consume media in recent years. Every new wave of technology also brings new devices along with specific control requirements.
Yesterday I installed latest 2019.3.0f1, in this version, Unity introduced new Input System in Preview packages. I feel it’s specifically for Controllers.
The new Input system is built from ground up with ease of use, consistency across platforms and flexibility in mind.

How to import new input system into project

To get started you will need to create a new Unity Project or open a project you want to add the new input system in. Navigate to the “Window” > “Package manager”. You will then need to select the “Advanced” menu and select “Show preview packages”. After click on import button, New input system will be successfully added into unity project. However you will need to restart Unity.

Add C# script for input system

Click on Project and select “Input system” from Drop down and rename it. After that, input system tab will open and Three fields are present which are Action Maps, Actions and Properties.
Add a new Action map and after that create new Action as per your game needs, then click on Binding. In Property Window you can select the binding path from Drop down or simply connect your game controller and click on listen and press the button you want to select for performing action.
After Adding all the Actions into Action map, select the file you created for Input system and in inspector select the Generate C# script. This will generate C# Script for you, you don’t need to write on this script. Now create new script to make use of this C# file. and define all the game actions into void Awake() method.

I am just write sample code for your reference.

ActionControl controls; // ActionControl is the C# file unity made for us.
void Awake()
{
controls = new ActionControl(); // Initialize
controls.Gameplay.Punch.performed += ctx => Punch();
// Gameplay is the ActionMap and Punch is the action. “ctx” is Context.
//performed is the type of event. It can also be cancelled. However we want to listen to Button Down so Performed is for us here.
}
void Punch()
{ //Anything you want to do when Punch Action is called.
animation.setTrigger(“Punch”);
}

Bug in New Input System

After Adding all the actions into action map and adding the script, I tested on two devices by connnecting my game controller to mobile using bluetooth.

After testing, result varied on different devices, in moto g5(s) plus, some of the actions are not performed as i defined in action map but in ASUS Zenfone max pro M1, actions are performed as defined and they are similar to what we observed on Windows 10. Controller we used was PS4 Controller.

So for now, I will wait before we update our current game’s input system to Unity’s input system. We still haven’t tested on IOS to see if the results are the same. That will be done shortly. If we find that IOS works similar to Windows then I guess it’s fair to say that New Input System works 90% of times. And definitely this new system seems clean and simple to implement. So everyone should try to see if their project needs this.

However, I hope Unity will resolve this bug in their future releases.

If you want help implementing New Input System in your project do let me know. We will be happy to help you out.

Text to speech in Unity WebGL 490 306 New_bluecreazione

Text to speech in Unity WebGL

I and my team just finished up an awesome POC with our client. We used some really simple tricks to get our 3d character model to speak whatever we typed in the text area in HTML. Before I go into this, you should be aware of Unity, Javascript, HTML.

Believe it or not, but to convert text to speech there is a very simple Javascript function. This function is not difficult to find online when you know the keywords like Speech Synthesis. Most of the top browsers including Apple’s Safari has this feature. Below is the code which converts Text to Speech,

   function Speak(str) {
  var msg = new SpeechSynthesisUtterance(str);
  msg.lang = ‘en-US’;
  msg.volume = 1; // 0 to 1
  msg.rate = 1; // 0.1 to 10
  msg.pitch = 1; //0 to 2

  // stop any TTS that may still be active
  window.speechSynthesis.cancel();
  window.speechSynthesis.speak(msg);
}

Above function is a simple Javascript code which can be used in any HTML file. And doesn’t require server to run. The above function takes in a parameter “str”. This is the string which you need computer to speak. Call the Speak function and see how the computer speaks.

As its fairly easy to use the above function of JS in your HTML, most developers would prefer that. However if in case you want to access such functionality in C# of unity, you can do following steps.

1: Create a .jslib file (Simple text file) and place it under “Plugins” folder in your “Assets” folder in unity.

2: Edit the .jslib file you created and add below code to it.
var MyPlugin = {
Speak: function(str){
  var msg = new SpeechSynthesisUtterance(str);
  msg.lang = ‘en-US’;
  msg.volume = 1; // 0 to 1
  msg.rate = 1; // 0.1 to 10
  msg.pitch = 1; //0 to 2
// stop any TTS that may still be active
  window.speechSynthesis.cancel();
  window.speechSynthesis.speak(msg);
}
}

3: Now you are ready to use this function in your MonoBehaviour C# code. Add the “using System.Runtime.InteropServices;” on top of the C# file.
Right above your “Start()” function, make sure you declare the function you want to call by adding
“[DllImport(“__Internal”)]
private static extern void Speak(string str);”

4: That’s it, now you can call ” Speak(“Text you want to speak”);” function anywhere inside Start, Update, FixedUpdate, etc…

The Example C# file would be like this.
using UnityEngine;
using System.Runtime.InteropServices;
public class NewBehaviourScript : MonoBehaviour {
[DllImport(“__Internal”)]
private static extern void Speak(string str);

void Start() {
Speak(“Text you want to speak.”);
}
}

There you go, we just saved you a few $$ by above code. If you have any of such cool stuff to do in Unity, connect with me. I and my team will be glad to help you and your team.

Cocos2dx error argument value 10880 fix 1024 450 New_bluecreazione

Cocos2dx error argument value 10880 fix

There has been a strange Xcode error which has been causing lot of issues lately. Here is a fix to that.

When building your Xcode project for Cocos2dx, you would encounter an error which would say “Argument value 10880 is outside the valid range [0, 255] btVector3.h“. Till Cocos2dx team fixes this issue in their next update after 3.17.2, here is a quick fix.

Find the below Line in the btVector3.h file,

#define BT_SHUFFLE(x,y,z,w) ((w)<<6 | (z)<<4 | (y)<<2 | (x))

Replace the above line with below line,

#define BT_SHUFFLE(x, y, z, w) (((w) << 6 | (z) << 4 | (y) << 2 | (x)) & 0xff)

That’s it, this should temporarily fix the issue.

Below is the reference for this post,

https://discuss.cocos2d-x.org/t/xcode-11-ios-13-cocos-not-running/46825

Black is the new Apple White with iOS 13 New_bluecreazione

Black is the new Apple White with iOS 13

With the new OS finally out after a year, iOS 13 definitely feels straight out new. Even though it has the same Icons layout, same Dock, same Settings etc. iPhone feels new only because of a new feature, “Dark Mode”.

It has been seen coming ever since Mac OS got the Dark Mode. Everyone wanted to see the same White changing feeling on iPhones and iPads.

With the new release of iPhone 11 series, came in the new IOS 13. Perfect companion for an iPhone or iPad, iOS and iPadOS 13 feels great.

The speed of unlocking has been definitely increased. Visual increase in app opening speed makes iOS devices even snappier. When I say iOS devices, its literally all the iOS 13 supported devices which have got all these speed bump, Apple Arcade and Dark Mode.

Apple Arcade is yet another awesome feature by Apple. Although you would wonder that already iOS games were great and sharp! But it just got all new Shinier with Apple Arcade. Apple Arcade will only showcase non In App Purchase, completely free to play games which had great gameplay and looked visually stunning. Apple Arcade comes with a month of free subscription and after that it comes to $4.99/Month.

Apple TV + has been released as well with the new iOS 13. It will stream great new shows. Its similar to Amazon Prime, Netflix and other streaming services. But there will be limited series and high quality content.

Download iOS 13 now. For more on iOS 13 check out Apple site below.

Cordova v5 Push notifications for IOS and Android 150 150 New_bluecreazione

Cordova v5 Push notifications for IOS and Android

Push notifications are very useful in the mobile applications and it is fast and efficient way to communicate directly with customers.

Push notifications are used to send real time updates,share important news and exciting offers to customers, To achieve the Cordova v5 Push notifications for iOS and Android, We used Firebase API which is provided by google.

There are different process of Push notifications for iOS and Android, we discuss it one by one.

The plugin used for Push Notifications for iOS and Android is “phonegap-plugin-push” and you have to run command in command prompt by cordova plugin add phonegap-plugin-push

Push Notifications for Android

To Recieve push notifications in Android, we need device Id or token of Android device and API_Server_Key

Here is the below code to get the device token or Id.

var devicetoken; 
document.addEventListener('DOMContentLoaded', function () {
   
    main();
    
    document.addEventListener('init', function(event) {
  
          var push = PushNotification.init({
            "android": {
                "senderID": "810340046523",
                 sound: "true",
                vibrate: "true",
                forceShow: "true"
            },
           
        push.on('registration', function(data) {
        
        devicetoken= data.registrationId;

        
  });
  push.on('error', function(e) {
    // e.message
});

By using above code we can get the device token or id from android device and Above senderID is mentioned in google.json file which is downloaded from Firebase.

To get the API_Server_Key, We need to Register the Android application into firebase by using app’s package name and after registering the app into the firebase we can get the API_server_key and legacy server_key from firebase.

By using this API_server_key, we need to put this into PHP code for cordova-Android Push notification which is as follows.

$path_to_firebase_cm = 'https://fcm.googleapis.com/fcm/send';   
 $fields = array(
        'registration_ids' => array($user_device_key),
        'priority' => 10,
        'notification' => array('title' => $_POST['notification_title'], 'body' =>$_POST['notification_text'] ,'sound'=>'Default','image'=>'Notification Image' ),
    );
    $headers = array(
        'Authorization:key=' .'API_server_key',
        'Content-Type:application/json'
    );  

    // Open connection  
    $ch = curl_init(); 
    // Set the url, number of POST vars, POST data
    curl_setopt($ch, CURLOPT_URL, $path_to_firebase_cm); 
    curl_setopt($ch, CURLOPT_POST, true);
    curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
    curl_setopt($ch, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4 );
    curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($fields));
    // Execute post   
   $result = curl_exec($ch );
curl_close( $ch );
 //echo $result;
 $this->Flash->success(__('Notification sent to Android.'));
                  return $this->redirect(['action' => 'index']);

After Putting the above php code and entering the API_server_key, You are able to send the push notification for android by using Cordova v5.

Push Notifications for iOS

To receive the push notification in ios by using cordova v5, we need to register the iOS app into the firebase console by putting the Bundle Id of iOS app and after that we can download the googleinfo.plist file which can be placed in root folder of app.

We also need the Authentication key in iOS which is not needed in Android, To get the Authentication key and Team_id, We need to follow some steps which are as follows.

1.In Apple developer account,go to Certificates, Identifiers & Profiles, and under Keys, select All.

2. Click the Add button (+) in the upper-right corner.

3. Enter a description for the APNs Auth Key

4. Under Key Services, select the APNs checkbox, and click Continue.

5. Click Confirm and then Download. Save your key in a secure place. This is a one-time download, and the key cannot be retrieved later.

After getting the APN_Authentication_key, We need to put it into iOS application in firebase console under APNs Authentication Key.

We also need to create Provisioning profile and upload it into firebase console, To create this we need to follow some steps which are as follows.

  1. Navigate to the Apple Developer Member Center and sign in.
  2. Navigate to Certificates, Identifiers and Profiles.
  3.  the drop down menu on the top left corner, select iOS, tvOS, watchOS if it’s not already selected, then navigate to Provisioning Profiles > All.
  4. Click the + button to create a new Provisioning Profile.
  5. Select iOS App Development as provisioning profile type, then click Continue.
  6. In the drop down menu, select the App ID you want to use, then click Continue.
  7. Select the iOS Development certificate of the App ID you have chosen in the previous step, then click Continue.
  8. Select the iOS devices that you want to include in the Provisioning Profile, then click Continue. Make sure to select all the devices you want to use for your testing.
  9. Input a name for this provisioning profile (e.g. Firebase Sample App Development Profile), then click Generate.
  10. Click Download to save the Provisioning Profile to your Mac.
  11. Double-click the Provisioning Profile file to install it

By following above steps we can get the Provisioning  profile, we need to upload this profile into fireabase console and we also need to enable the Apple Push notification service in the Xcode.

After Following above all steps now we need to get the device token of iOS device, we can get it by using following code.

var devicetoken;
document.addEventListener('init', function(event) {
  
          var push = PushNotification.init({
           
            "ios": {"alert": "true", "badge": "true", "sound": "true"}, 
            "windows": {} 
        });
        push.on('registration', function(data) {
        
        devicetoken= data.registrationId;
      
        
  });
  push.on('error', function(e) {
    // e.message
});

Since we already registered our iOS app into firebase console, So we can easily get API_server_key in the Project settings and we use this ApI_server_key into the below PHP code.

define( 'API_ACCESS_KEY', 'Your API_server_key' );
$registrationIds = array($user_device_key );
// prep the bundle
$msg = array(
        'body'  => $_POST['notification_text'],
        'title'     => $_POST['notification_title'],
        'vibrate'   => 1,
        'sound'     => 'Default',
    );
$fields = array(
            'registration_ids'  => $registrationIds,
            'notification'      => $msg
        );

$headers = array(
            'Authorization: key=' . API_ACCESS_KEY,
            'Content-Type: application/json'
        );

$ch = curl_init();
curl_setopt( $ch,CURLOPT_URL, 'https://fcm.googleapis.com/fcm/send' );
curl_setopt( $ch,CURLOPT_POST, true );
curl_setopt( $ch,CURLOPT_HTTPHEADER, $headers );
curl_setopt( $ch,CURLOPT_RETURNTRANSFER, true );
curl_setopt( $ch,CURLOPT_SSL_VERIFYPEER, false );
curl_setopt( $ch,CURLOPT_POSTFIELDS, json_encode( $fields ) );
$result = curl_exec($ch );
curl_close( $ch );
//echo $result;
$this->Flash->success(__('Notification sent to iOS.'));
                 return $this->redirect(['action' => 'index']);
}

After Putting the API_server_key into the above code,Now we are able to send push notifications into iOS App.

So By following above steps for Android and iOS we are able to send the Push notifications by using Cordova V5.

Reference Links:

https://firebase.google.com/docs/cloud-messaging/ios/client

https://console.firebase.google.com/

https://firebase.google.com/docs/android/setup

Jenkins 237 219 New_bluecreazione

Jenkins

I come across the Jenkins when i worked on Selenium webdriver(Test Automation tool) and i am looking for tool which provides continuous integration and continuous deployment tool and i heard about jenkins,and after learning about it, I come to know that Jenkins is the best tool for CI/CD integration and it can be used while developing the software,you can use it for testing continuous project builds and logs the error and Jenkins is mainly used for building,testing and deploying the software.

There are soo many features of Jenkins, Some of them are as follows.

  1. Jenkins is open source and free and it is entirely written in java.
  2. It supports various plugins and user can also install the external plugins in the plugin section of jenkins.
  3. Jenkins can be integrate with most of the build and testing tools like Selenium,Maven.GIT.
  4. IT is very ease to use and most of the functionality are present in the dashboard itself.
  5. IT is server based tool and it works on Apache tomcat server and installation process of jenkins is also very easy.

The current version of Jenkins is 2.176 and version i used earlier was 2.138.

As my point of view, Jenkins is widely used build and release tool and most of the companies are using this tool for continuous integration/continouos deployment and i would recommend this tool for whom, who wants to test continuous build of the software and want to resolve the error in the early stage of development and after successive build and test,it can also be used for deployment of software.

Since Jenkins have so many important features as i discussed above but there are some negative points which are as below.

  1. Tracking and accountability problems with the pushed code from Git.
  2. Jenkins doesn’t provide any analytics (there are plugins but they are not enough) on the end-to-end deployment cycle. 

Download this now

Adobe @ Blue Creazione New_bluecreazione

Adobe @ Blue Creazione

When you are designing something, there is always a scope of improvement. Its not that you are not good at it. That actually means that you are learning something new each and every time

“Have no fear of perfection — you’ll never reach it. ” Salvador Dali, artist

Art and Animation that go hand in hand are supported by ultimate softwares like Photoshop, Illustrator, After Effects . Where in Illustrator , you can use the puppet wrap tool to create animations, in AE you have the puppet tool . Photoshop is best for shading and art and gifs and what not.

At Blue Creazione, we use Photoshop and the famous Wacom Tablet to Design characters, Levels and Icons for games. From UI Designing to App Icons , we use photoshop for our day to day designing.

For our latest game, we have designed all the stages in Photoshop

Technologies 150 150 New_bluecreazione

Technologies

Our team excel in all the above shown technologies.