I don't know if you've ever had the desire to create a game, but you'll surely know that it's not a simple enough thing:
- you need to study and learn languages like Java, C ++ or HTML5
- compile the file
- use Android SDK
- adapt it to multiple devices
and surely also other procedures that perhaps I don't even know since I gave up already when I discovered that it is necessary to know a language!
But nowadays everything is simplified, there are now applications to do everything, and how could those be missing to create games? And of course there are more than one. If we talk about 3D games, the best program to create them is definitely Unity3D, but obviously this too is not an easy thing, also because it requires the attention of many more people. Just think of an 3D object as a generic character, which has to make movements, which must be designed and implemented ad hoc, also here you need the basics of programming.
If instead we settle for a 'simple' 2D game, the situation is really simplified a lot and we also find more applications to be able to create our game. Making the graphics of these is much simpler. While regarding programming, here it is not necessary.
The most popular (or perhaps the only) programs that allow us to make 2D games, are 4, or GameMaker, Stencyl, Gamesalad e Construct 2. I tried the latest 2 but I immediately abandoned Gamesalad as it is designed mainly for Mac and iOS systems and on Windows it gave many problems. Stencyl can only create Flash games, which we say is now a format that has little importance, while GameMaker and Construct 2 are among the best for performance and also because they allow you to create games HTML5, which is a simple and fast language that can now be executed by all systems and browsers. These last two are the best for performance as I said and as we can see from the following image.
In this comparison however, Construct 2 outperforms 10 more times than others, but beyond that it's really easy to use. In a nutshell we have 2 tabs: one where to place all our objects that will be present in the game and this is the layout, what will be displayed during the gameplay. The other is the event sheet, where we will determine what will happen through conditions and actions, and has the name of event sheet. Of these cards we can create as many as we want, so more layouts to create for example levels or options and loading screens, and event sheets to associate with these layouts so that everyone has their own operation, even if you can use the same event sheet for more layouts, such as the 'structure' of the game, we can use it for all the hypothetical levels.
We have a wide selection of Plugin (behavior), with the possibility of installing new ones, which we can use for our game, each with different characteristics, already packaged and ready to work, but customizable as we prefer. I will mention someone to give examples: bullet which simulates a bullet; platform which simulates an object that we can move from the keyboard, make it jump, etc; physics which simulates physical laws, such as friction, rebound, impulses, forces, etc. and many others, which can be applied to real objects that will represent our character or what it is.
Among these, the most important is sprite, because it takes a while to do anything. Do we want to create a ball? We use sprites. Do we want a crate? Still sprite. A character, the ground or any other object? Always sprite, to which, as I anticipated, we will apply the plugin that will determine its behavior. In addition to the sprite we can also insert objects such as boxes to insert text, simple text, functions, AJAX, browser requests, request for multimedia applications such as camera, keyboard input, mouse and touch and others.
In the objects that we can use, we can define numerical, text or Boolean variables or, alternatively, we can define them globally, that is, they do not depend on the single object and therefore applicable to multiple objects. To these we can also add dozens and dozens of available optical effects that simulate water, spheres, moving particles .. finally we can collect objects (similar to each other) in groups (Families) so you can avoid writing multiple equal events for different objects. This however, together with other features, is only available in the paid version of Construct (about 100 € the personal version) as well as the events, which are limited to a maximum of 100 in the free version. However, even with these limitations it is possible to create trivial games and there are many examples both on the Construct site, Scirra.com, which in Construct, launchable once installed. You can also try them from the links I leave you at the end of the article.
So let's say that the requirements to develop a game with Construct are 2: to know English so that we can understand the various tutorials on the site and some knowledge of mathematics. In fact, even if it is not difficult to create games, Construct supports many mathematical functions (such as sine and cosine), useful for creating any and therefore also something complex, for example a spring or an elastic for a catapult.
But we come to the most important feature for which I find the application really interesting: the export of the project (game). That is, we create our game, a single project, which, however, is exportable by all platforms! So with Construct 2 we can create games for Android, Linux, Windows, Mac, iOS, Windows Phone, Tizen, Blackberry, Windows 8, Facebook, Browser, Kongregate, Chrome web store, the Mozilla market and surely will also support Ubuntu touch.
However, as far as Android and iOS are concerned, they are not natively supported (although support for Android has recently started), but applications must be used to compile the apk. The services supported are Phonegap and CooconJS and with the last one the operation to compile is very simple, moreover it optimizes the game, also increasing the fluidity and supports the ads so as to also be able to earn. Finally in the export phase it is also possible to minimize (using Java) your own file, making it smaller in size but more complicated to decompile. Last but not least, updates are frequent (between stable and beta versions) and on the official forum users are very available.
To demonstrate the simplicity of this application, I wanted to create a game, done in a few days, which refers to Flappy Bird, where instead of surviving the bird, you have to kill as many as you can! Below you will find links to this game, which I called "Kill that bird", to some examples and to download Construct 2 in a free version.
If the program is of interest to you, I could publish tutorials and various guides, let me know in the comments!