Don't Miss Out

Follow us now so you don't miss new releases!


Construct 2 Release r51

This is an old Beta release! Download the latest Beta release instead here.
Download

17 mb, Windows 8/Windows 7/Vista/XP

Monday, August 22, 2011

In this release, we've finally introduced the licensing system as well as the Construct 2 Free Edition. Previously all the test builds had a 90 day timeout on them. Now, instead, we'll be distributing the Free edition. It has no timeout, but some limits on functionality. You can find out more about how it works in How Construct 2 licenses work.

New this build is also a really cool new action: the Wait action. This allows you to schedule events. I've written a tutorial on how the wait action works. It's really handy!

The Javascript runtime has also been significantly revised. It's now smaller, faster, and harder to decompile. Scripts are more tightly minified with the Google Closure Compiler and are now about 30% smaller. It also uses modern Javascript features to indicate to the browser it can optimise more aggressively. Finally, it's fully obfuscated: all names that appear in the script are mangled (as an example, Sprite.SetX might now turn in to p.Ea). This should make it very, very difficult for anybody to manually or automatically decompile your exported games. (I won't say impossible, since there are some pretty clever people out there, but it should be extremely difficult.)

Special thanks to Counterfeit for reporting many of the bugs fixed in this release! This is one of the biggest new releases of Construct 2 ever, so if anything else has been broken, please post a bug report and be patient - we'll try to get it fixed ASAP.

Changelog

Feature

Free edition & early-adopter licensing

Feature

Smaller, faster, obfuscated Javascript runtime

Feature

System: 'Wait' action for event scheduling

Add

'Examples' directory in install folder, with 22 examples of C2 features, aimed at beginners. Worth browsing if you're new. Hopefully will be exposed in the editor in future.

Add

New loading screen. Previously said "Loading (50%...)". Now it is the HTML5 logo with a progress bar. You can also change the image by exporting then changing logo.png.

Add

System: set layer scale, get layer scale. Zoom layers dynamically at runtime in the HTML5 canvas. (Watch out for this bug I discovered in IE9/10.)

Add

Mouse and Touch objects: the X and Y expressions now optionally take a layer, e.g. Mouse.X("Background"), and return the mouse position for that layer (taking in to account its parallax and scale). Used without a layer (e.g. just Mouse.X) returns the position as if the scale and parallax are 1.0.

Add

Layout property: unbounded scrolling. Useful to set when zooming so the layout edges don't stop the zoom.

Add

Audio object: stop, set volume, set muted, set playback rate, preload file. Watch out for patchy support in browsers.

Add

F5 keyboard shortcut to preview layout

Add

Event count in status bar

Add

Platform and 8-direction movements: 'default controls' property (yes/no) and a 'simulate control' action. You can customise movement controls by setting 'default controls' to 'no' then calling 'simulate control' actions in any keyboard/touch/whatever event you like. This also allows you to make enemy AIs based on the movements by automatically controlling them.

Add

Platform movement: can now handle slopes and moving platforms. There's also no Classic-style teleporting if you get trapped - you'll just be temporarily stuck if a solid block falls on your head.

Add

Animation frames pane: right click and 'Import frames' to quickly add a sequence of image files as an animation. You can also pick a GIF animation and it will import all the frames from the GIF.

Add

Animation frames pane: right click and 'Import sprite strip'. If you have a PNG with a strip or a grid of animation frames on it, this will automatically chop it up in to animation frames for you.

Change

If you drag multiple image files in to C2, previously it created a different Sprite for each image dragged. Now it creates a single Sprite with an initial animation based on the dragged frames. (Also now supports dragging in GIF animations.)

Change

Javascript runtime: uses 'requestAnimationFrame' where available for better performance. (Safari definitely seems less choppy with this.)

Change

Object panel auto-sizes columns to fit all text now, so neither expressions nor their descriptions are truncated with "..."

Change

Altered the way C2 creates temporary directories, to try and avoid sporadic "failed to create temp directory" errors.

Change

Merged the behavior categories 'automatic movements' and 'player movements' in to just 'movements'.

Change

Exported projects fall back to loading a local jQuery if the CDN is not available.

Change

Exported projects use Google Chrome Frame if installed on IE8 and below, so your games will work with this setup.

Change

C2 sometimes used ANSI encoding in its text-based files (XML, Javascript, HTML...), which can cause characters to become garbled if transferred to a different langauage system. C2 now strictly only uses UTF-8 files which should work the same everywhere.

Bug Fix

Some fixes in the OpenGL engine internals. Hopefully this fixes the last of the 'layout not appearing' bugs.

Bug Fix

Project bar: Sound and music icons sometimes went blank.

Bug Fix

'Compare opacity' didn't work.

Bug Fix

Some issues with Save As.

Bug Fix

Issues deleting things from the project with no tabs open.

Bug Fix

Object bar: delete and F2 keyboard shortcuts didn't work on object folders

Bug Fix

Crash resizing the main window too small

Bug Fix

Some issues using the configurations bar, and a crash clicking it when no project open

Bug Fix

Layer properties still showed in properties bar after being deleted

Bug Fix

Pressing delete while renaming a layer tried to delete the layer

Bug Fix

Layer bar: minor issue with toolbar not highlighting correctly

Bug Fix

Snap to grid: could enter zero grid size which messed up object positions. Min grid size is now 1

Bug Fix

Entering URLs in to the Open dialog tried to open a web page!

Bug Fix

Platform movement: 'Set max fall speed' didn't work

Bug Fix

Properties bar: typing text in to a number instance variable's value set it to a random number

Bug Fix

Animations editor: possible check failure deleting animation.

Bug Fix

HTML5 exporter: no longer creates an images subfolder if project does not have any images

Bug Fix

Project bar: delete key had some odd behavior

Bug Fix

Import audio dialog: check failure if all files failed to import

Bug Fix

Keyboard object: the browser's default behavior for key presses is now suppressed if an event exists for a key press. For example some browsers scroll down when you press spacebar. If you have an 'on spacebar pressed' event, this now prevents the scrolling. If you don't have an event, the browser will still scroll.

Bug Fix

Closing the animations editor for new sprites switched the properties bar to project properties. It now shows the sprite's properties.

Bug Fix

Crash dragging and dropping a folder in to the main editor window.

Bug Fix

Deleting an Array object then saving could save an unopenable project.

Bug Fix

Check failure copying or cloning an object with the animations editor up.

Bug Fix

Some ribbon shortcuts were duplicated.

Bug Fix

Audio object: clicking 'back' on the 'Play' action could crash

Bug Fix

The CAPX reader is now compatible with Windows ZIP files. This means you can convert a project to a single .capx file by zipping the project folder in Windows and changing the .zip extension to .capx.

Bug Fix

Couldn't undo comment edits.

Bug Fix

Project bar: often scrolled to the top after dragging things around.

SDK

Plugin change: all ACEs must be defined with cnd.Routine notation instead of cnd["Routine"] notation.

SDK

The runtime now seals objects after all their initialisation methods have been called, for better optimisation with modern javascript engines. This means you have to make sure members are initialised to something (at least null) if they are ever used.

SDK

Plugins must access their edittime properties at runtime by index rather than by name (this.properties[0], this.properties[1]... rather than this.properties["Effect"] etc). Also, combo properties return the item index selected rather than the item text. This was done to avoid redundancy in the exported data.

SDK

runtime.trigger() now takes a reference to the trigger condition (e.g. cr.plugins.Mouse.prototype.cnds.OnClick) instead of the method name as a string (e.g. "OnClick").

SDK

Plugins must be written to be compatible with Google Closure Compiler's ADVANCED_OPTIMIZATIONS mode to export correctly.

SDK

"cr.plugins" has been renamed to "cr.plugins_" (trailing underscore) for better name mangling.


Comments

4
zenox98 54.8k rep

Just have to try out my shiny new license :)

Monday, August 22, 2011 at 8:41:37 PM
4
shinkan 34.6k rep

If i say awesome, i'm affraid it won't be enough

Monday, August 22, 2011 at 8:42:22 PM
2
gammabeam 13.3k rep

OMG! I'm grabbing this in a few hours! XD

Monday, August 22, 2011 at 8:43:47 PM
3
Kiyoshi 13.3k rep

Man, this is epic. Behold! It's the dawn of a new era for games !!!!

Monday, August 22, 2011 at 10:40:56 PM
3
PixelRebirth 7,510 rep

Great release! I'm a proud owner of an early-adopter license now, yay!

Monday, August 22, 2011 at 11:03:09 PM
2
onzephyr 9,937 rep

Congratulations on the release. Proud to get an early-adopter license and support all the effort. Keep it up.

Tuesday, August 23, 2011 at 1:13:37 AM
2
Ethan 12.0k rep

Wow thats an epic changelog.

Tuesday, August 23, 2011 at 2:20:40 PM
2
Counterfeit 5,220 rep

Wohoo I mentioned! :-) I'm also a proud owner of a license now, thank you Ashley.

Tuesday, August 23, 2011 at 8:31:58 PM
0
cow_trix 9,334 rep

Still getting the "layout not appearing" bug :(

ATi Mobility Radeon HD 5650

Wednesday, August 24, 2011 at 10:02:40 AM

Leave a comment

Everyone is welcome to leave their thoughts! Register a new account or login.