I had installed Android SDK 3-4 Months back as I wanted to start experimentation with Touch Devices and also there were plans to start a bit of application development through eclipse. Working and experimenting with Touch Devices is a thing that really excites me.
When I came to know about ‘Game-Maker : Studio’, I was completely taken over by it. It is the same 2D game engine successor to ‘Game-Maker 8.1’ and ‘Game-Maker HTML5’. The best part of GM : Studio is that it offers porting to various platforms like Android, iOS etc and moreover is powered by ‘Cocos 2D’, which is a powerful 2D Physics Engine. Has a lot of other features…
( This is purely my opinion. There might be many of you out there and there are many who don’t like ‘Game-Maker : Studio’ or Game-Maker in general. I know, other than Game-Maker, there are also many 2D game engines like GameSalad, Stencyl, etc, but considering 2D game development, I found the interface for ‘Game-Maker : Studio’ to be fairly simple offering for fast and powerful 2D game development. Now once again, this differs from person to person.)
So after seeing all the features of ‘Game-Maker : Studio’, many ideas and thoughts started circling & dwindling in my mind. And then the thought of starting my own Android Game/App Development through Game-Maker : Studio hit me. Now there was one good thing that I was having my own Android Device for testing.
However I had never worked on Touch Devices before, and secondly, had never tried that out in GM : Studio. So working that out was not easy.
First, I searched for all the touch functions in GM : Studio and started studying them. After some days having read the API Documentation carefully and also by reading on some forums, I came to know that these touch functions can also be used on a Windows machine/Platform as well as on a Touch Device. What I mean to say is that : by considering these Touch Functions like – ‘device_mouse_x(0)’, ‘device_mouse_y(0)’ etc, Game-Maker considers a touch event on a touch device like a mouse click on a Windows system. That turned out to be a best thing. So I decided that first, I’ll test my work on Windows system and then on a Touch Device.
Before directly jumping on for Android Game Development through GM : Studio, first I needed to work out on some touch logic and mechanics and get that properly running on a touch device without any errors. So I needed to start with something fitting within my scope. There was this idea from a long time – of creating a Drawing/Painting Application on touch devices and after analyzing that idea(what are the mechanics, how complicated are the mechanics,…) , I decided to work that out first on touch devices through Game-Maker : Studio.
Now, in order to create this drawing application, I had to make use of something from GM : Studio as which will bring out that desired effect. I had read about the ‘Particle System’ in Game-Maker and decided to use it to bring out the effect I wanted.
After 4-5 Days of experimenting with Particle System, it was a partial achievement for me. Particles are not objects, they generate graphics and help in creating magnificent effects like Smoke Trails, Blood-Splatters etc.
What I had done was taken a simple light cream-brown colored image as background and had chosen red color for the particles as which will resemble something drawn by a brush from an application like ‘Paint-Brush’ in Windows.
I wanted to create the same effect as one would get from an application like paint-brush, but on a touch device with the help of his finger.
(As explained above I decided to test my project first on Windows and then on a Touch Device) What was happening – When I pressed the Left Mouse Button and started drawing with a slow or normal speed, it was creating that same fluid effect and I was really happy to see it. But when I performed a fast brush like stroke, the red particle trail use to lose it’s fluidity and many gaps were introduced in between. This was a bit disappointing. I tried tweaking by making changes in the logic but no use, the gaps persisted.
Now it was time to test it on my Android Device – ‘Samsung Galaxy S III’. The file executed perfectly on my device as it did on windows!. So though being buggy, it was my first creation on an Android Touch Device!!.
I knew, I had to get that bug sorted. Again I started my research and after some days I stumbled across what is called as ‘Surfaces’ in Game-Maker. Again, I had heard of them, but never used before. Surfaces are another magnificent thing provided by Game-Maker. Allows to create layers of different sizes to draw over it, save that specific area or perform other functions.
With these features of Surfaces, I decided to give it a try. So, I replaced my entire logic of Particle System with Surfaces and tested it first on my Windows system. To my surprise that thing worked like a charm on Windows! The exact paint-brush like effect that I wanted! This time I had taken a plain white background and performed operations over it. The result – whether you draw it slow or fast, no gaps & yess, a true success moment on Windows.
Now it was time to check it once again on my Android Device. After testing it on my device, I was happy but also taken aback a bit. Every time I would touch my finger on the screen, an extra line was getting added from the current touch co-ordinates till the previous touch co-ordinates. But apart from this, it was the same effect that I wanted!! You write your name or scribble on your Touch Device, perfect , the effect was there!! (now just ignore the buggy extra line part)
This was very much better as compared to my previous draft where I had used Particle System.
I’ve posted respective screenshots using ‘Particle System’ as well as ‘Surfaces’. You can find them by going over to the page named as –
‘O’Paint – Android..’
My work is still in progress and currently I’m trying to remove that ‘Extra Line‘ bug on a touch device.
I’ll keep posting and updating about the status of my app.