Construct 2 makes HTML5 games. These run online in a web browser on a wide variety of different devices and operating systems, including on mobile devices like phones and tablets, ensuring your game is accessible to as many people as possible. This section is a summary of the technology involved. It is probably of more interest to technically-minded people and can be skipped if you are more interested in the details of how to use Construct 2.
Despite the fact that Construct 2 games can be ported to a variety of different platforms even as "native" apps, the underlying technology is still a HTML5-based engine.
Of particular interest in HTML5 is the newly introduced <canvas> tag. This creates a rectangular surface in a HTML web page where any images or content can be drawn. This makes it ideal for games. All Construct 2 games use the HTML5 canvas to display the game.
HTML5 is comparable to Adobe's Flash technology which dominated the internet for gaming prior to 2011. HTML5 differs in being an industry-agreed standard, rather than a product controlled by a single company like Adobe. Flash also runs as a browser plugin, which must be separately downloaded and installed, whereas HTML5 is built in to the browser. This also means HTML5 games can run on devices where there is no Flash support, such as iPhones and iPads. Given its advantages, HTML5 will eventually replace Flash on the web.
Plugin and Behavior SDK
The HTML5 <canvas> tag supports two different ways to draw the game to the web page: a simple 2D context, and the WebGL context, based on OpenGL ES. WebGL is usually significantly faster than the 2D context and has more features, including supporting effects, but is not always supported. Construct 2 supports both technologies for rendering the game. WebGL can be enabled or disabled for each game in Project Properties. Generally it is advisable to have it enabled, since the game will probably run a lot faster in WebGL mode, and effects cannot work without it. If WebGL is not supported by a user's computer or device, or it is disabled, Construct 2 will fall back to the 2D context instead. In this case the game can continue to be played, but it might run a bit slower and not look as good. You can check which renderer is in use in the game itself with the system expression renderer, which returns either "canvas2d" or "webgl".
Obfuscation and minification
The game images are compressed in PNG format. They are also further compressed when exporting to ensure the download is as small as possible. For more information, see this blog post on Image compression in Construct 2.
Construct 2's game engine supports the Web Audio API for reliable low-latency playback of sound effects. When not supported the standard HTML5 <audio> tag is used instead.
Despite the fact HTML5 games run in a web browser, Construct 2 games use the HTML5 AppCache to allow them to run offline as well. This is very useful for iOS web apps and Chrome Web Store apps, since some users may be offline when running the game. Also, the AppCache helps save bandwidth on servers which host the games: the game files will only ever be downloaded once, and every visit after that the game will be loaded locally from disk (while checking for an update in the background). See the tutorial on offline support in Construct 2 for more information. The most important point is your server must be set up to serve .appcache files with the MIME type text/cache-manifest.