"HTML5 is the future of the gaming industry." Interview with the creators of the Construct framework
Tom Gallen and Ashley Gallen are the brothers, founders of Scirra and the creators of the Construct framework, with which anyone can create a game, even without programming knowledge. Construct Classic is distributed free of charge with open sources and is designed to create DirectX-games (there is an SDK and support for plugins in C ++). On its basis, shareware Construct 2 for HTML5 games is made, where Box2D is used as an engine. For a description, see the article "Development of 2D games for Windows and HTML5 without programming . " The founders of Scirra noticed the interest of the Habr audience in their development and readily answered the questions of the habragers . Original interview in English. lies here just in case.
Basically, Tom Gallen answered the questions, but he asked to note that Ashley helped him.
- When did you decide to make an HTML5 game designer and why? Do you play mobile games yourself? Do you think the future of the gaming industry is on a mobile platform?
- Actually, Construct was originally designed for export in several formats. This means that you can connect other modules to it for export. We started with HTML5 because it is the most exciting new technology that we absolutely believe in, and it will be the most popular on the market. Over the past couple of months, when Construct 2 was being finalized, we saw that HTML5 has come a long way. Our main goal right now is to make Construct 2 the de facto standard as a game HTML5 editor that does not require programming. When we achieve this goal, we can look at other export modules, but we think that as HTML5 develops, the need for other export formats will become less important. We really believe that it’s obvious now: HTML5 is the future of the gaming industry.
As for playing mobile games, yes it does! Although we don’t really have much time right now, we’re very busy, because the two of us are the only full-time employees at Scirra. We are working on an HTML5 arcade that has recently been released and which is gaining popularity, and between ourselves we try and play all the games that are downloaded to us. My favorite so far has been Project Blaze Zero . We are very pleased to see the different types of games that are created using our tool, and to see that it is used for its intended purpose!
The mobile platform definitely has a great future for the gaming industry. For the first time in a long time, we see people of all ages playing games. They are extremely accessible, fun, and fast-paced. The monetization of HTML5 games is still a new area, but we expect many new features in this area as technology improves.
- Why DirectX, and not OpenGL?
- Construct 2 actually already uses OpenGL instead of DirectX. DirectX works only under Windows, so we switched to OpenGL, so that in the future it would be easier to port Construct 2 to other platforms. However, we do not have such plans yet - we first want to finish the Windows version!
Our games also use WebGL (OpenGL in the browser) for super-fast rendering with hardware acceleration. It is two to three times faster than regular 2D canvas.
- Do you have plans to port Construct 2 to other platforms besides Windows?
- Construct 2 was designed for Windows because Ashley had the most programming experience here after working with Construct Classic. But we received positive feedback from users about the successful experience of using Construct 2 on virtual machines on Mac and Linux (although we do not officially support these OSs).
For other operating systems, we have some promising plans that we may begin to implement in 2012. I'm afraid so far I can’t divulge the details. :) We are fully aware that people need this for Construct 2, we receive a lot of letters to this effect. But for now, the goal is to ensure the best performance of Construct 2 on PC.
- What functionality do you plan to add?
- We just released particle effects, you can watch some demos here:
www.scirra.com/labs/particlesdemo
www.scirra.com/labs/particlethruster
As far as we know, we have the first non-programmatic game engine that officially supports particle effects in HTML5. I can’t wait to see how it is used in real projects, with it you can create really, truly beautiful games!
- Will drag'n'drop be fully supported?
- Release 78 supports, among other things, the official drag'n'drop behavior, which should satisfy everyone.
- Will there be Russian localization?
- Because we ourselves are English-speaking, and also because of different time restrictions, the project was created only in English. However, when it is ready, we plan to add XML language files, so everyone can translate the entire Construct 2 entirely into their own language! We will be happy to do this, but first you need to finish work on Construct 2, because adding localizations is much more complicated than it seems. We well know that the Russian market is huge and a significant part of the traffic to us comes from Russia! We want to further please the Russian audience, non-English speaking countries are often neglected in software, and we do not want to fall into this simple trap. Expect significant progress here this year.
- Is there any hope for an increase in the performance of HTML5 games?
- Definitely! Every month, HTML5 improves very quickly. For example, only today (at the time of the interview - approx. Per.) Google released Chrome for Android, this is great news. I think WebGL this year is also likely to run on more devices. Of course, there is still a lot of room for improvement, but HTML5 is clearly on the way to catching up and even surpassing other technologies like Flash.
—How complex games can you build with Construct 2? What genres is the designer focused on?
- Construct 2 is suitable for literally any genre of 2D games! We have not yet encountered very complex games, because Construct 2 is still quite new, but Construct 2 is capable of much, as long as the events are neat. :)
- Will you add the behaviors from the previous Classic Construct to Construct 2? We are talking about such behaviors as Line of Sight, RTS, Turret, Bone Movement.
- Yes, absolutely, we hope that Construct 2 completely replaces Construct Classic. However, Classic was made for 3-4 years by a team of several people, and we started from scratch with a small team. We seriously intend to add all these behaviors, it’s just a lot of work for us. We hope that in time we will do everything!
- Will there be support for the social component - Facebook, Twitter, etc., as well as support for InApp purchases using at least the same PayPal?
- We well know that social functionality and InApp purchases are important for professional users to monetize their games and help spread them in a viral way. We are working on excellent projects in this area, which are due to appear later this year!
- How much on average is the size of the executable file obtained with your tools larger (if at all more) than executable files? obtained by conventional coding for the same game? Are relevant optimization work underway? What programming languages are the proposed game constructors written in?
- The editor is written in C ++, and games are encoded in Javascript. Since Construct 2 has wide functionality, an empty project after minification comes out with a size of about 65 KB, which is less than the current version of jQuery (92 KB), so this should not be a problem. In addition, since we have implemented many functions, such as automatic detection of collisions, this is entirely justified. Construct 2 also has a modular design, so any plugins or behaviors that you don’t use are not included in the script, which helps save space. Using a framework usually means a bit more code, but since it allows you to create games so much easier and faster, in the end it's better. We don’t want to make it too bloated, so I think staying less than jQuery is a good goal.
- Do development methodologies from the Agile family work for open source, given that they are nevertheless focused on face-to-face communication? (Finally, there is the opportunity to ask a person in a live open source project!)
- We are such a small team that we really cannot comment on software development on a large scale. At the same time, we truly believe that face-to-face communication is important for effective work. Another good thing is skype communication so that everyone is in the know. In general, our development methodology is probably best described as “working a lot”!
- Is it possible to make the output more readable js-code (before minification) for manual completion?
- When you export a project to Construct 2, you can refuse the minification of the Closure Compiler. However, using a large non-programmer framework like Construct 2 by definition usually means that the output code is not very useful for programmers. This is not something you would like to work with. If you are a programmer, look at our Javascript Plugin SDK, which allows you to add your own code and integrate it with Construct 2 - this method works much better than trying to edit the output code.
- What do you think of Russian programmers? :)
- Russia gives the impression of a country that is very interested in technology and programming, which is great, this is reflected in the large number of visitors who come to us from Russia! One of my good friends is Russian, he has a younger brother for only about eight years, and when I came to visit them, he played with Construct 2 and made his own games, and asked me many questions about how the system works Security in Construct 2! We are also very impressed with the nginx server, which was written by Igor Sysoev. Russian programmers clearly know what they are doing!