Beta versions are not as thoroughly tested as stable
Tiled background tile randomization; increase free edition scripting limits; new script APIs & more
06 December, 2022 ()
Email Me New Releases
Don't miss out on the latest and greatest new features in Construct 3
Notes
This release introduces a useful new feature for Tiled Background! Tile randomization is a new option you can enable that will randomly offset and rotate each tile, while blending the edges to keep a seamless appearance. With the right art style this is a great way to break up repetitive tiling. This option is built-in to the Tiled Background object, and a similar result can be achieved for other kinds of content with the new 'Randomize tiling' effect.
We're also pleased to increase the free edition scripting limits! Previously you could only go up to 75 lines of code (50 as a guest) with the free edition, with further limits on the number of script files and scripts in event sheets. We're now increasing this to 500 lines of code in the project (250 as a guest) with no other limits on number of script files or scripts in event sheets. Construct now has fantastic support for coding which is highly competitive with other tools, and we're excited to allow more people to try out the impressive features and performance of JavaScript coding in Construct with the increased free edition limits.
Other updates include a wide range of new script APIs to set or get pairs of values at once for convenience. For example as well as setting and getting the X and Y positions of instances individually, you can now also use setPosition() and getPosition() to set and get both at the same time. There are also some new options for timelines, tweens and the Animations Editor. The Properties Bar can now autocomplete string instance variable values in a similar way as when typing expressions. And as ever there are some bug fixes.
Last but not least, developers interested in writing custom effects can now write WebGL 2 variants of their shaders, as well as making use of some new WebGL 1 extensions. This allows taking advantage of more advanced shader features where supported. We'll be updating the effect SDK and publishing some preliminary documentation shortly to help developers get started with that.
Like this Release?
Let us know with a thumbs up!
Launch r321
New Features
Tiled Background: tile randomization option to break up repetitive appearance
New Additions
Timelines: option to change Sprite animations via 'Initial animation' property
Tween behaviour: add 'Repeat count' option
Animations editor: option to resize all animations in an object type
New 'Randomize tiling' effect
Project statistics dialog: add total lines of JavaScript code
Account dialog: add allowed lines of JavaScript code when using free edition
Properties Bar: suggest string instance variable property values (similar to expression autocomplete)
Changes
Increase free edition scripting limits to 250 total lines of code in project for guests, or 500 if logged in, with no other restrictions
Layout view: don't show polygons of Sprite instances with disabled collisions
Bug Fixes
Event sheet view: could incorrectly leave behind references to deleted objects if used with a call function expression
Layout View: use project near/far distance, and set minimum/maximum zoom levels accordingly
Expressions dictionary: did not always resize correctly on first show
Tweens: minor error produced by some easing functions (regression r310)
Timelines: runtime crash using 'keyframe reached' conditions (regression r319)
Hierarchies: possible crash when saving a hierarchy that was generated at runtime
Tilemap brush editor: crash setting tiles 45 and 47 of a 47 tile auto tiling brush (regression r320)
Performance Improvements
Somewhat improve performance of autocomplete in very large projects
SDK updates
Add support for WebGL 2 shader variants for effects
Enable WebGL 1 extensions OES_standard_derivatives and EXT_shader_texture_lod (where available)
Add editor setting to limit editor/preview to WebGL 1, to help test shader variants
Add effect category "tiling"
Scripting updates
Add ILOSBehaviorRay methods getHitPosition(), getNormal(), getReflection()
Add setVector(), getVector() methods for 8 Direction, Car & Platform interfaces
Add IPathfindingBehaviorInstance.nodes() iterator
Add IAnimationFrame.getOrigin(), IImageInfo.getSize()
Add ILayer.getScrollPosition(), ILayout.getScrollPosition()
Add ILayout methods setSize(), getSize()
Add IWorldInstance methods setPosition(), getPosition(), setSize(), getSize()
Add IRuntime.getViewportSize()
Add getImageSize() for Sprite & Tiled Background interfaces
Add getTextSize() for Text & Sprite Font interfaces
Add ITiledBackgroundInstance methods setImageOffset(), getImageOffset(), setImageScale(), getImageScale()
Add ITilemapInstance methods getMapSize(), getMapDisplaySize(), getTileSize()
Add IDrawingCanvasInstance method getSurfaceDeviceSize()
Add "repeatCount" to the options available when starting a tween
Share Construct 3 Release r321 Now